3ds Max C++ API Reference
Loading...
Searching...
No Matches
numbers.h File Reference
#include "../kernel/value.h"
#include "mxstime.h"
#include "..\protocols\math.inl"

Classes

class  Number
 
class  Float
 
class  Double
 
class  Integer
 
class  Integer64
 
class  IntegerPtr
 

Macros

#define FLOAT_CACHE_SIZE   1024
 
#define DOUBLE_CACHE_SIZE   512
 
#define INT_CACHE_SIZE   512
 
#define INT64_CACHE_SIZE   128
 
#define LOW_INT_RANGE   100
 
#define is_integer_number(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer) || (v)->tag == class_tag(Integer64) || (v)->tag == class_tag(IntegerPtr))
 
#define integer_type_check(v, where)   if (!is_integer_number(v)) type_check(v, Integer, where)
 
#define is_float_number(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float) || (v)->tag == class_tag(Double))
 
#define float_type_check(v, where)   if (!is_float_number(v)) type_check(v, Float, where)
 
#define is_number(o)   (is_integer_number(o) || is_float_number(o))
 
#define is_double(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Double))
 
#define is_integer(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer))
 
#define is_integer64(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer64))
 
#define is_integerptr(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(IntegerPtr))
 
#define is_float(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float))
 
#define is_double(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Double))
 
#define is_int(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer))
 
#define is_int64(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer64))
 
#define is_intptr(v)   ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(IntegerPtr))
 

Variables

Floatfloat_cache []
 
Doubledouble_cache []
 
Integerint_cache []
 
Integer64int64_cache []
 
 Float
 
 Double
 
 Integer
 
 Integer64
 
 IntegerPtr
 

Macro Definition Documentation

◆ FLOAT_CACHE_SIZE

#define FLOAT_CACHE_SIZE   1024

◆ DOUBLE_CACHE_SIZE

#define DOUBLE_CACHE_SIZE   512

◆ INT_CACHE_SIZE

#define INT_CACHE_SIZE   512

◆ INT64_CACHE_SIZE

#define INT64_CACHE_SIZE   128

◆ LOW_INT_RANGE

#define LOW_INT_RANGE   100

◆ is_integer_number

#define is_integer_number (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer) || (v)->tag == class_tag(Integer64) || (v)->tag == class_tag(IntegerPtr))

◆ integer_type_check

#define integer_type_check (   v,
  where 
)    if (!is_integer_number(v)) type_check(v, Integer, where)

◆ is_float_number

#define is_float_number (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float) || (v)->tag == class_tag(Double))

◆ float_type_check

#define float_type_check (   v,
  where 
)    if (!is_float_number(v)) type_check(v, Float, where)

◆ is_number

#define is_number (   o)    (is_integer_number(o) || is_float_number(o))

◆ is_double [1/2]

#define is_double (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Double))

◆ is_integer

#define is_integer (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer))

◆ is_integer64

#define is_integer64 (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer64))

◆ is_integerptr

#define is_integerptr (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(IntegerPtr))

◆ is_float

#define is_float (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float))

◆ is_double [2/2]

#define is_double (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Double))

◆ is_int

#define is_int (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer))

◆ is_int64

#define is_int64 (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Integer64))

◆ is_intptr

#define is_intptr (   v)    ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(IntegerPtr))

Variable Documentation

◆ float_cache

Float* float_cache[]
extern

◆ double_cache

Double* double_cache[]
extern

◆ int_cache

Integer* int_cache[]
extern

◆ int64_cache

Integer64* int64_cache[]
extern

◆ Float

◆ Double

◆ Integer

◆ Integer64

◆ IntegerPtr