GNU Octave  3.8.0
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Functions
mx-inlines.cc File Reference
#include <cstddef>
#include <cmath>
#include <memory>
#include "quit.h"
#include "oct-cmplx.h"
#include "oct-locbuf.h"
#include "oct-inttypes.h"
#include "Array.h"
#include "Array-util.h"
#include "bsxfun.h"
Include dependency graph for mx-inlines.cc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define DEFMINMAXSPEC(T, F, OP)
#define DEFMXBINOP(F, OP)
#define DEFMXBINOPEQ(F, OP)
#define DEFMXBOOLOP(F, NOT1, OP, NOT2)
#define DEFMXBOOLOPEQ(F, OP)
#define DEFMXCMPOP(F, OP)
#define DEFMXMAPPER(F, FUN)
#define DEFMXMAPPER2(F, FUN)
#define DEFMXMAPPER2X(F, FUN)
#define DEFMXUNBOOLOP(F, OP)
#define DEFMXUNOP(F, OP)
#define DEFMXUNOPEQ(F, OP)
#define octave_mx_inlines_h   1
#define OP_CUM_FCN(F, TSRC, TRES, OP)
#define OP_CUM_FCN2(F, TSRC, TRES, OP)
#define OP_CUM_FCNN(F, TSRC, TRES)
#define OP_CUMMINMAX_FCN(F, OP)
#define OP_CUMMINMAX_FCN2(F, OP)
#define OP_CUMMINMAX_FCNN(F)
#define OP_MINMAX_FCN(F, OP)
#define OP_MINMAX_FCN2(F, OP)
#define OP_MINMAX_FCNN(F)
#define OP_RED_ALLC(ac, el)   if (xis_false (el)) { ac = false; break; } else continue
#define OP_RED_ALLR(ac, el)   ac &= xis_true (el)
#define OP_RED_ANYC(ac, el)   if (xis_true (el)) { ac = true; break; } else continue
#define OP_RED_ANYR(ac, el)   ac |= xis_true (el)
#define OP_RED_FCN(F, TSRC, TRES, OP, ZERO)
#define OP_RED_FCNN(F, TSRC, TRES)
#define OP_RED_PROD(ac, el)   ac *= el
#define OP_RED_SUM(ac, el)   ac += el
#define OP_RED_SUMSQ(ac, el)   ac += el*el
#define OP_RED_SUMSQC(ac, el)   ac += cabsq (el)
#define OP_ROW_SHORT_CIRCUIT(F, PRED, ZERO)
#define PROMOTE_DOUBLE(T)   typename subst_template_param<std::complex, T, double>::type

Functions

