GNU Octave  4.2.1
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 | Variables
ov-base.cc File Reference
#include <iostream>
#include <limits>
#include "lo-ieee.h"
#include "lo-mappers.h"
#include "call-stack.h"
#include "defun.h"
#include "errwarn.h"
#include "mxarray.h"
#include "oct-map.h"
#include "ovl.h"
#include "oct-hdf5.h"
#include "oct-lvalue.h"
#include "oct-stream.h"
#include "ops.h"
#include "ov-base.h"
#include "ov-cell.h"
#include "ov-ch-mat.h"
#include "ov-complex.h"
#include "ov-cx-mat.h"
#include "ov-range.h"
#include "ov-re-mat.h"
#include "ov-scalar.h"
#include "ov-str-mat.h"
#include "ov-fcn-handle.h"
#include "parse.h"
#include "pr-output.h"
#include "utils.h"
#include "interpreter.h"
#include "variables.h"
Include dependency graph for ov-base.cc:

Go to the source code of this file.

Macros

#define INT_CONV_METHOD(T, F)
 

Functions

builtin_type_t btyp_mixed_numeric (builtin_type_t x, builtin_type_t y)
 
bool called_from_builtin (void)
 
static OCTAVE_NORETURN void err_assign_conversion_failed (const std::string &tn1, const std::string &tn2)
 
static OCTAVE_NORETURN void err_indexed_assignment (const std::string &tn1, const std::string &tn2)
 
static OCTAVE_NORETURN void err_no_conversion (const std::string &on, const std::string &tn1, const std::string &tn2)
 
OCTAVE_EXPORT octave_value_list Fsparse_auto_mutate (const octave_value_list &args, int nargout) the variable is changed locally for the function and any subroutines it calls.The original variable value is restored when exiting the function.nd deftypefn */)
 
string_vector get_builtin_classes (void)
 
void install_base_type_conversions (void)
 
octave_value make_idx_args (const std::string &type, const std::list< octave_value_list > &idx, const std::string &who)
 
static octave_base_valueoct_conv_cell_conv (const octave_base_value &)
 
static octave_base_valueoct_conv_complex_matrix_conv (const octave_base_value &)
 
static octave_base_valueoct_conv_matrix_conv (const octave_base_value &)
 
static octave_base_valueoct_conv_string_conv (const octave_base_value &)
 
static octave_value_list sanitize (const octave_value_list &ovl)
 

Variables

std::string btyp_class_name [btyp_num_types]
 
bool Vsparse_auto_mutate = false
 

Macro Definition Documentation

#define INT_CONV_METHOD (   T,
  F 
)
Value:
octave_base_value::F ## _value (bool require_int, bool frc_str_conv) const \
{ \
T retval = 0; \
\
double d = 0.0; \
\
{ \
d = double_value (frc_str_conv); \
} \
catch (octave::execution_exception& e) \
{ \
err_wrong_type_arg (e, "octave_base_value::" #F "_value ()", type_name ()); \
} \
if (require_int && octave::math::x_nint (d) != d) \
error_with_cfn ("conversion of %g to " #T " value failed", d); \
retval = static_cast<T> (octave::math::fix (d)); \
\
return retval; \
}
catch(const octave::index_exception &e)
Definition: sub2ind.cc:269
double fix(double x)
Definition: lo-mappers.h:158
try
Definition: sub2ind.cc:266
i e
Definition: data.cc:2724
F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &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 F77_REAL &F77_RET_T F77_DBLE &F77_RET_T F77_DBLE &F77_RET_T F77_REAL &F77_RET_T F77_REAL &F77_RET_T F77_DBLE &F77_RET_T const F77_DBLE F77_DBLE &F77_RET_T const F77_REAL F77_REAL &F77_RET_T F77_REAL F77_REAL &F77_RET_T F77_DBLE F77_DBLE &F77_RET_T const F77_DBLE const F77_DBLE F77_DBLE * d
if(nargin< 2) print_usage()
Definition: cellfun.cc:405
void error_with_cfn(const char *fmt,...)
Definition: error.cc:600
octave_value retval
Definition: data.cc:6294
void err_wrong_type_arg(const char *name, const char *s)
Definition: errwarn.cc:156
charNDArray max(char d, const charNDArray &m)
Definition: chNDArray.cc:228
else
Definition: cellfun.cc:437
issues an error eealso double
Definition: ov-bool-mat.cc:594
T x_nint(T x)
Definition: lo-mappers.h:299
charNDArray min(char d, const charNDArray &m)
Definition: chNDArray.cc:205
void F(const TSRC *v, TRES *r, octave_idx_type m, octave_idx_type n)
Definition: mx-inlines.cc:719

Definition at line 498 of file ov-base.cc.

Function Documentation

builtin_type_t btyp_mixed_numeric ( builtin_type_t  x,
builtin_type_t  y 
)
bool called_from_builtin ( void  )
static OCTAVE_NORETURN void err_assign_conversion_failed ( const std::string tn1,
const std::string tn2 
)
static

Definition at line 1212 of file ov-base.cc.

References error().

Referenced by octave_base_value::numeric_assign().

static OCTAVE_NORETURN void err_indexed_assignment ( const std::string tn1,
const std::string tn2 
)
static

Definition at line 1204 of file ov-base.cc.

References error().

Referenced by octave_base_value::numeric_assign().

static OCTAVE_NORETURN void err_no_conversion ( const std::string on,
const std::string tn1,
const std::string tn2 
)
static

Definition at line 1220 of file ov-base.cc.

References error().

Referenced by octave_base_value::numeric_assign().

OCTAVE_EXPORT octave_value_list Fsparse_auto_mutate ( const octave_value_list args,
int  nargout 
)

Definition at line 1577 of file ov-base.cc.

References SET_INTERNAL_VARIABLE.

Referenced by install_ov_base_fcns().

string_vector get_builtin_classes ( void  )
void install_base_type_conversions ( void  )

Definition at line 1531 of file ov-base.cc.

References INSTALL_ASSIGNCONV, and INSTALL_WIDENOP.

Referenced by install_ops().

octave_value make_idx_args ( const std::string type,
const std::list< octave_value_list > &  idx,
const std::string who 
)
static octave_base_value* oct_conv_cell_conv ( const octave_base_value )
static

Definition at line 1434 of file ov-base.cc.

static octave_base_value* oct_conv_complex_matrix_conv ( const octave_base_value )
static

Definition at line 1422 of file ov-base.cc.

static octave_base_value* oct_conv_matrix_conv ( const octave_base_value )
static

Definition at line 1416 of file ov-base.cc.

static octave_base_value* oct_conv_string_conv ( const octave_base_value )
static

Definition at line 1428 of file ov-base.cc.

static octave_value_list sanitize ( const octave_value_list ovl)
inlinestatic

Definition at line 1440 of file ov-base.cc.

References octave_value::is_magic_colon(), octave_value_list::length(), ovl(), and retval.

Referenced by make_idx_args().

Variable Documentation

std::string btyp_class_name[btyp_num_types]
Initial value:
=
{
"double", "single", "double", "single",
"int8", "int16", "int32", "int64",
"uint8", "uint16", "uint32", "uint64",
"logical", "char",
"struct", "cell", "function_handle"
}

Definition at line 84 of file ov-base.cc.

Referenced by get_builtin_classes(), get_dispatch_type(), and make_fcn_handle().

bool Vsparse_auto_mutate = false