4#include <softfloat.hpp>
8namespace sysio {
namespace chain {
namespace webassembly {
13 *
ret = (
unsigned __int128)i;
27 *
ret = (
unsigned __int128)i;
33 *
ret = (
unsigned __int128)i;
46 SYS_ASSERT(rhs != 0, arithmetic_exception,
"divide by zero");
54 unsigned __int128 lhs = ha;
55 unsigned __int128 rhs = hb;
63 SYS_ASSERT(rhs != 0, arithmetic_exception,
"divide by zero");
93 SYS_ASSERT(rhs != 0, arithmetic_exception,
"divide by zero");
100 unsigned __int128 lhs = ha;
101 unsigned __int128 rhs = hb;
109 SYS_ASSERT(rhs != 0, arithmetic_exception,
"divide by zero");
208 unsigned __int128 val = (
unsigned __int128)v;
220 return return_value_if_nan;
228 return cmptf2_impl(*
this, la, ha, lb, hb, 1);
231 return cmptf2_impl(*
this, la, ha, lb, hb, 1);
234 return cmptf2_impl(*
this, la, ha, lb, hb, -1);
237 return cmptf2_impl(*
this, la, ha, lb, hb, 0);
240 return cmptf2_impl(*
this, la, ha, lb, hb, 1);
243 return cmptf2_impl(*
this, la, ha, lb, hb, 0);
246 return cmptf2_impl(*
this, la, ha, lb, hb, 1);
#define SYS_ASSERT(expr, exc_type, FORMAT,...)
an implementation of 128 bit unsigned integer
void __ashlti3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint32_t) const
int32_t __lttf2(uint64_t, uint64_t, uint64_t, uint64_t) const
void __floatunditf(legacy_ptr< float128_t >, uint64_t) const
void __floatunsitf(legacy_ptr< float128_t >, uint32_t) const
void __subtf3(legacy_ptr< float128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __fixunssfti(legacy_ptr< uint128_t >, float) const
uint32_t __fixunstfsi(uint64_t, uint64_t) const
int32_t __fixtfsi(uint64_t, uint64_t) const
void __lshrti3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint32_t) const
void __lshlti3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint32_t) const
void __divtf3(legacy_ptr< float128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __floatditf(legacy_ptr< float128_t >, uint64_t) const
void __extenddftf2(legacy_ptr< float128_t >, double) const
void __fixtfti(legacy_ptr< int128_t >, uint64_t, uint64_t) const
void __umodti3(legacy_ptr< uint128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __fixunsdfti(legacy_ptr< uint128_t >, double) const
void __negtf2(legacy_ptr< float128_t >, uint64_t, uint64_t) const
void __divti3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
int32_t __eqtf2(uint64_t, uint64_t, uint64_t, uint64_t) const
uint64_t __fixunstfdi(uint64_t, uint64_t) const
int32_t __cmptf2(uint64_t, uint64_t, uint64_t, uint64_t) const
double __floatuntidf(uint64_t, uint64_t) const
void __fixunstfti(legacy_ptr< uint128_t >, uint64_t, uint64_t) const
int32_t __netf2(uint64_t, uint64_t, uint64_t, uint64_t) const
double __floattidf(uint64_t, uint64_t) const
float __trunctfsf2(uint64_t, uint64_t) const
void __modti3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __extendsftf2(legacy_ptr< float128_t >, float) const
void __multf3(legacy_ptr< float128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __floatsitf(legacy_ptr< float128_t >, int32_t) const
void __fixsfti(legacy_ptr< int128_t >, float) const
int64_t __fixtfdi(uint64_t, uint64_t) const
int32_t __letf2(uint64_t, uint64_t, uint64_t, uint64_t) const
int32_t __gttf2(uint64_t, uint64_t, uint64_t, uint64_t) const
double __trunctfdf2(uint64_t, uint64_t) const
void __addtf3(legacy_ptr< float128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __ashrti3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint32_t) const
void __multi3(legacy_ptr< int128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
void __fixdfti(legacy_ptr< int128_t >, double) const
int32_t __unordtf2(uint64_t, uint64_t, uint64_t, uint64_t) const
void __udivti3(legacy_ptr< uint128_t >, uint64_t, uint64_t, uint64_t, uint64_t) const
double __floatsidf(int32_t) const
int32_t __getf2(uint64_t, uint64_t, uint64_t, uint64_t) const
__int128 ___fixdfti(uint64_t)
unsigned __int128 ___fixunsdfti(uint64_t)
double ___floatuntidf(unsigned __int128)
double ___floattidf(__int128)
unsigned __int128 ___fixunssfti(uint32_t)
__int128 ___fixtfti(float128_t)
__int128 ___fixsfti(uint32_t)
unsigned __int128 ___fixunstfti(float128_t)
const GenericPointer< typename T::ValueType > T2 T::AllocatorType & a
float128_t f128_add(float128_t a, float128_t b)
float128_t f128_div(float128_t a, float128_t b)
bool f128_eq(float128_t a, float128_t b)
bool f128_lt(float128_t a, float128_t b)
float128_t f128_mul(float128_t a, float128_t b)
float128_t f128_sub(float128_t a, float128_t b)
float32_t f128_to_f32(float128_t a)
float64_t f128_to_f64(float128_t a)
int_fast32_t f128_to_i32(float128_t a, uint_fast8_t roundingMode, bool exact)
int_fast64_t f128_to_i64(float128_t a, uint_fast8_t roundingMode, bool exact)
uint_fast32_t f128_to_ui32(float128_t a, uint_fast8_t roundingMode, bool exact)
uint_fast64_t f128_to_ui64(float128_t a, uint_fast8_t roundingMode, bool exact)
float128_t f32_to_f128(float32_t a)
float128_t f64_to_f128(float64_t a)
float128_t i32_to_f128(int32_t a)
float64_t i32_to_f64(int32_t a)
float128_t i64_to_f128(int64_t a)
float32_t to_softfloat32(float f)
float128_t ui32_to_f128(uint32_t)
bool f128_is_nan(const float128_t &f)
double from_softfloat64(float64_t d)
float64_t to_softfloat64(double d)
float from_softfloat32(float32_t f)
float128_t ui64_to_f128(uint64_t)
unsigned __int64 uint64_t