shithub: sl

ref: b78c9edfb4e91efa4aa61e09feaf3da4848342b0
dir: /src/operators.h/

View raw version
#pragma once

s32int conv_to_s32(sl_v v, void *data, sl_numtype tag);
u32int conv_to_u32(sl_v v, void *data, sl_numtype tag);
s64int conv_to_s64(sl_v v, void *data, sl_numtype tag);
u64int conv_to_u64(sl_v v, void *data, sl_numtype tag);
mpint *conv_to_bignum(sl_v v, void *data, sl_numtype tag);
double conv_to_double(sl_v v, void *data, sl_numtype tag);

#if defined(BITS64)
#define conv_to_ptr conv_to_u64
#else
#define conv_to_ptr conv_to_u32
#endif

bool cmp_same_lt(void *a, void *b, sl_numtype tag);
bool cmp_same_eq(void *a, void *b, sl_numtype tag);
bool cmp_lt(void *a, sl_numtype atag, void *b, sl_numtype btag);
bool cmp_eq(void *a, sl_numtype atag, void *b, sl_numtype btag, bool equalnans);