GNU Octave  4.4.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
bsxfun-defs.cc File Reference
#include <algorithm>
#include "dim-vector.h"
#include "lo-error.h"
#include "mx-inlines.cc"
#include "oct-locbuf.h"
Include dependency graph for bsxfun-defs.cc:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define BSXFUN_OP2_DEF(OP, ARRAY, ARRAY1, ARRAY2)   ARRAY bsxfun_ ## OP (const ARRAY1& x, const ARRAY2& y)
 
#define BSXFUN_OP2_DEF_MXLOOP(OP, ARRAY, ARRAY1, ARRAY2, LOOP)
 
#define BSXFUN_OP_DEF(OP, ARRAY)   ARRAY bsxfun_ ## OP (const ARRAY& x, const ARRAY& y)
 
#define BSXFUN_OP_DEF_MXLOOP(OP, ARRAY, LOOP)
 
#define BSXFUN_POW_MIXED_MXLOOP(INT_TYPE)
 
#define BSXFUN_REL_DEF(OP, ARRAY)   boolNDArray bsxfun_ ## OP (const ARRAY& x, const ARRAY& y)
 
#define BSXFUN_REL_DEF_MXLOOP(OP, ARRAY, LOOP)
 
#define BSXFUN_STDOP_DEFS_MXLOOP(ARRAY)
 
#define BSXFUN_STDREL_DEFS_MXLOOP(ARRAY)
 
#define octave_bsxfun_defs_h   1
 

Functions

template<typename R , typename X , typename Y >
Array< R > do_bsxfun_op (const Array< X > &x, const Array< Y > &y, void(*op_vv)(size_t, R *, const X *, const Y *), void(*op_sv)(size_t, R *, X, const Y *), void(*op_vs)(size_t, R *, const X *, Y))
 
template<typename R , typename X >
void do_inplace_bsxfun_op (Array< R > &r, const Array< X > &x, void(*op_vv)(size_t, R *, const X *), void(*op_vs)(size_t, R *, X))
 

Macro Definition Documentation

◆ BSXFUN_OP2_DEF

#define BSXFUN_OP2_DEF (   OP,
  ARRAY,
  ARRAY1,
  ARRAY2 
)    ARRAY bsxfun_ ## OP (const ARRAY1& x, const ARRAY2& y)

Definition at line 213 of file bsxfun-defs.cc.

◆ BSXFUN_OP2_DEF_MXLOOP

#define BSXFUN_OP2_DEF_MXLOOP (   OP,
  ARRAY,
  ARRAY1,
  ARRAY2,
  LOOP 
)
Value:
BSXFUN_OP2_DEF(OP, ARRAY, ARRAY1, ARRAY2) \
{ return do_bsxfun_op<ARRAY::element_type, ARRAY1::element_type, ARRAY2::element_type> \
(x, y, LOOP, LOOP, LOOP); }
#define BSXFUN_OP2_DEF(OP, ARRAY, ARRAY1, ARRAY2)
Definition: bsxfun-defs.cc:213
the element is set to zero In other the statement xample y
Definition: data.cc:5264
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 224 of file bsxfun-defs.cc.

◆ BSXFUN_OP_DEF

#define BSXFUN_OP_DEF (   OP,
  ARRAY 
)    ARRAY bsxfun_ ## OP (const ARRAY& x, const ARRAY& y)

Definition at line 210 of file bsxfun-defs.cc.

◆ BSXFUN_OP_DEF_MXLOOP

#define BSXFUN_OP_DEF_MXLOOP (   OP,
  ARRAY,
  LOOP 
)
Value:
BSXFUN_OP_DEF(OP, ARRAY) \
{ return do_bsxfun_op<ARRAY::element_type, ARRAY::element_type, ARRAY::element_type> \
(x, y, LOOP, LOOP, LOOP); }
#define BSXFUN_OP_DEF(OP, ARRAY)
Definition: bsxfun-defs.cc:210
the element is set to zero In other the statement xample y
Definition: data.cc:5264
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 219 of file bsxfun-defs.cc.

◆ BSXFUN_POW_MIXED_MXLOOP

#define BSXFUN_POW_MIXED_MXLOOP (   INT_TYPE)
Value:
BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, INT_TYPE, FloatNDArray, mx_inline_pow) \
BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, NDArray, INT_TYPE, mx_inline_pow) \
BSXFUN_OP2_DEF_MXLOOP (pow, INT_TYPE, FloatNDArray, INT_TYPE, mx_inline_pow)
octave_int< T > pow(const octave_int< T > &a, const octave_int< T > &b)
void mx_inline_pow(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:413
#define BSXFUN_OP2_DEF_MXLOOP(OP, ARRAY, ARRAY1, ARRAY2, LOOP)
Definition: bsxfun-defs.cc:224

Definition at line 251 of file bsxfun-defs.cc.

◆ BSXFUN_REL_DEF

#define BSXFUN_REL_DEF (   OP,
  ARRAY 
)    boolNDArray bsxfun_ ## OP (const ARRAY& x, const ARRAY& y)

