#include <list>
#include <string>
#include <vector>
#include "lo-mappers.h"
#include "defun.h"
#include "interpreter.h"
#include "oct-map.h"
#include "ov-colon.h"
#include "ov-fcn-handle.h"
#include "parse.h"
#include "unwind-prot.h"
#include "variables.h"
Go to the source code of this file.
Macros | |
#define | BSXDEF(T) |
#define | BSXEND(T) |
#define | BSXINIT(T, CLS, EXTRACTOR) |
#define | BSXLOOP(T, CLS, EXTRACTOR) |
#define | REGISTER_OP_HANDLER(OP, BTYP, NDA, FUNOP) bsxfun_handler_table[OP][BTYP] = bsxfun_forward_op<NDA, FUNOP> |
#define | REGISTER_REL_HANDLER(REL, BTYP, NDA, FUNREL) bsxfun_handler_table[REL][BTYP] = bsxfun_forward_rel<NDA, FUNREL> |
#define | REGISTER_STD_HANDLERS(BTYP, NDA) |
Typedefs | |
typedef octave_value(* | bsxfun_handler) (const octave_value &, const octave_value &) |
Enumerations | |
enum | bsxfun_builtin_op { bsxfun_builtin_plus = 0 , bsxfun_builtin_minus , bsxfun_builtin_times , bsxfun_builtin_divide , bsxfun_builtin_max , bsxfun_builtin_min , bsxfun_builtin_eq , bsxfun_builtin_ne , bsxfun_builtin_lt , bsxfun_builtin_le , bsxfun_builtin_gt , bsxfun_builtin_ge , bsxfun_builtin_and , bsxfun_builtin_or , bsxfun_builtin_power , bsxfun_builtin_unknown , bsxfun_num_builtin_ops = bsxfun_builtin_unknown } |
Functions | |
static bsxfun_builtin_op | bsxfun_builtin_lookup (const std::string &name) |
template<typename NDA , NDA(bsxfun_op)(const NDA &, const NDA &) > | |
static octave_value | bsxfun_forward_op (const octave_value &x, const octave_value &y) |
template<typename NDA , boolNDArray(bsxfun_rel)(const NDA &, const NDA &) > | |
static octave_value | bsxfun_forward_rel (const octave_value &x, const octave_value &y) |
template<typename NDA , typename CNDA > | |
static octave_value | do_bsxfun_real_pow (const octave_value &x, const octave_value &y) |
OCTAVE_EXPORT octave_value_list | Fbsxfun (octave::interpreter &interp, const octave_value_list &args, int) |
static void | maybe_fill_table (void) |
static octave_value | maybe_optimized_builtin (const std::string &name, const octave_value &a, const octave_value &b) |
static bool | maybe_update_column (octave_value &Ac, const octave_value &A, const dim_vector &dva, const dim_vector &dvc, octave_idx_type i, octave_value_list &idx) |
static void | update_index (Array< int > &idx, const dim_vector &dv, octave_idx_type i) |
Variables | |
const char * | bsxfun_builtin_names [] |
bsxfun_handler | bsxfun_handler_table [bsxfun_num_builtin_ops][btyp_num_types] |
#define BSXDEF | ( | T | ) |
#define BSXEND | ( | T | ) |
#define BSXINIT | ( | T, | |
CLS, | |||
EXTRACTOR | |||
) |
#define BSXLOOP | ( | T, | |
CLS, | |||
EXTRACTOR | |||
) |
#define REGISTER_OP_HANDLER | ( | OP, | |
BTYP, | |||
NDA, | |||
FUNOP | |||
) | bsxfun_handler_table[OP][BTYP] = bsxfun_forward_op<NDA, FUNOP> |
#define REGISTER_REL_HANDLER | ( | REL, | |
BTYP, | |||
NDA, | |||
FUNREL | |||
) | bsxfun_handler_table[REL][BTYP] = bsxfun_forward_rel<NDA, FUNREL> |
#define REGISTER_STD_HANDLERS | ( | BTYP, | |
NDA | |||
) |
typedef octave_value(* bsxfun_handler) (const octave_value &, const octave_value &) |
enum bsxfun_builtin_op |
|
static |
Definition at line 87 of file bsxfun.cc.
References bsxfun_builtin_names, bsxfun_builtin_unknown, and bsxfun_num_builtin_ops.
Referenced by maybe_optimized_builtin().
|
static |
Definition at line 104 of file bsxfun.cc.
References octave_value(), and x.
|
static |
Definition at line 113 of file bsxfun.cc.
References octave_value(), and x.
|
static |
Definition at line 124 of file bsxfun.cc.
References bsxfun_pow(), octave_value(), and x.
OCTAVE_EXPORT octave_value_list Fbsxfun | ( | octave::interpreter & | interp, |
const octave_value_list & | args, | ||
int | |||
) |
Definition at line 341 of file bsxfun.cc.
References A, octave_value_list::array_value(), B, BSXDEF, BSXEND, BSXINIT, BSXLOOP, C, cat_op(), ComplexNDArray, octave_value_list::empty(), error(), feval(), symbol_table::find_function(), FloatComplexNDArray, octave_value::function_value(), octave_value::is_builtin_function(), octave_value::is_defined(), octave_value::is_function_handle(), octave_value::is_string(), octave_value::is_undefined(), maybe_optimized_builtin(), maybe_update_column(), octave_function::name(), dim_vector::ndims(), dim_vector::numel(), print_usage(), ra_idx, Array< T, Alloc >::resize(), dim_vector::resize(), octave_value_list::resize(), octave_value::string_value(), and update_index().
|
static |
Definition at line 134 of file bsxfun.cc.
References bsxfun_and(), bsxfun_builtin_and, bsxfun_builtin_eq, bsxfun_builtin_ge, bsxfun_builtin_gt, bsxfun_builtin_le, bsxfun_builtin_lt, bsxfun_builtin_ne, bsxfun_builtin_or, bsxfun_builtin_power, bsxfun_eq(), bsxfun_ge(), bsxfun_gt(), bsxfun_handler_table, bsxfun_le(), bsxfun_lt(), bsxfun_ne(), bsxfun_or(), bsxfun_pow(), btyp_bool, btyp_char, btyp_complex, btyp_double, btyp_float, btyp_float_complex, btyp_int16, btyp_int32, btyp_int64, btyp_int8, btyp_uint16, btyp_uint32, btyp_uint64, btyp_uint8, REGISTER_OP_HANDLER, REGISTER_REL_HANDLER, and REGISTER_STD_HANDLERS.
Referenced by maybe_optimized_builtin().
|
static |
Definition at line 200 of file bsxfun.cc.
References bsxfun_builtin_lookup(), bsxfun_builtin_unknown, bsxfun_handler_table, btyp_complex, btyp_double, btyp_float, btyp_float_complex, btyp_unknown, octave_value::builtin_type(), and maybe_fill_table().
Referenced by Fbsxfun().
|
static |
Definition at line 235 of file bsxfun.cc.
References A, dim_vector::ndims(), octave_value(), and octave_value::single_subsref().
Referenced by Fbsxfun().
|
static |
const char* bsxfun_builtin_names[] |
Definition at line 67 of file bsxfun.cc.
Referenced by bsxfun_builtin_lookup().
bsxfun_handler bsxfun_handler_table[bsxfun_num_builtin_ops][btyp_num_types] |
Definition at line 100 of file bsxfun.cc.
Referenced by maybe_fill_table(), and maybe_optimized_builtin().