40 using namespace UT::Literal;
42 namespace HDK_Sample {
45 template <VEX_Precision PREC>
47 drand_Evaluate(
int,
void *argv[],
void *)
57 template <VEX_Precision PREC>
59 time_Evaluate(
int,
void *argv[],
void *)
68 template <VEX_Precision PREC>
82 template <VEX_Precision PREC>
static void *
93 template <VEX_Precision PREC>
static void
94 gamma_Cleanup(
void *
data)
99 template <VEX_Precision PREC>
101 gamma_Evaluate(
int,
void *argv[],
void *
data)
110 template <VEX_Precision PREC>
112 myprint_Evaluate(
int argc,
VEX_VexOpArg argv[],
void *data)
114 printf(
"%d args:\n", argc);
115 for (
int i = 0; i < argc; i++)
119 switch (argv[i].myType)
122 std::cout <<
" int " << *(
const VEXint<PREC> *)argv[i].myArg <<
'\n';
125 std::cout <<
" float " << *(
const VEXfloat<PREC> *)argv[i].myArg <<
'\n';
128 std::cout <<
" string " << *(
const char *)argv[i].myArg <<
'\n';
141 using namespace HDK_Sample;
148 drand_Evaluate<VEX_32>,
149 drand_Evaluate<VEX_64>,
158 time_Evaluate<VEX_32>,
159 time_Evaluate<VEX_64>,
167 gamma_Evaluate<VEX_32>,
168 gamma_Evaluate<VEX_64>,
172 gamma_Cleanup<VEX_32>,
173 gamma_Cleanup<VEX_64>);
177 myprint_Evaluate<VEX_32>,
178 myprint_Evaluate<VEX_64>,
GT_API const UT_StringHolder time
auto printf(const S &fmt, const T &...args) -> int
SYS_API void SYSsrand48(long seed)
Use this class to extend VEX by adding custom VEX functions.
**But if you need a result
typename VEX_PrecisionResolver< P >::float_type VEXfloat
SYS_API double SYSdrand48()
GLenum GLenum GLsizei void * table
typename VEX_PrecisionResolver< P >::int_type VEXint
VEXfloat< PREC > evaluate(VEXfloat< PREC > v)