GNU Octave  4.0.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
bsxfun-defs.cc File Reference
#include <algorithm>
#include <iostream>
#include "dim-vector.h"
#include "oct-locbuf.h"
#include "lo-error.h"
#include "mx-inlines.cc"
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<class R , class X , class 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<class R , class 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

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

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

#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:215
F77_RET_T const double * x

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

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

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

#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:212
F77_RET_T const double * x

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

#define BSXFUN_POW_MIXED_MXLOOP (   INT_TYPE)
Value:
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:311
#define BSXFUN_OP2_DEF_MXLOOP(OP, ARRAY, ARRAY1, ARRAY2, LOOP)
Definition: bsxfun-defs.cc:226

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

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

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

#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:218
F77_RET_T const double * x

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

#define BSXFUN_STDOP_DEFS_MXLOOP (   ARRAY)
Value:
#define BSXFUN_OP_DEF_MXLOOP(OP, ARRAY, LOOP)
Definition: bsxfun-defs.cc:221
void mx_inline_mul(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:84
void mx_inline_xmin(size_t n, T *r, const T *x, const T *y)
Definition: mx-inlines.cc:269
void mx_inline_sub(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:83
charNDArray max(char d, const charNDArray &m)
Definition: chNDArray.cc:233
void mx_inline_add(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:82
void mx_inline_div(size_t n, R *r, const X *x, const Y *y)
Definition: mx-inlines.cc:85
charNDArray min(char d, const charNDArray &m)
Definition: chNDArray.cc:210
void mx_inline_xmax(size_t n, T *r, const T *x, const T *y)
Definition: mx-inlines.cc:270

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

#define BSXFUN_STDREL_DEFS_MXLOOP (   ARRAY)
Value:
void mx_inline_le(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:112
void mx_inline_ne(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:116
void mx_inline_eq(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:115
#define BSXFUN_REL_DEF_MXLOOP(OP, ARRAY, LOOP)
Definition: bsxfun-defs.cc:231
void mx_inline_ge(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:114
void mx_inline_gt(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:113
void mx_inline_lt(size_t n, bool *r, const X *x, const Y *y)
Definition: mx-inlines.cc:111

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

#define octave_bsxfun_defs_h   1

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

Function Documentation

template<class R , class X , class 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 
)
template<class R , class 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 
)