Definition at line 216 of file bsxfun-defs.cc.

◆ BSXFUN_REL_DEF_MXLOOP

#define BSXFUN_REL_DEF_MXLOOP (   OP,
  ARRAY,
  LOOP 
)
Value:
BSXFUN_REL_DEF(OP, ARRAY) \
{ return do_bsxfun_op<bool, ARRAY::element_type, ARRAY::element_type> \
(x, y, LOOP, LOOP, LOOP); }
#define BSXFUN_REL_DEF(OP, ARRAY)
Definition: bsxfun-defs.cc:216
the element is set to zero In other the statement xample y
Definition: data.cc:5264
F77_RET_T const F77_REAL const F77_REAL F77_REAL &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T const F77_DBLE * x

Definition at line 229 of file bsxfun-defs.cc.

◆ BSXFUN_STDOP_DEFS_MXLOOP

#define BSXFUN_STDOP_DEFS_MXLOOP (   ARRAY)
Value:
BSXFUN_OP_DEF_MXLOOP (sub, ARRAY, mx_inline_sub) \
BSXFUN_OP_DEF_MXLOOP (mul, ARRAY, mx_inline_mul) \
BSXFUN_OP_DEF_MXLOOP (div, ARRAY, mx_inline_div) \
BSXFUN_OP_DEF_MXLOOP (min, ARRAY, mx_inline_xmin) \
BSXFUN_OP_DEF_MXLOOP (max, ARRAY, mx_inline_xmax)
#define BSXFUN_OP_DEF_MXLOOP(OP, ARRAY, LOOP)
Definition: bsxfun-defs.cc:219
void mx_inline_mul(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:108
void mx_inline_xmin(size_t n, T *r, const T *x, const T *y)
Definition: mx-inlines.cc:335
void mx_inline_sub(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:107
charNDArray max(char d, const charNDArray &m)
Definition: chNDArray.cc:227
void mx_inline_add(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:106
void mx_inline_div(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:109
charNDArray min(char d, const charNDArray &m)
Definition: chNDArray.cc:204
void mx_inline_xmax(size_t n, T *r, const T *x, const T *y)
Definition: mx-inlines.cc:359

Definition at line 234 of file bsxfun-defs.cc.

◆ BSXFUN_STDREL_DEFS_MXLOOP

#define BSXFUN_STDREL_DEFS_MXLOOP (   ARRAY)
Value:
BSXFUN_REL_DEF_MXLOOP (ne, ARRAY, mx_inline_ne) \
BSXFUN_REL_DEF_MXLOOP (lt, ARRAY, mx_inline_lt) \
BSXFUN_REL_DEF_MXLOOP (le, ARRAY, mx_inline_le) \
BSXFUN_REL_DEF_MXLOOP (gt, ARRAY, mx_inline_gt) \
BSXFUN_REL_DEF_MXLOOP (ge, ARRAY, mx_inline_ge)
void mx_inline_le(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:151
void mx_inline_ne(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:155
void mx_inline_eq(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:154
#define BSXFUN_REL_DEF_MXLOOP(OP, ARRAY, LOOP)
Definition: bsxfun-defs.cc:229
void mx_inline_ge(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:153
void mx_inline_gt(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:152
void mx_inline_lt(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:150

Definition at line 242 of file bsxfun-defs.cc.

◆ octave_bsxfun_defs_h

#define octave_bsxfun_defs_h   1

Definition at line 25 of file bsxfun-defs.cc.

Function Documentation

◆ do_bsxfun_op()

template<typename R , typename X , typename Y >
Array<R> do_bsxfun_op ( const Array< X > &  x,
const Array< Y > &  y,
void(*)(size_t, R *, const X *, const Y *)  op_vv,
void(*)(size_t, R *, X, const Y *)  op_sv,
void(*)(size_t, R *, const X *, Y)  op_vs 
)

◆ do_inplace_bsxfun_op()

template<typename R , typename X >
void do_inplace_bsxfun_op ( Array< R > &  r,
const Array< X > &  x,
void(*)(size_t, R *, const X *)  op_vv,
void(*)(size_t, R *, X)  op_vs 
)