shithub: sl

ref: 1dc8deebc22a54ef966eb9d23efa9682e185ee01
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_mp(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);