Defines | 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.

Defines

#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 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_FCN2(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())
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 (const octave_int< T > &x)
template<class T >
bool logical_value (T x)
template<class T >
bool logical_value (const std::complex< T > &x)
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 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 >
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 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 T >
void mx_inline_imag (size_t n, T *r, const std::complex< T > *x) throw ()
template<class R , class X , R fun>
void mx_inline_map (size_t n, R *r, const X *x) 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 T >
void mx_inline_real (size_t n, T *r, const std::complex< T > *x) 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)
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)
bool xis_false (double x)
bool xis_false (const Complex &x)
template<class T >
bool xis_false (T x)
template<class T >
bool xis_false (const octave_int< T > &x)
bool xis_false (float x)
template<class T >
bool xis_true (const octave_int< T > &x)
bool xis_true (double x)
bool xis_true (const Complex &x)
bool xis_true (float x)
template<class T >
bool xis_true (T x)

Define 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 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 618 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 635 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, \
   octave_idx_type n, octave_idx_type u) \
{ \
  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 659 of file mx-inlines.cc.

#define OP_CUMMINMAX_FCN (   F,
  OP 
)

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

#define OP_CUMMINMAX_FCN2 (   F,
  OP 
)

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

#define OP_CUMMINMAX_FCNN (   F  ) 

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

#define OP_MINMAX_FCN (   F,
  OP 
)

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

#define OP_MINMAX_FCN2 (   F,
  OP 
)

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

#define OP_MINMAX_FCNN (   F  ) 

Definition at line 800 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 544 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 543 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_FCN2 (   F,
  TSRC,
  TRES,
  OP,
  ZERO 
)
Value:
template <class T> \
inline void \
F (const TSRC* v, TRES *r, octave_idx_type m, octave_idx_type n) \
{ \
  for (octave_idx_type i = 0; i < m; i++) \
    r[i] = ZERO; \
  for (octave_idx_type j = 0; j < n; j++) \
    { \
      for (octave_idx_type i = 0; i < m; i++) \
        OP(r[i], v[i]); \
      v += m; \
    } \
}

Definition at line 521 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, \
   octave_idx_type n, octave_idx_type u) \
{ \
  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 584 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++) \
    { \
      octave_idx_type k = 0; \
      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 553 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]

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

References Array< T >::fortran_vec(), and Array< T >::length().

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]
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]
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]
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]
template<class R >
Array<R>& do_mx_inplace_op ( Array< R > &  r,
void(*)(size_t, R *) throw op()   
) [inline]

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

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

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]
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]
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]
template<class R , class X , R fun>
Array< R > do_mx_unary_map ( const Array< X > &  x  )  [inline]

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

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]
void get_extent_triplet ( const dim_vector dims,
int dim,
octave_idx_type l,
octave_idx_type n,
octave_idx_type u 
) [inline]
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 T >
bool logical_value ( x  )  [inline]

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

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 mx_inline_all_finite ( size_t  n,
const T *  x 
) throw () [inline]

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

References x, and xfinite().

template<class T >
bool mx_inline_all_real ( size_t  n,
const std::complex< T > *  x 
) throw () [inline]
template<class T >
bool mx_inline_any_nan ( size_t  n,
const T *  x 
) throw () [inline]

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

References x, and xisnan().

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 >
void mx_inline_diff ( const T *  v,
T *  r,
octave_idx_type  n,
octave_idx_type  order 
)

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

References dif(), and OCTAVE_LOCAL_BUFFER.

Referenced by mx_inline_diff().

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 1075 of file mx-inlines.cc.

References OCTAVE_LOCAL_BUFFER.

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 1116 of file mx-inlines.cc.

References mx_inline_diff().

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 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.

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

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

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

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

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

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

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.

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.

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

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

References twosum_accum().

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

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

References OCTAVE_LOCAL_BUFFER, and twosum_accum().

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 1330 of file mx-inlines.cc.

Referenced by mx_inline_xsum().

bool xis_false ( double  x  )  [inline]

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

bool xis_false ( const Complex x  )  [inline]

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

template<class T >
bool xis_false ( x  )  [inline]

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

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 ( float  x  )  [inline]

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

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 ( const Complex x  )  [inline]

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

References xisnan().

bool xis_true ( float  x  )  [inline]

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

References xisnan().

template<class T >
bool xis_true ( x  )  [inline]

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

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines