#include
"../kernel/value.h"
#include "mxstime.h"
#include "../macros/define_implementations.h"
#include "..\protocols\math.inl"
Classes |
|
class | Double |
class | Integer |
class | Integer64 |
class | IntegerPtr |
Defines |
|
#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 | is_float_number(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float) || (v)->tag == class_tag(Double)) |
#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)) |
Functions |
|
visible_class_debug_ok (Number) class Number | |
applyable_class_debug_ok (Float) applyable_class_debug_ok(Double) applyable_class_debug_ok(Integer) applyable_class_debug_ok(Integer64) applyable_class_debug_ok(IntegerPtr) class Float | |
Variables |
|
Float * | float_cache [] |
Double * | double_cache [] |
Integer * | int_cache [] |
Integer64 * | int64_cache [] |
#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 is_float_number | ( | v | ) | ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float) || (v)->tag == class_tag(Double)) |
#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)) |
visible_class_debug_ok | ( | Number | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
: public Value { public: # 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 is_float_number(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float) || (v)->tag == class_tag(Double)) # define is_number(o) (is_integer_number(o) || is_float_number(o)) classof_methods (Number, Value); static Value* read(const MCHAR* str, bool heapAlloc = false); static void setup(); #include "../macros/define_implementations.h" def_generic( coerce, "coerce"); def_generic( copy, "copy"); };
applyable_class_debug_ok | ( | Float | ) |
Define an equal operator (i.e. '==') for maxscript visible values.
Define a NOT equal operator (i.e. '!=') for maxscript visible values.
: public Number { public: float value; #pragma push_macro("new") #undef new ENABLE_STACK_ALLOCATE(Float); #pragma pop_macro("new") Float() { } ScripterExport Float(float init_val); static ScripterExport Value* intern(float init_val); static ScripterExport Value* heap_intern(float init_val); classof_methods (Float, Number); # define is_float(v) ((DbgVerify(!is_sourcepositionwrapper(v)), (v))->tag == class_tag(Float)) void collect(); ScripterExport void sprin1(CharStream* s); /* include all the protocol declarations */ #include "../macros/define_implementations.h" # include "..\protocols\math.inl" float to_float() { return value; } double to_double() { return static_cast<double>(value); } int to_int(); INT64 to_int64() { return static_cast<INT64>(value); } INT_PTR to_intptr() { #ifndef _WIN64 return to_int(); #else return to_int64(); #endif } TimeValue to_timevalue() { return (TimeValue)(value * GetTicksPerFrame()); } // numbers used as times are in frames void to_fpvalue(FPValue& v) { v.f = to_float(); v.type = (ParamType2)TYPE_FLOAT; } Value* widen_to(Value* arg, Value** arg_list); BOOL comparable(Value* arg) { return (is_number(arg) || is_time(arg)); } // scene I/O IOResult Save(ISave* isave); static Value* Load(ILoad* iload, USHORT chunkID, ValueLoader* vload); };
Float* float_cache[] |