template<class T >
cabsq (const std::complex< T > &c)
template<class R , class X , class Y >
Array< R > do_mm_binary_op (const Array< X > &x, const Array< Y > &y, void(*op)(size_t, R *, const X *, const Y *) throw(), void(*op1)(size_t, R *, X, const Y *) throw(), void(*op2)(size_t, R *, const X *, Y) throw(), const char *opname)
template<class R , class X >
Array< R > & do_mm_inplace_op (Array< R > &r, const Array< X > &x, void(*op)(size_t, R *, const X *) throw(), void(*op1)(size_t, R *, X) throw(), const char *opname)
template<class R , class X , class Y >
Array< R > do_ms_binary_op (const Array< X > &x, const Y &y, void(*op)(size_t, R *, const X *, Y) throw())
template<class R , class X >
Array< R > & do_ms_inplace_op (Array< R > &r, const X &x, void(*op)(size_t, R *, X) throw())
template<class T >
bool do_mx_check (const Array< T > &a, bool(*op)(size_t, const T *) throw())
template<class R , class T >
Array< R > do_mx_cum_op (const Array< T > &src, int dim, void(*mx_cum_op)(const T *, R *, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R >
Array< R > do_mx_cumminmax_op (const Array< R > &src, int dim, void(*mx_cumminmax_op)(const R *, R *, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R >
Array< R > do_mx_cumminmax_op (const Array< R > &src, Array< octave_idx_type > &idx, int dim, void(*mx_cumminmax_op)(const R *, R *, octave_idx_type *, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R >
Array< R > do_mx_diff_op (const Array< R > &src, int dim, octave_idx_type order, void(*mx_diff_op)(const R *, R *, octave_idx_type, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R >
Array< R > & do_mx_inplace_op (Array< R > &r, void(*op)(size_t, R *) throw())
template<class R >
Array< R > do_mx_minmax_op (const Array< R > &src, int dim, void(*mx_minmax_op)(const R *, R *, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R >
Array< R > do_mx_minmax_op (const Array< R > &src, Array< octave_idx_type > &idx, int dim, void(*mx_minmax_op)(const R *, R *, octave_idx_type *, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R , class T >
Array< R > do_mx_red_op (const Array< T > &src, int dim, void(*mx_red_op)(const T *, R *, octave_idx_type, octave_idx_type, octave_idx_type))
template<class R , class X , R fun>
Array< R > do_mx_unary_map (const Array< X > &x)
template<class R , class X >
Array< R > do_mx_unary_op (const Array< X > &x, void(*op)(size_t, R *, const X *) throw())
template<class R , class X , class Y >
Array< R > do_sm_binary_op (const X &x, const Array< Y > &y, void(*op)(size_t, R *, X, const Y *) throw())
template<class T >
void F (const TSRC *v, TRES *r, octave_idx_type m, octave_idx_type n)
void get_extent_triplet (const dim_vector &dims, int &dim, octave_idx_type &l, octave_idx_type &n, octave_idx_type &u)
template<class T >
bool logical_value (T x)
template<class T >
bool logical_value (const std::complex< T > &x)
template<class T >
bool logical_value (const octave_int< T > &x)
template<class R , class X , class Y >
void mx_inline_add (size_t n, R *r, const X *x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_add (size_t n, R *r, X x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_add (size_t n, R *r, const X *x, Y y) throw ()
template<class R , class X >
void mx_inline_add2 (size_t n, R *r, const X *x) throw ()
template<class R , class X >
void mx_inline_add2 (size_t n, R *r, X x) throw ()
template<class T >
bool mx_inline_all (const T *v, octave_idx_type n)
template<class T >
void mx_inline_all (const T *v, bool *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_all (const T *v, bool *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
bool mx_inline_all_finite (size_t n, const T *x) throw ()
template<class T >
bool mx_inline_all_real (size_t n, const std::complex< T > *x) throw ()
template<class X , class Y >
void mx_inline_and (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_and (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_and (size_t n, bool *r, X x, const Y *y) throw ()
template<class X >
void mx_inline_and2 (size_t n, bool *r, const X *x) throw ()
template<class X >
void mx_inline_and2 (size_t n, bool *r, X x) throw ()
template<class X , class Y >
void mx_inline_and_not (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_and_not (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_and_not (size_t n, bool *r, X x, const Y *y) throw ()
template<class T >
bool mx_inline_any (const T *v, octave_idx_type n)
template<class T >
void mx_inline_any (const T *v, bool *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_any (const T *v, bool *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
bool mx_inline_any_nan (size_t n, const T *x) throw ()
template<class T >
bool mx_inline_any_negative (size_t n, const T *x) throw ()
template<class T >
bool mx_inline_any_positive (size_t n, const T *x) throw ()
template<class T >
mx_inline_count (const bool *v, octave_idx_type n)
template<class T >
void mx_inline_count (const bool *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cumcount (const bool *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_cumcount (const bool *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cumcount (const bool *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cummax (const T *v, T *r, octave_idx_type *ri, octave_idx_type n)
template<class T >
void mx_inline_cummax (const T *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_cummax (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cummax (const T *v, T *r, octave_idx_type *ri, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cummax (const T *v, T *r, octave_idx_type *ri, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cummax (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cummin (const T *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_cummin (const T *v, T *r, octave_idx_type *ri, octave_idx_type n)
template<class T >
void mx_inline_cummin (const T *v, T *r, octave_idx_type *ri, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cummin (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cummin (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cummin (const T *v, T *r, octave_idx_type *ri, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cumprod (const T *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_cumprod (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cumprod (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_cumsum (const T *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_cumsum (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_cumsum (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_diff (const T *v, T *r, octave_idx_type n, octave_idx_type order)
template<class T >
void mx_inline_diff (const T *v, T *r, octave_idx_type m, octave_idx_type n, octave_idx_type order)
template<class T >
void mx_inline_diff (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u, octave_idx_type order)
template<class R , class X , class Y >
void mx_inline_div (size_t n, R *r, X x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_div (size_t n, R *r, const X *x, Y y) throw ()
template<class R , class X , class Y >
void mx_inline_div (size_t n, R *r, const X *x, const Y *y) throw ()
template<class R , class X >
void mx_inline_div2 (size_t n, R *r, X x) throw ()
template<class R , class X >
void mx_inline_div2 (size_t n, R *r, const X *x) throw ()
template<class T >
subst_template_param
< std::complex, T, double >
::type 
mx_inline_dsum (const T *v, octave_idx_type n)
template<class T >
void mx_inline_dsum (const T *v, typename subst_template_param< std::complex, T, double >::type *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class X , class Y >
void mx_inline_eq (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_eq (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_eq (size_t n, bool *r, X x, const Y *y) throw ()
template<class T1 , class T2 >
bool mx_inline_equal (size_t n, const T1 *x, const T2 *y) throw ()
template<class R , class S >
void mx_inline_fill (size_t n, R *r, S s) throw ()
template<class X , class Y >
void mx_inline_ge (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_ge (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_ge (size_t n, bool *r, X x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_gt (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_gt (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_gt (size_t n, bool *r, X x, const Y *y) throw ()
template<class T >
void mx_inline_imag (size_t n, T *r, const std::complex< T > *x) throw ()
template<class X >
void mx_inline_iszero (size_t n, bool *r, const X *x) throw ()
template<class X , class Y >
void mx_inline_le (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_le (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_le (size_t n, bool *r, X x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_lt (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_lt (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_lt (size_t n, bool *r, X x, const Y *y) throw ()
template<class R , class X , R fun>
void mx_inline_map (size_t n, R *r, const X *x) throw ()
template<class T >
void mx_inline_max (const T *v, T *r, octave_idx_type *ri, octave_idx_type n)
template<class T >
void mx_inline_max (const T *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_max (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_max (const T *v, T *r, octave_idx_type *ri, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_max (const T *v, T *r, octave_idx_type *ri, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_max (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_min (const T *v, T *r, octave_idx_type n)
template<class T >
void mx_inline_min (const T *v, T *r, octave_idx_type *ri, octave_idx_type n)
template<class T >
void mx_inline_min (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_min (const T *v, T *r, octave_idx_type *ri, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_min (const T *v, T *r, octave_idx_type *ri, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_min (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class R , class X , class Y >
void mx_inline_mul (size_t n, R *r, const X *x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_mul (size_t n, R *r, const X *x, Y y) throw ()
template<class R , class X , class Y >
void mx_inline_mul (size_t n, R *r, X x, const Y *y) throw ()
template<class R , class X >
void mx_inline_mul2 (size_t n, R *r, const X *x) throw ()
template<class R , class X >
void mx_inline_mul2 (size_t n, R *r, X x) throw ()
template<class X , class Y >
void mx_inline_ne (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_ne (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_ne (size_t n, bool *r, X x, const Y *y) throw ()
template<class X >
void mx_inline_not (size_t n, bool *r, const X *x) throw ()
void mx_inline_not2 (size_t n, bool *r) throw ()
template<class X , class Y >
void mx_inline_not_and (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_not_and (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_not_and (size_t n, bool *r, X x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_not_or (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_not_or (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_not_or (size_t n, bool *r, X x, const Y *y) throw ()
template<class X >
void mx_inline_notzero (size_t n, bool *r, const X *x) throw ()
template<class X , class Y >
void mx_inline_or (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_or (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_or (size_t n, bool *r, X x, const Y *y) throw ()
template<class X >
void mx_inline_or2 (size_t n, bool *r, X x) throw ()
template<class X >
void mx_inline_or2 (size_t n, bool *r, const X *x) throw ()
template<class X , class Y >
void mx_inline_or_not (size_t n, bool *r, const X *x, const Y *y) throw ()
template<class X , class Y >
void mx_inline_or_not (size_t n, bool *r, const X *x, Y y) throw ()
template<class X , class Y >
void mx_inline_or_not (size_t n, bool *r, X x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_pow (size_t n, R *r, X x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_pow (size_t n, R *r, const X *x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_pow (size_t n, R *r, const X *x, Y y) throw ()
template<class T >
mx_inline_prod (const T *v, octave_idx_type n)
template<class T >
void mx_inline_prod (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_real (size_t n, T *r, const std::complex< T > *x) throw ()
template<class R , class X , class Y >
void mx_inline_sub (size_t n, R *r, X x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_sub (size_t n, R *r, const X *x, const Y *y) throw ()
template<class R , class X , class Y >
void mx_inline_sub (size_t n, R *r, const X *x, Y y) throw ()
template<class R , class X >
void mx_inline_sub2 (size_t n, R *r, X x) throw ()
template<class R , class X >
void mx_inline_sub2 (size_t n, R *r, const X *x) throw ()
template<class T >
mx_inline_sum (const T *v, octave_idx_type n)
template<class T >
void mx_inline_sum (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
mx_inline_sumsq (const std::complex< T > *v, octave_idx_type n)
template<class T >
mx_inline_sumsq (const T *v, octave_idx_type n)
template<class T >
void mx_inline_sumsq (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class T >
void mx_inline_sumsq (const std::complex< T > *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
template<class R , class X >
void mx_inline_uminus (size_t n, R *r, const X *x) throw ()
template<class R >
void mx_inline_uminus2 (size_t n, R *r) throw ()
template<class T >
void mx_inline_xmax (size_t n, T *r, const T *x, const T *y) throw ()
template<class T >
void mx_inline_xmax (size_t n, T *r, T x, const T *y) throw ()
template<class T >
void mx_inline_xmax (size_t n, T *r, const T *x, T y) throw ()
template<>
void mx_inline_xmax< double > (size_t n, double *r, const double *x, double y) throw ()
template<>
void mx_inline_xmax< double > (size_t n, double *r, double x, const double *y) throw ()
template<>
void mx_inline_xmax< float > (size_t n, float *r, const float *x, float y) throw ()
template<>
void mx_inline_xmax< float > (size_t n, float *r, float x, const float *y) throw ()
template<class T >
void mx_inline_xmin (size_t n, T *r, T x, const T *y) throw ()
template<class T >
void mx_inline_xmin (size_t n, T *r, const T *x, T y) throw ()
template<class T >
void mx_inline_xmin (size_t n, T *r, const T *x, const T *y) throw ()
template<>
void mx_inline_xmin< double > (size_t n, double *r, const double *x, double y) throw ()
template<>
void mx_inline_xmin< double > (size_t n, double *r, double x, const double *y) throw ()
template<>
void mx_inline_xmin< float > (size_t n, float *r, const float *x, float y) throw ()
template<>
void mx_inline_xmin< float > (size_t n, float *r, float x, const float *y) throw ()
template<class T >
mx_inline_xsum (const T *v, octave_idx_type n)
template<class T >
void mx_inline_xsum (const T *v, T *r, octave_idx_type m, octave_idx_type n)
template<class T >
void mx_inline_xsum (const T *v, T *r, octave_idx_type l, octave_idx_type n, octave_idx_type u)
void op_dble_sum (double &ac, float el)
void op_dble_sum (Complex &ac, const FloatComplex &el)
template<class T >
void op_dble_sum (double &ac, const octave_int< T > &el)
template<class T >
void twosum_accum (T &s, T &e, const T &x)
template<class T >
bool xis_false (T x)
template<class T >
bool xis_false (const octave_int< T > &x)
bool xis_false (double x)
bool xis_false (float x)
bool xis_false (const Complex &x)
template<class T >
bool xis_true (T x)
template<class T >
bool xis_true (const octave_int< T > &x)
bool xis_true (double x)
bool xis_true (float x)
bool xis_true (const Complex &x)

Macro Definition Documentation

#define DEFMINMAXSPEC (   T,
  F,
  OP 
)
Value:
template <> \
inline void F<T> (size_t n, T *r, const T *x, T y) throw () \
{ \
if (xisnan (y)) \
std::memcpy (r, x, n * sizeof (T)); \
else \
for (size_t i = 0; i < n; i++) r[i] = (x[i] OP y) ? x[i] : y; \
} \
template <> \
inline void F<T> (size_t n, T *r, T x, const T *y) throw () \
{ \
if (xisnan (x)) \
std::memcpy (r, y, n * sizeof (T)); \
else \
for (size_t i = 0; i < n; i++) r[i] = (y[i] OP x) ? y[i] : x; \
}

Definition at line 272 of file mx-inlines.cc.

#define DEFMXBINOP (   F,
  OP 
)
Value:
template <class R, class X, class Y> \
inline void F (size_t n, R *r, const X *x, const Y *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = x[i] OP y[i]; } \
template <class R, class X, class Y> \
inline void F (size_t n, R *r, const X *x, Y y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = x[i] OP y; } \
template <class R, class X, class Y> \
inline void F (size_t n, R *r, X x, const Y *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = x OP y[i]; }

Definition at line 70 of file mx-inlines.cc.

#define DEFMXBINOPEQ (   F,
  OP 
)
Value:
template <class R, class X> \
inline void F (size_t n, R *r, const X *x) throw () \
{ for (size_t i = 0; i < n; i++) r[i] OP x[i]; } \
template <class R, class X> \
inline void F (size_t n, R *r, X x) throw () \
{ for (size_t i = 0; i < n; i++) r[i] OP x; }

Definition at line 86 of file mx-inlines.cc.

#define DEFMXBOOLOP (   F,
  NOT1,
  OP,
  NOT2 
)
Value:
template <class X, class Y> \
inline void F (size_t n, bool *r, const X *x, const Y *y) throw () \
{ \
for (size_t i = 0; i < n; i++) \
r[i] = (NOT1 logical_value (x[i])) OP (NOT2 logical_value (y[i])); \
} \
template <class X, class Y> \
inline void F (size_t n, bool *r, const X *x, Y y) throw () \
{ \
const bool yy = (NOT2 logical_value (y)); \
for (size_t i = 0; i < n; i++) \
r[i] = (NOT1 logical_value (x[i])) OP yy; \
} \
template <class X, class Y> \
inline void F (size_t n, bool *r, X x, const Y *y) throw () \
{ \
const bool xx = (NOT1 logical_value (x)); \
for (size_t i = 0; i < n; i++) \
r[i] = xx OP (NOT2 logical_value (y[i])); \
}

Definition at line 136 of file mx-inlines.cc.

#define DEFMXBOOLOPEQ (   F,
  OP 
)
Value:
template <class X> \
inline void F (size_t n, bool *r, const X *x) throw () \
{ \
for (size_t i = 0; i < n; i++) \
r[i] OP logical_value (x[i]); \
} \
template <class X> \
inline void F (size_t n, bool *r, X x) throw () \
{ for (size_t i = 0; i < n; i++) r[i] OP x; }

Definition at line 165 of file mx-inlines.cc.

#define DEFMXCMPOP (   F,
  OP 
)
Value:
template <class X, class Y> \
inline void F (size_t n, bool *r, const X *x, const Y *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = x[i] OP y[i]; } \
template <class X, class Y> \
inline void F (size_t n, bool *r, const X *x, Y y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = x[i] OP y; } \
template <class X, class Y> \
inline void F (size_t n, bool *r, X x, const Y *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = x OP y[i]; }

Definition at line 99 of file mx-inlines.cc.

#define DEFMXMAPPER (   F,
  FUN 
)
Value:
template <class T> \
inline void F (size_t n, T *r, const T *x) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x[i]); }

Definition at line 244 of file mx-inlines.cc.

#define DEFMXMAPPER2 (   F,
  FUN 
)
Value:
template <class T> \
inline void F (size_t n, T *r, const T *x, const T *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x[i], y[i]); } \
template <class T> \
inline void F (size_t n, T *r, const T *x, T y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x[i], y); } \
template <class T> \
inline void F (size_t n, T *r, T x, const T *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x, y[i]); }

Definition at line 257 of file mx-inlines.cc.

#define DEFMXMAPPER2X (   F,
  FUN 
)
Value:
template <class R, class X, class Y> \
inline void F (size_t n, R *r, const X *x, const Y *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x[i], y[i]); } \
template <class R, class X, class Y> \
inline void F (size_t n, R *r, const X *x, Y y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x[i], y); } \
template <class R, class X, class Y> \
inline void F (size_t n, R *r, X x, const Y *y) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = FUN (x, y[i]); }

Definition at line 296 of file mx-inlines.cc.

#define DEFMXUNBOOLOP (   F,
  OP 
)
Value:
template <class X> \
inline void F (size_t n, bool *r, const X *x) throw () \
{ const X zero = X (); for (size_t i = 0; i < n; i++) r[i] = x[i] OP zero; }

Definition at line 62 of file mx-inlines.cc.

#define DEFMXUNOP (   F,
  OP 
)
Value:
template <class R, class X> \
inline void F (size_t n, R *r, const X *x) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = OP x[i]; }

Definition at line 48 of file mx-inlines.cc.

#define DEFMXUNOPEQ (   F,
  OP 
)
Value:
template <class R> \
inline void F (size_t n, R *r) throw () \
{ for (size_t i = 0; i < n; i++) r[i] = OP r[i]; }

Definition at line 55 of file mx-inlines.cc.

#define octave_mx_inlines_h   1

Definition at line 26 of file mx-inlines.cc.

#define OP_CUM_FCN (   F,
  TSRC,
  TRES,
  OP 
)
Value:
template <class T> \
inline void \
F (const TSRC *v, TRES *r, octave_idx_type n) \
{ \
if (n) \
{ \
TRES t = r[0] = v[0]; \
for (octave_idx_type i = 1; i < n; i++) \
r[i] = t = t OP v[i]; \
} \
}

Definition at line 609 of file mx-inlines.cc.

#define OP_CUM_FCN2 (   F,
  TSRC,
  TRES,
  OP 
)
Value:
template <class T> \
inline void \
F (const TSRC *v, TRES *r, octave_idx_type m, octave_idx_type n) \
{ \
if (n) \
{ \
for (octave_idx_type i = 0; i < m; i++) \
r[i] = v[i]; \
const T *r0 = r; \
for (octave_idx_type j = 1; j < n; j++) \
{ \
r += m; v += m; \
for (octave_idx_type i = 0; i < m; i++) \
r[i] = r0[i] OP v[i]; \
r0 += m; \
} \
} \
}

Definition at line 626 of file mx-inlines.cc.

#define OP_CUM_FCNN (   F,
  TSRC,
  TRES 
)
Value:
template <class T> \
inline void \
F (const TSRC *v, TRES *r, octave_idx_type l, \
{ \
if (l == 1) \
{ \
for (octave_idx_type i = 0; i < u; i++) \
{ \
F (v, r, n); \
v += n; r += n; \
} \
} \
else \
{ \
for (octave_idx_type i = 0; i < u; i++) \
{ \
F (v, r, l, n); \
v += l*n; \
r += l*n; \
} \
} \
}

Definition at line 650 of file mx-inlines.cc.

#define OP_CUMMINMAX_FCN (   F,
  OP 
)

Definition at line 844 of file mx-inlines.cc.

#define OP_CUMMINMAX_FCN2 (   F,
  OP 
)

Definition at line 893 of file mx-inlines.cc.

#define OP_CUMMINMAX_FCNN (   F)

Definition at line 971 of file mx-inlines.cc.

#define OP_MINMAX_FCN (   F,
  OP 
)

Definition at line 679 of file mx-inlines.cc.

#define OP_MINMAX_FCN2 (   F,
  OP 
)

Definition at line 720 of file mx-inlines.cc.

#define OP_MINMAX_FCNN (   F)

Definition at line 791 of file mx-inlines.cc.

#define OP_RED_ALLC (   ac,
  el 
)    if (xis_false (el)) { ac = false; break; } else continue

Definition at line 496 of file mx-inlines.cc.

#define OP_RED_ALLR (   ac,
  el 
)    ac &= xis_true (el)

Definition at line 535 of file mx-inlines.cc.

#define OP_RED_ANYC (   ac,
  el 
)    if (xis_true (el)) { ac = true; break; } else continue

Definition at line 495 of file mx-inlines.cc.

#define OP_RED_ANYR (   ac,
  el 
)    ac |= xis_true (el)

Definition at line 534 of file mx-inlines.cc.

#define OP_RED_FCN (   F,
  TSRC,
  TRES,
  OP,
  ZERO 
)
Value:
template <class T> \
inline TRES \
F (const TSRC* v, octave_idx_type n) \
{ \
TRES ac = ZERO; \
for (octave_idx_type i = 0; i < n; i++) \
OP(ac, v[i]); \
return ac; \
}

Definition at line 498 of file mx-inlines.cc.

#define OP_RED_FCNN (   F,
  TSRC,
  TRES 
)
Value:
template <class T> \
inline void \
F (const TSRC *v, TRES *r, octave_idx_type l, \
{ \
if (l == 1) \
{ \
for (octave_idx_type i = 0; i < u; i++) \
{ \
r[i] = F<T> (v, n); \
v += n; \
} \
} \
else \
{ \
for (octave_idx_type i = 0; i < u; i++) \
{ \
F (v, r, l, n); \
v += l*n; \
r += l; \
} \
} \
}

Definition at line 575 of file mx-inlines.cc.

#define OP_RED_PROD (   ac,
  el 
)    ac *= el

Definition at line 482 of file mx-inlines.cc.

#define OP_RED_SUM (   ac,
  el 
)    ac += el

Definition at line 481 of file mx-inlines.cc.

#define OP_RED_SUMSQ (   ac,
  el 
)    ac += el*el

Definition at line 483 of file mx-inlines.cc.

#define OP_RED_SUMSQC (   ac,
  el 
)    ac += cabsq (el)

Definition at line 484 of file mx-inlines.cc.

#define OP_ROW_SHORT_CIRCUIT (   F,
  PRED,
  ZERO 
)
Value:
template <class T> \
inline void \
F (const T* v, bool *r, octave_idx_type m, octave_idx_type n) \
{ \
if (n <= 8) \
return F ## _r (v, r, m, n); \
\
/* FIXME: it may be sub-optimal to allocate the buffer here. */ \
OCTAVE_LOCAL_BUFFER (octave_idx_type, iact, m); \
for (octave_idx_type i = 0; i < m; i++) iact[i] = i; \
octave_idx_type nact = m; \
for (octave_idx_type j = 0; j < n; j++) \
{ \
for (octave_idx_type i = 0; i < nact; i++) \
{ \
octave_idx_type ia = iact[i]; \
if (! PRED (v[ia])) \
iact[k++] = ia; \
} \
nact = k; \
v += m; \
} \
for (octave_idx_type i = 0; i < m; i++) r[i] = ! ZERO; \
for (octave_idx_type i = 0; i < nact; i++) r[iact[i]] = ZERO; \
}

Definition at line 544 of file mx-inlines.cc.

#define PROMOTE_DOUBLE (   T)    typename subst_template_param<std::complex, T, double>::type

Definition at line 509 of file mx-inlines.cc.

Function Documentation

template<class T >
T cabsq ( const std::complex< T > &  c)
inline

Definition at line 457 of file mx-inlines.cc.

template<class R , class X , class Y >
Array<R> do_mm_binary_op ( const Array< X > &  x,
const Array< Y > &  y,
void(*)(size_t, R *, const X *, const Y *) throw op()  ,
void(*)(size_t, R *, X, const Y *) throw op1()  ,
void(*)(size_t, R *, const X *, Y) throw op2()  ,
const char opname 
)
inline
template<class R , class X >
Array<R>& do_mm_inplace_op ( Array< R > &  r,
const Array< X > &  x,
void(*)(size_t, R *, const X *) throw op()  ,
void(*)(size_t, R *, X) throw op1()  ,
const char opname 
)
inline
template<class R , class X , class Y >
Array<R> do_ms_binary_op ( const Array< X > &  x,
const Y &  y,
void(*)(size_t, R *, const X *, Y) throw op()   
)
inline
template<class R , class X >
Array<R>& do_ms_inplace_op ( Array< R > &  r,
const X &  x,
void(*)(size_t, R *, X) throw op()   
)
inline
template<class T >
bool do_mx_check ( const Array< T > &  a,
bool(*)(size_t, const T *) throw op()   
)
inline

Definition at line 448 of file mx-inlines.cc.

References Array< T >::data(), and Array< T >::numel().

template<class R , class T >
Array<R> do_mx_cum_op ( const Array< T > &  src,
int  dim,
void(*)(const T *, R *, octave_idx_type, octave_idx_type, octave_idx_type mx_cum_op 
)
inline

Definition at line 1189 of file mx-inlines.cc.

template<class R >
Array<R> do_mx_cumminmax_op ( const Array< R > &  src,
int  dim,
void(*)(const R *, R *, octave_idx_type, octave_idx_type, octave_idx_type mx_cumminmax_op 
)
inline

Definition at line 1249 of file mx-inlines.cc.

template<class R >
Array<R> do_mx_cumminmax_op ( const Array< R > &  src,
Array< octave_idx_type > &  idx,
int  dim,
void(*)(const R *, R *, octave_idx_type *, octave_idx_type, octave_idx_type, octave_idx_type mx_cumminmax_op 
)
inline

Definition at line 1265 of file mx-inlines.cc.

template<class R >
Array<R> do_mx_diff_op ( const Array< R > &  src,
int  dim,
octave_idx_type  order,
void(*)(const R *, R *, octave_idx_type, octave_idx_type, octave_idx_type, octave_idx_type mx_diff_op 
)
inline

Definition at line 1284 of file mx-inlines.cc.

template<class R >
Array<R>& do_mx_inplace_op ( Array< R > &  r,
void(*)(size_t, R *) throw op()   
)
inline
template<class R >
Array<R> do_mx_minmax_op ( const Array< R > &  src,
int  dim,
void(*)(const R *, R *, octave_idx_type, octave_idx_type, octave_idx_type mx_minmax_op 
)
inline

Definition at line 1206 of file mx-inlines.cc.

template<class R >
Array<R> do_mx_minmax_op ( const Array< R > &  src,
Array< octave_idx_type > &  idx,
int  dim,
void(*)(const R *, R *, octave_idx_type *, octave_idx_type, octave_idx_type, octave_idx_type mx_minmax_op 
)
inline

Definition at line 1226 of file mx-inlines.cc.

template<class R , class T >
Array<R> do_mx_red_op ( const Array< T > &  src,
int  dim,
void(*)(const T *, R *, octave_idx_type, octave_idx_type, octave_idx_type mx_red_op 
)
inline

Definition at line 1165 of file mx-inlines.cc.

template<class R , class X , R fun>
Array< R > do_mx_unary_map ( const Array< X > &  x)
inline

Definition at line 339 of file mx-inlines.cc.

References x.

template<class R , class X >
Array<R> do_mx_unary_op ( const Array< X > &  x,
void(*)(size_t, R *, const X *) throw op()   
)
inline
template<class R , class X , class Y >
Array<R> do_sm_binary_op ( const X &  x,
const Array< Y > &  y,
void(*)(size_t, R *, X, const Y *) throw op()   
)
inline
template<class T >
void F ( const TSRC *  v,
TRES *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 515 of file mx-inlines.cc.

Referenced by DEFUN_DLD(), and axes::properties::update_camera().

void get_extent_triplet ( const dim_vector dims,
int dim,
octave_idx_type l,
octave_idx_type n,
octave_idx_type u 
)
inline

Definition at line 1134 of file mx-inlines.cc.

Referenced by MArray< T >::idx_add_nd().

template<class T >
bool logical_value ( x)
inline

Definition at line 118 of file mx-inlines.cc.

References x.

Referenced by mx_inline_not().

template<class T >
bool logical_value ( const std::complex< T > &  x)
inline

Definition at line 119 of file mx-inlines.cc.

template<class T >
bool logical_value ( const octave_int< T > &  x)
inline

Definition at line 121 of file mx-inlines.cc.

References octave_int< T >::value().

template<class R , class X , class Y >
void mx_inline_add ( size_t  n,
R *  r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 81 of file mx-inlines.cc.

Referenced by Sparse< T >::assign().

template<class R , class X , class Y >
void mx_inline_add ( size_t  n,
R *  r,
x,
const Y *  y 
) throw ()
inline

Definition at line 81 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_add ( size_t  n,
R *  r,
const X *  x,
y 
) throw ()
inline

Definition at line 81 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_add2 ( size_t  n,
R *  r,
const X *  x 
) throw ()
inline
template<class R , class X >
void mx_inline_add2 ( size_t  n,
R *  r,
x 
) throw ()
inline

Definition at line 94 of file mx-inlines.cc.

template<class T >
bool mx_inline_all ( const T *  v,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_all ( const T *  v,
bool r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 573 of file mx-inlines.cc.

template<class T >
void mx_inline_all ( const T *  v,
bool r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 607 of file mx-inlines.cc.

template<class T >
bool mx_inline_all_finite ( size_t  n,
const T *  x 
) throw ()
inline
template<class T >
bool mx_inline_all_real ( size_t  n,
const std::complex< T > *  x 
) throw ()
inline
template<class X , class Y >
void mx_inline_and ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 158 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_and ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 158 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_and ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 158 of file mx-inlines.cc.

template<class X >
void mx_inline_and2 ( size_t  n,
bool r,
const X *  x 
) throw ()
inline

Definition at line 176 of file mx-inlines.cc.

Referenced by mx_el_and_assign().

template<class X >
void mx_inline_and2 ( size_t  n,
bool r,
x 
) throw ()
inline

Definition at line 176 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_and_not ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 162 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_and_not ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 162 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_and_not ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 162 of file mx-inlines.cc.

template<class T >
bool mx_inline_any ( const T *  v,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_any ( const T *  v,
bool r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 572 of file mx-inlines.cc.

template<class T >
void mx_inline_any ( const T *  v,
bool r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 606 of file mx-inlines.cc.

template<class T >
bool mx_inline_any_nan ( size_t  n,
const T *  x 
) throw ()
inline
template<class T >
bool mx_inline_any_negative ( size_t  n,
const T *  x 
) throw ()
inline
template<class T >
bool mx_inline_any_positive ( size_t  n,
const T *  x 
) throw ()
inline
template<class T >
T mx_inline_count ( const bool v,
octave_idx_type  n 
)
inline

Definition at line 512 of file mx-inlines.cc.

Referenced by boolNDArray::sum().

template<class T >
void mx_inline_count ( const bool v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 602 of file mx-inlines.cc.

template<class T >
void mx_inline_cumcount ( const bool v,
T *  r,
octave_idx_type  n 
)
inline

Definition at line 624 of file mx-inlines.cc.

Referenced by boolNDArray::cumsum().

template<class T >
void mx_inline_cumcount ( const bool v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 648 of file mx-inlines.cc.

template<class T >
void mx_inline_cumcount ( const bool v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 677 of file mx-inlines.cc.

template<class T >
void mx_inline_cummax ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  n 
)

Definition at line 887 of file mx-inlines.cc.

template<class T >
void mx_inline_cummax ( const T *  v,
T *  r,
octave_idx_type  n 
)
template<class T >
void mx_inline_cummax ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 969 of file mx-inlines.cc.

template<class T >
void mx_inline_cummax ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 969 of file mx-inlines.cc.

template<class T >
void mx_inline_cummax ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 1022 of file mx-inlines.cc.

template<class T >
void mx_inline_cummax ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 1022 of file mx-inlines.cc.

template<class T >
void mx_inline_cummin ( const T *  v,
T *  r,
octave_idx_type  n 
)
template<class T >
void mx_inline_cummin ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  n 
)

Definition at line 886 of file mx-inlines.cc.

template<class T >
void mx_inline_cummin ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 968 of file mx-inlines.cc.

template<class T >
void mx_inline_cummin ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 968 of file mx-inlines.cc.

template<class T >
void mx_inline_cummin ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 1021 of file mx-inlines.cc.

template<class T >
void mx_inline_cummin ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 1021 of file mx-inlines.cc.

template<class T >
void mx_inline_cumprod ( const T *  v,
T *  r,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_cumprod ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 647 of file mx-inlines.cc.

template<class T >
void mx_inline_cumprod ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 676 of file mx-inlines.cc.

template<class T >
void mx_inline_cumsum ( const T *  v,
T *  r,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_cumsum ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 646 of file mx-inlines.cc.

template<class T >
void mx_inline_cumsum ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 675 of file mx-inlines.cc.

template<class T >
void mx_inline_diff ( const T *  v,
T *  r,
octave_idx_type  n,
octave_idx_type  order 
)
template<class T >
void mx_inline_diff ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n,
octave_idx_type  order 
)

Definition at line 1066 of file mx-inlines.cc.

template<class T >
void mx_inline_diff ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u,
octave_idx_type  order 
)
inline

Definition at line 1107 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_div ( size_t  n,
R *  r,
x,
const Y *  y 
) throw ()
inline

Definition at line 84 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_div ( size_t  n,
R *  r,
const X *  x,
y 
) throw ()
inline

Definition at line 84 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_div ( size_t  n,
R *  r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 84 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_div2 ( size_t  n,
R *  r,
x 
) throw ()
inline

Definition at line 97 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_div2 ( size_t  n,
R *  r,
const X *  x 
) throw ()
inline

Definition at line 97 of file mx-inlines.cc.

Referenced by operator/=(), and quotient_eq().

template<class T >
subst_template_param<std::complex, T , double>::type mx_inline_dsum ( const T *  v,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_dsum ( const T *  v,
typename subst_template_param< std::complex, T, double >::type *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 601 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_eq ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 114 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_eq ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 114 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_eq ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 114 of file mx-inlines.cc.

template<class T1 , class T2 >
bool mx_inline_equal ( size_t  n,
const T1 *  x,
const T2 *  y 
) throw ()
inline
template<class R , class S >
void mx_inline_fill ( size_t  n,
R *  r,
s 
) throw ()
inline

Definition at line 45 of file mx-inlines.cc.

References base_qr< FloatComplexMatrix >::r.

template<class X , class Y >
void mx_inline_ge ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 113 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_ge ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 113 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_ge ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 113 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_gt ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 112 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_gt ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 112 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_gt ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 112 of file mx-inlines.cc.

template<class T >
void mx_inline_imag ( size_t  n,
T *  r,
const std::complex< T > *  x 
) throw ()
inline

Definition at line 253 of file mx-inlines.cc.

References imag(), base_qr< FloatComplexMatrix >::r, and x.

Referenced by imag().

template<class X >
void mx_inline_iszero ( size_t  n,
bool r,
const X *  x 
) throw ()
inline

Definition at line 67 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_le ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 111 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_le ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 111 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_le ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 111 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_lt ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 110 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_lt ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 110 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_lt ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 110 of file mx-inlines.cc.

template<class R , class X , R fun>
void mx_inline_map ( size_t  n,
R *  r,
const X *  x 
) throw ()
inline

Definition at line 315 of file mx-inlines.cc.

References x.

template<class T >
void mx_inline_max ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  n 
)

Definition at line 714 of file mx-inlines.cc.

template<class T >
void mx_inline_max ( const T *  v,
T *  r,
octave_idx_type  n 
)
template<class T >
void mx_inline_max ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 789 of file mx-inlines.cc.

template<class T >
void mx_inline_max ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 789 of file mx-inlines.cc.

template<class T >
void mx_inline_max ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 842 of file mx-inlines.cc.

template<class T >
void mx_inline_max ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 842 of file mx-inlines.cc.

template<class T >
void mx_inline_min ( const T *  v,
T *  r,
octave_idx_type  n 
)
template<class T >
void mx_inline_min ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  n 
)

Definition at line 713 of file mx-inlines.cc.

template<class T >
void mx_inline_min ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 788 of file mx-inlines.cc.

template<class T >
void mx_inline_min ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 788 of file mx-inlines.cc.

template<class T >
void mx_inline_min ( const T *  v,
T *  r,
octave_idx_type ri,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 841 of file mx-inlines.cc.

template<class T >
void mx_inline_min ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 841 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_mul ( size_t  n,
R *  r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 83 of file mx-inlines.cc.

Referenced by kron(), and operator*().

template<class R , class X , class Y >
void mx_inline_mul ( size_t  n,
R *  r,
const X *  x,
y 
) throw ()
inline

Definition at line 83 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_mul ( size_t  n,
R *  r,
x,
const Y *  y 
) throw ()
inline

Definition at line 83 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_mul2 ( size_t  n,
R *  r,
const X *  x 
) throw ()
inline

Definition at line 96 of file mx-inlines.cc.

Referenced by operator*=(), and product_eq().

template<class R , class X >
void mx_inline_mul2 ( size_t  n,
R *  r,
x 
) throw ()
inline

Definition at line 96 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_ne ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 115 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_ne ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 115 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_ne ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 115 of file mx-inlines.cc.

template<class X >
void mx_inline_not ( size_t  n,
bool r,
const X *  x 
) throw ()
void mx_inline_not2 ( size_t  n,
bool r 
) throw ()
inline

Definition at line 131 of file mx-inlines.cc.

References base_qr< FloatComplexMatrix >::r.

Referenced by boolNDArray::invert().

template<class X , class Y >
void mx_inline_not_and ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 160 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_not_and ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 160 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_not_and ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 160 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_not_or ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 161 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_not_or ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 161 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_not_or ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 161 of file mx-inlines.cc.

template<class X >
void mx_inline_notzero ( size_t  n,
bool r,
const X *  x 
) throw ()
inline

Definition at line 68 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_or ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 159 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_or ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 159 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_or ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 159 of file mx-inlines.cc.

template<class X >
void mx_inline_or2 ( size_t  n,
bool r,
x 
) throw ()
inline

Definition at line 177 of file mx-inlines.cc.

template<class X >
void mx_inline_or2 ( size_t  n,
bool r,
const X *  x 
) throw ()
inline

Definition at line 177 of file mx-inlines.cc.

Referenced by mx_el_or_assign().

template<class X , class Y >
void mx_inline_or_not ( size_t  n,
bool r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 163 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_or_not ( size_t  n,
bool r,
const X *  x,
y 
) throw ()
inline

Definition at line 163 of file mx-inlines.cc.

template<class X , class Y >
void mx_inline_or_not ( size_t  n,
bool r,
x,
const Y *  y 
) throw ()
inline

Definition at line 163 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_pow ( size_t  n,
R *  r,
x,
const Y *  y 
) throw ()
inline

Definition at line 310 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_pow ( size_t  n,
R *  r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 310 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_pow ( size_t  n,
R *  r,
const X *  x,
y 
) throw ()
inline

Definition at line 310 of file mx-inlines.cc.

template<class T >
T mx_inline_prod ( const T *  v,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_prod ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 603 of file mx-inlines.cc.

template<class T >
void mx_inline_real ( size_t  n,
T *  r,
const std::complex< T > *  x 
) throw ()
inline

Definition at line 250 of file mx-inlines.cc.

References base_qr< FloatComplexMatrix >::r, real, and x.

Referenced by real().

template<class R , class X , class Y >
void mx_inline_sub ( size_t  n,
R *  r,
x,
const Y *  y 
) throw ()
inline

Definition at line 82 of file mx-inlines.cc.

template<class R , class X , class Y >
void mx_inline_sub ( size_t  n,
R *  r,
const X *  x,
const Y *  y 
) throw ()
inline

Definition at line 82 of file mx-inlines.cc.

Referenced by Sparse< T >::delete_elements(), and Sparse< T >::index().

template<class R , class X , class Y >
void mx_inline_sub ( size_t  n,
R *  r,
const X *  x,
y 
) throw ()
inline

Definition at line 82 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_sub2 ( size_t  n,
R *  r,
x 
) throw ()
inline

Definition at line 95 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_sub2 ( size_t  n,
R *  r,
const X *  x 
) throw ()
inline
template<class T >
T mx_inline_sum ( const T *  v,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_sum ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 600 of file mx-inlines.cc.

template<class T >
T mx_inline_sumsq ( const std::complex< T > *  v,
octave_idx_type  n 
)
inline

Definition at line 512 of file mx-inlines.cc.

template<class T >
T mx_inline_sumsq ( const T *  v,
octave_idx_type  n 
)
inline
template<class T >
void mx_inline_sumsq ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 604 of file mx-inlines.cc.

template<class T >
void mx_inline_sumsq ( const std::complex< T > *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 605 of file mx-inlines.cc.

template<class R , class X >
void mx_inline_uminus ( size_t  n,
R *  r,
const X *  x 
) throw ()
inline

Definition at line 53 of file mx-inlines.cc.

Referenced by operator-().

template<class R >
void mx_inline_uminus2 ( size_t  n,
R *  r 
) throw ()
inline

Definition at line 60 of file mx-inlines.cc.

Referenced by MArray< T >::changesign().

template<class T >
void mx_inline_xmax ( size_t  n,
T *  r,
const T *  x,
const T *  y 
) throw ()
inline

Definition at line 269 of file mx-inlines.cc.

Referenced by max().

template<class T >
void mx_inline_xmax ( size_t  n,
T *  r,
x,
const T *  y 
) throw ()
inline

Definition at line 269 of file mx-inlines.cc.

template<class T >
void mx_inline_xmax ( size_t  n,
T *  r,
const T *  x,
y 
) throw ()
inline

Definition at line 269 of file mx-inlines.cc.

template<>
void mx_inline_xmax< double > ( size_t  n,
double r,
const double x,
double  y 
) throw ()
inline

Definition at line 291 of file mx-inlines.cc.

template<>
void mx_inline_xmax< double > ( size_t  n,
double r,
double  x,
const double y 
) throw ()
inline

Definition at line 291 of file mx-inlines.cc.

template<>
void mx_inline_xmax< float > ( size_t  n,
float r,
const float x,
float  y 
) throw ()
inline

Definition at line 293 of file mx-inlines.cc.

template<>
void mx_inline_xmax< float > ( size_t  n,
float r,
float  x,
const float y 
) throw ()
inline

Definition at line 293 of file mx-inlines.cc.

template<class T >
void mx_inline_xmin ( size_t  n,
T *  r,
x,
const T *  y 
) throw ()
inline

Definition at line 268 of file mx-inlines.cc.

template<class T >
void mx_inline_xmin ( size_t  n,
T *  r,
const T *  x,
y 
) throw ()
inline

Definition at line 268 of file mx-inlines.cc.

template<class T >
void mx_inline_xmin ( size_t  n,
T *  r,
const T *  x,
const T *  y 
) throw ()
inline

Definition at line 268 of file mx-inlines.cc.

Referenced by min().

template<>
void mx_inline_xmin< double > ( size_t  n,
double r,
const double x,
double  y 
) throw ()
inline

Definition at line 290 of file mx-inlines.cc.

template<>
void mx_inline_xmin< double > ( size_t  n,
double r,
double  x,
const double y 
) throw ()
inline

Definition at line 290 of file mx-inlines.cc.

template<>
void mx_inline_xmin< float > ( size_t  n,
float r,
const float x,
float  y 
) throw ()
inline

Definition at line 292 of file mx-inlines.cc.

template<>
void mx_inline_xmin< float > ( size_t  n,
float r,
float  x,
const float y 
) throw ()
inline

Definition at line 292 of file mx-inlines.cc.

template<class T >
T mx_inline_xsum ( const T *  v,
octave_idx_type  n 
)
inline

Definition at line 1331 of file mx-inlines.cc.

References x.

Referenced by ComplexNDArray::xsum(), and NDArray::xsum().

template<class T >
void mx_inline_xsum ( const T *  v,
T *  r,
octave_idx_type  m,
octave_idx_type  n 
)
inline

Definition at line 1342 of file mx-inlines.cc.

template<class T >
void mx_inline_xsum ( const T *  v,
T *  r,
octave_idx_type  l,
octave_idx_type  n,
octave_idx_type  u 
)
inline

Definition at line 1361 of file mx-inlines.cc.

void op_dble_sum ( double ac,
float  el 
)
inline

Definition at line 486 of file mx-inlines.cc.

void op_dble_sum ( Complex ac,
const FloatComplex el 
)
inline

Definition at line 488 of file mx-inlines.cc.

template<class T >
void op_dble_sum ( double ac,
const octave_int< T > &  el 
)
inline

Definition at line 491 of file mx-inlines.cc.

References octave_int< T >::double_value().

template<class T >
void twosum_accum ( T &  s,
T &  e,
const T &  x 
)
inline

Definition at line 1321 of file mx-inlines.cc.

template<class T >
bool xis_false ( x)
inline

Definition at line 464 of file mx-inlines.cc.

References x.

template<class T >
bool xis_false ( const octave_int< T > &  x)
inline

Definition at line 469 of file mx-inlines.cc.

References octave_int< T >::value().

bool xis_false ( double  x)
inline

Definition at line 472 of file mx-inlines.cc.

bool xis_false ( float  x)
inline

Definition at line 474 of file mx-inlines.cc.

bool xis_false ( const Complex x)
inline

Definition at line 477 of file mx-inlines.cc.

template<class T >
bool xis_true ( x)
inline

Definition at line 462 of file mx-inlines.cc.

References x.

template<class T >
bool xis_true ( const octave_int< T > &  x)
inline

Definition at line 467 of file mx-inlines.cc.

References octave_int< T >::value().

bool xis_true ( double  x)
inline

Definition at line 471 of file mx-inlines.cc.

References xisnan().

bool xis_true ( float  x)
inline

Definition at line 473 of file mx-inlines.cc.

References xisnan().

bool xis_true ( const Complex x)
inline

Definition at line 476 of file mx-inlines.cc.

References xisnan().