#include "octave-config.h"
#include <cstdlib>
#include <iosfwd>
#include <list>
#include <memory>
#include <string>
#include "Range.h"
#include "data-conv.h"
#include "mx-base.h"
#include "str-vec.h"
#include "auto-shlib.h"
#include "oct-hdf5-types.h"
#include "oct-stream.h"
Go to the source code of this file.
Namespaces | |
namespace | octave |
Macros | |
#define | DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2(virtual) |
#define | DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG) |
#define | DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2(VIRTUAL) |
#define | DECLARE_TEMPLATE_OV_TYPEID_SPECIALIZATIONS(cls, type) |
#define | DEF_BTYP_TRAITS(BTYP, CLASS) |
#define | DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA(t, n, c) DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA_INTERNAL ( , t, n, c) |
#define | DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA_INTERNAL(tspec, t, n, c) |
#define | DEFINE_TEMPLATE_OV_TYPEID_FUNCTIONS_AND_DATA(t, n, c) DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA_INTERNAL (template <>, t, n, c) |
#define | OCTAVE_EMPTY_CPP_ARG /* empty */ |
Enumerations | |
enum | builtin_type_t { btyp_double , btyp_float , btyp_complex , btyp_float_complex , btyp_int8 , btyp_int16 , btyp_int32 , btyp_int64 , btyp_uint8 , btyp_uint16 , btyp_uint32 , btyp_uint64 , btyp_bool , btyp_char , btyp_struct , btyp_cell , btyp_func_handle , btyp_unknown , btyp_num_types = btyp_unknown } |
Functions | |
type_info & | octave::__get_type_info__ (const std::string &who) |
bool | btyp_isarray (builtin_type_t btyp) |
bool | btyp_isfloat (builtin_type_t btyp) |
bool | btyp_isinteger (builtin_type_t btyp) |
bool | btyp_isnumeric (builtin_type_t btyp) |
OCTINTERP_API builtin_type_t | btyp_mixed_numeric (builtin_type_t x, builtin_type_t y) |
Determine the resulting type for a possible mixed-type operation. More... | |
OCTINTERP_API bool | called_from_builtin (void) |
OCTINTERP_API octave_value | make_idx_args (const std::string &type, const std::list< octave_value_list > &idx, const std::string &who) |
Variables | |
OCTINTERP_API std::string | btyp_class_name [] |
OCTINTERP_API bool | Vsparse_auto_mutate |
#define DECLARE_OV_BASE_TYPEID_FUNCTIONS_AND_DATA DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2(virtual) |
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 (OCTAVE_EMPTY_CPP_ARG) |
#define DECLARE_OV_TYPEID_FUNCTIONS_AND_DATA2 | ( | VIRTUAL | ) |
#define DECLARE_TEMPLATE_OV_TYPEID_SPECIALIZATIONS | ( | cls, | |
type | |||
) |
#define DEF_BTYP_TRAITS | ( | BTYP, | |
CLASS | |||
) |
#define DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA | ( | t, | |
n, | |||
c | |||
) | DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA_INTERNAL ( , t, n, c) |
#define DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA_INTERNAL | ( | tspec, | |
t, | |||
n, | |||
c | |||
) |
#define DEFINE_TEMPLATE_OV_TYPEID_FUNCTIONS_AND_DATA | ( | t, | |
n, | |||
c | |||
) | DEFINE_OV_TYPEID_FUNCTIONS_AND_DATA_INTERNAL (template <>, t, n, c) |
enum builtin_type_t |
|
inline |
|
inline |
Definition at line 105 of file ov-base.h.
References btyp_float_complex.
Referenced by ov_range< T >::isfloat().
|
inline |
Definition at line 102 of file ov-base.h.
References btyp_int8, and btyp_uint64.
Referenced by build_sup_table(), and ov_range< T >::isinteger().
|
inline |
Definition at line 99 of file ov-base.h.
References btyp_uint64.
Referenced by ov_range< T >::isnumeric().
OCTINTERP_API builtin_type_t btyp_mixed_numeric | ( | builtin_type_t | x, |
builtin_type_t | y | ||
) |
Determine the resulting type for a possible mixed-type operation.
Rules for the resulting type:
Definition at line 65 of file ov-base.cc.
References btyp_bool, btyp_double, btyp_unknown, and x.
Referenced by do_extended_gcd(), do_minmax_body(), and do_simple_gcd().
OCTINTERP_API bool called_from_builtin | ( | void | ) |
Definition at line 1519 of file ov-base.cc.
References octave::__get_evaluator__(), and octave_function::name().
Referenced by octave_class::size(), octave_classdef::size(), octave_classdef::subsasgn(), octave_class::subsasgn_common(), octave_class::subsref(), octave_classdef::subsref(), octave_class::xnumel(), and octave_classdef::xnumel().
OCTINTERP_API octave_value make_idx_args | ( | const std::string & | type, |
const std::list< octave_value_list > & | idx, | ||
const std::string & | who | ||
) |
Definition at line 1456 of file ov-base.cc.
References octave_map::assign(), error(), octave_value::is_string(), len, octave_value_list::length(), panic_impossible, and sanitize().
Referenced by octave_classdef::subsasgn(), octave_class::subsasgn_common(), octave_class::subsref(), and octave_classdef::subsref().
|
extern |
Definition at line 89 of file ov-base.cc.
Referenced by get_dispatch_type().
|
extern |
Definition at line 103 of file ov-base.cc.
Referenced by Fsparse(), Fsparse_auto_mutate(), octave_sparse_bool_matrix::try_narrowing_conversion(), octave_sparse_complex_matrix::try_narrowing_conversion(), and octave_sparse_matrix::try_narrowing_conversion().