Ruby
2.4.2p198(2017-09-14revision59899)
|
Go to the source code of this file.
Data Structures | |
struct | Real |
Macros | |
#define | BDIGIT uint16_t |
#define | BDIGIT_DBL uint32_t |
#define | BDIGIT_DBL_SIGNED int32_t |
#define | SIZEOF_BDIGITS 2 |
#define | PRI_BDIGIT_PREFIX "h" |
#define | PRI_BDIGIT_DBL_PREFIX "" |
#define | PRIdBDIGIT PRI_BDIGIT_PREFIX"d" |
#define | PRIiBDIGIT PRI_BDIGIT_PREFIX"i" |
#define | PRIoBDIGIT PRI_BDIGIT_PREFIX"o" |
#define | PRIuBDIGIT PRI_BDIGIT_PREFIX"u" |
#define | PRIxBDIGIT PRI_BDIGIT_PREFIX"x" |
#define | PRIXBDIGIT PRI_BDIGIT_PREFIX"X" |
#define | PRIdBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"d" |
#define | PRIiBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"i" |
#define | PRIoBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"o" |
#define | PRIuBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"u" |
#define | PRIxBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"x" |
#define | PRIXBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"X" |
#define | vabs abs |
#define | RMPD_COMPONENT_FIGURES 4 |
#define | RMPD_BASE ((BDIGIT)10000U) |
#define | SZ_NaN "NaN" |
#define | SZ_INF "Infinity" |
#define | SZ_PINF "+Infinity" |
#define | SZ_NINF "-Infinity" |
#define | VP_EXPORT static |
#define | VP_EXCEPTION_ALL ((unsigned short)0x00FF) |
#define | VP_EXCEPTION_INFINITY ((unsigned short)0x0001) |
#define | VP_EXCEPTION_NaN ((unsigned short)0x0002) |
#define | VP_EXCEPTION_UNDERFLOW ((unsigned short)0x0004) |
#define | VP_EXCEPTION_OVERFLOW ((unsigned short)0x0001) /* 0x0008) */ |
#define | VP_EXCEPTION_ZERODIVIDE ((unsigned short)0x0010) |
#define | VP_EXCEPTION_OP ((unsigned short)0x0020) |
#define | VP_EXCEPTION_MEMORY ((unsigned short)0x0040) |
#define | RMPD_EXCEPTION_MODE_DEFAULT 0U |
#define | VP_ROUND_MODE ((unsigned short)0x0100) |
#define | VP_ROUND_UP 1 |
#define | VP_ROUND_DOWN 2 |
#define | VP_ROUND_HALF_UP 3 |
#define | VP_ROUND_HALF_DOWN 4 |
#define | VP_ROUND_CEIL 5 |
#define | VP_ROUND_FLOOR 6 |
#define | VP_ROUND_HALF_EVEN 7 |
#define | RMPD_ROUNDING_MODE_DEFAULT VP_ROUND_HALF_UP |
#define | VP_SIGN_NaN 0 /* NaN */ |
#define | VP_SIGN_POSITIVE_ZERO 1 /* Positive zero */ |
#define | VP_SIGN_NEGATIVE_ZERO -1 /* Negative zero */ |
#define | VP_SIGN_POSITIVE_FINITE 2 /* Positive finite number */ |
#define | VP_SIGN_NEGATIVE_FINITE -2 /* Negative finite number */ |
#define | VP_SIGN_POSITIVE_INFINITE 3 /* Positive infinite number */ |
#define | VP_SIGN_NEGATIVE_INFINITE -3 /* Negative infinite number */ |
#define | FLEXIBLE_ARRAY_SIZE 1 |
#define | VpBaseFig() rmpd_component_figures() |
#define | VpDblFig() rmpd_double_figures() |
#define | VpBaseVal() rmpd_base_value() |
#define | Abs(a) (((a)>= 0)?(a):(-(a))) |
#define | Max(a, b) (((a)>(b))?(a):(b)) |
#define | Min(a, b) (((a)>(b))?(b):(a)) |
#define | VpMaxPrec(a) ((a)->MaxPrec) |
#define | VpPrec(a) ((a)->Prec) |
#define | VpGetFlag(a) ((a)->flag) |
#define | VpGetSign(a) (((a)->sign>0)?1:(-1)) |
#define | VpChangeSign(a, s) {if((s)>0) (a)->sign=(short)Abs((ssize_t)(a)->sign);else (a)->sign=-(short)Abs((ssize_t)(a)->sign);} |
#define | VpSetSign(a, s) {if((s)>0) (a)->sign=(short)VP_SIGN_POSITIVE_FINITE;else (a)->sign=(short)VP_SIGN_NEGATIVE_FINITE;} |
#define | VpSetOne(a) {(a)->Prec=(a)->exponent=(a)->frac[0]=1;(a)->sign=VP_SIGN_POSITIVE_FINITE;} |
#define | VpIsPosZero(a) ((a)->sign==VP_SIGN_POSITIVE_ZERO) |
#define | VpIsNegZero(a) ((a)->sign==VP_SIGN_NEGATIVE_ZERO) |
#define | VpIsZero(a) (VpIsPosZero(a) || VpIsNegZero(a)) |
#define | VpSetPosZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_ZERO) |
#define | VpSetNegZero(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_ZERO) |
#define | VpSetZero(a, s) (void)(((s)>0)?VpSetPosZero(a):VpSetNegZero(a)) |
#define | VpIsNaN(a) ((a)->sign==VP_SIGN_NaN) |
#define | VpSetNaN(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NaN) |
#define | VpIsPosInf(a) ((a)->sign==VP_SIGN_POSITIVE_INFINITE) |
#define | VpIsNegInf(a) ((a)->sign==VP_SIGN_NEGATIVE_INFINITE) |
#define | VpIsInf(a) (VpIsPosInf(a) || VpIsNegInf(a)) |
#define | VpIsDef(a) ( !(VpIsNaN(a)||VpIsInf(a)) ) |
#define | VpSetPosInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_INFINITE) |
#define | VpSetNegInf(a) ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_INFINITE) |
#define | VpSetInf(a, s) (void)(((s)>0)?VpSetPosInf(a):VpSetNegInf(a)) |
#define | VpHasVal(a) (a->frac[0]) |
#define | VpIsOne(a) ((a->Prec==1)&&(a->frac[0]==1)&&(a->exponent==1)) |
#define | VpExponent(a) (a->exponent) |
Functions | |
static long | labs (long const x) |
static LONG_LONG | llabs (LONG_LONG const x) |
static int | finite (double) |
static const VALUE * | rb_array_const_ptr (VALUE a) |
static VALUE | rb_sym2str (VALUE sym) |
VP_EXPORT Real * | VpNewRbClass (size_t mx, char const *str, VALUE klass) |
VP_EXPORT Real * | VpCreateRbObject (size_t mx, const char *str) |
static BDIGIT | rmpd_base_value (void) |
static size_t | rmpd_component_figures (void) |
static size_t | rmpd_double_figures (void) |
VP_EXPORT double | VpGetDoubleNaN (void) |
VP_EXPORT double | VpGetDoublePosInf (void) |
VP_EXPORT double | VpGetDoubleNegInf (void) |
VP_EXPORT double | VpGetDoubleNegZero (void) |
VP_EXPORT size_t | VpGetPrecLimit (void) |
VP_EXPORT size_t | VpSetPrecLimit (size_t n) |
VP_EXPORT int | VpIsRoundMode (unsigned short n) |
VP_EXPORT unsigned short | VpGetRoundMode (void) |
VP_EXPORT unsigned short | VpSetRoundMode (unsigned short n) |
VP_EXPORT int | VpException (unsigned short f, const char *str, int always) |
VP_EXPORT size_t | VpNumOfChars (Real *vp, const char *pszFmt) |
VP_EXPORT size_t | VpInit (BDIGIT BaseVal) |
VP_EXPORT void * | VpMemAlloc (size_t mb) |
VP_EXPORT void * | VpMemRealloc (void *ptr, size_t mb) |
VP_EXPORT void | VpFree (Real *pv) |
VP_EXPORT Real * | VpAlloc (size_t mx, const char *szVal) |
VP_EXPORT size_t | VpAsgn (Real *c, Real *a, int isw) |
VP_EXPORT size_t | VpAddSub (Real *c, Real *a, Real *b, int operation) |
VP_EXPORT size_t | VpMult (Real *c, Real *a, Real *b) |
VP_EXPORT size_t | VpDivd (Real *c, Real *r, Real *a, Real *b) |
VP_EXPORT int | VpComp (Real *a, Real *b) |
VP_EXPORT ssize_t | VpExponent10 (Real *a) |
VP_EXPORT void | VpSzMantissa (Real *a, char *psz) |
VP_EXPORT int | VpToSpecialString (Real *a, char *psz, int fPlus) |
VP_EXPORT void | VpToString (Real *a, char *psz, size_t fFmt, int fPlus) |
VP_EXPORT void | VpToFString (Real *a, char *psz, size_t fFmt, int fPlus) |
VP_EXPORT int | VpCtoV (Real *a, const char *int_chr, size_t ni, const char *frac, size_t nf, const char *exp_chr, size_t ne) |
VP_EXPORT int | VpVtoD (double *d, SIGNED_VALUE *e, Real *m) |
VP_EXPORT void | VpDtoV (Real *m, double d) |
VP_EXPORT int | VpSqrt (Real *y, Real *x) |
VP_EXPORT int | VpActiveRound (Real *y, Real *x, unsigned short f, ssize_t il) |
VP_EXPORT int | VpMidRound (Real *y, unsigned short f, ssize_t nf) |
VP_EXPORT int | VpLeftRound (Real *y, unsigned short f, ssize_t nf) |
VP_EXPORT void | VpFrac (Real *y, Real *x) |
VP_EXPORT int | VpPower (Real *y, Real *x, SIGNED_VALUE n) |
VP_EXPORT Real * | VpOne (void) |
Variables | |
VALUE | rb_cBigDecimal |
#define Abs | ( | a | ) | (((a)>= 0)?(a):(-(a))) |
Definition at line 333 of file bigdecimal.h.
#define BDIGIT uint16_t |
Definition at line 46 of file bigdecimal.h.
Referenced by abs2twocomp(), absint_numwords_generic(), bary_addc(), bary_cmp(), bary_divmod(), bary_divmod_normal(), bary_mul_balance_with_mulfunc(), bary_mul_karatsuba(), bary_mul_precheck(), bary_mul_toom3(), bary_pack(), bary_small_rshift(), bary_sq_fast(), bary_swap(), bary_unpack_internal(), bdigitdbl2bary(), big2dbl(), big2str_generic(), big2str_karatsuba(), big2ulong(), big_shift3(), bigadd_int(), bigand_int(), BigDecimal_div(), BigDecimal_hash(), BigDecimal_memsize(), BigDecimal_version(), bigdivrem(), bigdivrem1(), bigdivrem_restoring(), bigdivrem_single1(), bigfixize(), bigmul0(), bignew_1(), bigor_int(), bigsq(), bigsub(), bigsub_int(), bigtrunc(), bigxor_int(), dbl2big(), get2comp(), ibf_dump_object_bignum(), nlz(), obj_memsize_of(), rb_absint_singlebit_p(), rb_absint_size(), rb_big2long(), rb_big2str1(), rb_big2str_generic(), rb_big_2comp(), rb_big_and(), rb_big_aref(), rb_big_bit_length(), rb_big_clone(), rb_big_comp(), rb_big_divrem_normal(), rb_big_eq(), rb_big_eql(), rb_big_hash(), rb_big_mul_toom3(), rb_big_or(), rb_big_realloc(), rb_big_stop(), rb_big_xor(), rb_integer_pack(), rb_integer_unpack(), rb_str2big_karatsuba(), rb_uint2big(), str2big_karatsuba(), str2big_normal(), str2big_poweroftwo(), VpAddAbs(), VpAddSub(), VpAsgn(), VpComp(), VpCopy(), VpCtoV(), VpDivd(), VpDtoV(), VpLeftRound(), VpMidRound(), VpMult(), VpNmlz(), VpRdup(), VpSubAbs(), VpToFString(), VpToString(), and w_object().
#define BDIGIT_DBL uint32_t |
Definition at line 47 of file bigdecimal.h.
Referenced by bary_addc(), bary_divmod(), bary_mul_single(), bary_muladd_1xN(), bary_pack(), bary_small_lshift(), bary_small_rshift(), bary_sq_fast(), bary_unpack_internal(), big2str_2bdigits(), bigadd_int(), BigDecimal_div(), bigdivrem(), bigdivrem_mulsub(), bigdivrem_single1(), integer_pack_fill_dd(), integer_pack_take_lowbits(), integer_unpack_push_bits(), maxpow_in_bdigit_dbl(), power_cache_get_power(), rb_integer_unpack(), str2big_karatsuba(), str2big_normal(), str2big_poweroftwo(), VpDivd(), VpMult(), and VpSzMantissa().
#define BDIGIT_DBL_SIGNED int32_t |
Definition at line 48 of file bigdecimal.h.
Referenced by bary_muladd_1xN(), bary_mulsub_1xN(), bary_pack(), bary_subb(), BigDecimal_to_i(), bigdivrem1(), bigdivrem_mulsub(), bigsub_int(), and rb_integer_unpack().
#define FLEXIBLE_ARRAY_SIZE 1 |
Definition at line 225 of file bigdecimal.h.
#define Max | ( | a, | |
b | |||
) | (((a)>(b))?(a):(b)) |
Definition at line 334 of file bigdecimal.h.
Referenced by vm_init_redefined_flag(), VpAlloc(), and VpSetPTR().
#define Min | ( | a, | |
b | |||
) | (((a)>(b))?(b):(a)) |
Definition at line 335 of file bigdecimal.h.
Referenced by vm_init_redefined_flag(), VpAddSub(), VpDivd(), VpFrac(), VpSqrt(), and VpVtoD().
#define PRI_BDIGIT_DBL_PREFIX "" |
Definition at line 51 of file bigdecimal.h.
#define PRI_BDIGIT_PREFIX "h" |
Definition at line 50 of file bigdecimal.h.
#define PRIdBDIGIT PRI_BDIGIT_PREFIX"d" |
Definition at line 54 of file bigdecimal.h.
#define PRIdBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"d" |
Definition at line 61 of file bigdecimal.h.
#define PRIiBDIGIT PRI_BDIGIT_PREFIX"i" |
Definition at line 55 of file bigdecimal.h.
#define PRIiBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"i" |
Definition at line 62 of file bigdecimal.h.
#define PRIoBDIGIT PRI_BDIGIT_PREFIX"o" |
Definition at line 56 of file bigdecimal.h.
#define PRIoBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"o" |
Definition at line 63 of file bigdecimal.h.
#define PRIuBDIGIT PRI_BDIGIT_PREFIX"u" |
Definition at line 57 of file bigdecimal.h.
#define PRIuBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"u" |
Definition at line 64 of file bigdecimal.h.
#define PRIxBDIGIT PRI_BDIGIT_PREFIX"x" |
Definition at line 58 of file bigdecimal.h.
#define PRIXBDIGIT PRI_BDIGIT_PREFIX"X" |
Definition at line 59 of file bigdecimal.h.
#define PRIxBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"x" |
Definition at line 65 of file bigdecimal.h.
#define PRIXBDIGIT_DBL PRI_BDIGIT_DBL_PREFIX"X" |
Definition at line 66 of file bigdecimal.h.
#define RMPD_BASE ((BDIGIT)10000U) |
Definition at line 167 of file bigdecimal.h.
Referenced by rmpd_base_value().
#define RMPD_COMPONENT_FIGURES 4 |
Definition at line 166 of file bigdecimal.h.
Referenced by rmpd_component_figures(), and VpComp().
#define RMPD_EXCEPTION_MODE_DEFAULT 0U |
Definition at line 200 of file bigdecimal.h.
Referenced by VpGetException().
#define RMPD_ROUNDING_MODE_DEFAULT VP_ROUND_HALF_UP |
Definition at line 212 of file bigdecimal.h.
Referenced by VpGetRoundMode().
#define SIZEOF_BDIGITS 2 |
Definition at line 49 of file bigdecimal.h.
#define SZ_INF "Infinity" |
Definition at line 178 of file bigdecimal.h.
Referenced by VpAlloc(), VpComp(), VpSzMantissa(), and VpToSpecialString().
#define SZ_NaN "NaN" |
Definition at line 177 of file bigdecimal.h.
Referenced by VpAlloc(), VpComp(), VpSzMantissa(), and VpToSpecialString().
#define SZ_NINF "-Infinity" |
Definition at line 180 of file bigdecimal.h.
Referenced by VpAlloc(), VpComp(), VpSzMantissa(), and VpToSpecialString().
#define SZ_PINF "+Infinity" |
Definition at line 179 of file bigdecimal.h.
Referenced by VpAlloc().
#define vabs abs |
Definition at line 147 of file bigdecimal.h.
Referenced by BigDecimal_divide(), BigDecimal_DoDivmod(), BigMath_s_exp(), and BigMath_s_log().
#define VP_EXCEPTION_ALL ((unsigned short)0x00FF) |
Definition at line 189 of file bigdecimal.h.
Referenced by BigDecimal_mode(), and Init_bigdecimal().
#define VP_EXCEPTION_INFINITY ((unsigned short)0x0001) |
Definition at line 190 of file bigdecimal.h.
Referenced by BigDecimal_check_num(), BigDecimal_mode(), GetAddSubPrec(), Init_bigdecimal(), ToValue(), VpCtoV(), VpException(), and VpIsDefOP().
#define VP_EXCEPTION_MEMORY ((unsigned short)0x0040) |
Definition at line 198 of file bigdecimal.h.
Referenced by VpException(), VpMemAlloc(), and VpMemRealloc().
#define VP_EXCEPTION_NaN ((unsigned short)0x0002) |
Definition at line 191 of file bigdecimal.h.
Referenced by BigDecimal_check_num(), BigDecimal_mode(), Init_bigdecimal(), ToValue(), VpDivd(), VpException(), and VpIsDefOP().
#define VP_EXCEPTION_OP ((unsigned short)0x0020) |
Definition at line 197 of file bigdecimal.h.
Referenced by VpException(), and VpSqrt().
#define VP_EXCEPTION_OVERFLOW ((unsigned short)0x0001) /* 0x0008) */ |
Definition at line 193 of file bigdecimal.h.
Referenced by AddExponent(), BigDecimal_to_f(), and Init_bigdecimal().
#define VP_EXCEPTION_UNDERFLOW ((unsigned short)0x0004) |
Definition at line 192 of file bigdecimal.h.
Referenced by AddExponent(), BigDecimal_mode(), BigDecimal_to_f(), Init_bigdecimal(), and VpException().
#define VP_EXCEPTION_ZERODIVIDE ((unsigned short)0x0010) |
Definition at line 194 of file bigdecimal.h.
Referenced by BigDecimal_mode(), Init_bigdecimal(), VpDivd(), and VpException().
#define VP_EXPORT static |
Definition at line 186 of file bigdecimal.h.
Referenced by AddExponent(), GetPositiveInt(), One(), VpAlloc(), VpAsgn(), VpCtoV(), VpDtoV(), VpExponent10(), VpFormatSt(), VpFrac(), VpGetDoubleNaN(), VpGetDoubleNegInf(), VpGetDoubleNegZero(), VpGetDoublePosInf(), VpGetPrecLimit(), VpGetRoundMode(), VpInit(), VpIsDefOP(), VpIsRoundMode(), VpLeftRound(), VpMemAlloc(), VpMemRealloc(), VpMidRound(), VpMult(), VpNewRbClass(), VpNmlz(), VpNumOfChars(), VpRdup(), VpSetPTR(), VpSqrt(), VpSzMantissa(), VpToFString(), VpToSpecialString(), VpToString(), and VpVtoD().
#define VP_ROUND_CEIL 5 |
Definition at line 208 of file bigdecimal.h.
Referenced by BigDecimal_ceil(), check_rounding_mode(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_ROUND_DOWN 2 |
Definition at line 205 of file bigdecimal.h.
Referenced by BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_truncate(), check_rounding_mode(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_ROUND_FLOOR 6 |
Definition at line 209 of file bigdecimal.h.
Referenced by BigDecimal_floor(), check_rounding_mode(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_ROUND_HALF_DOWN 4 |
Definition at line 207 of file bigdecimal.h.
Referenced by check_rounding_mode(), check_rounding_mode_option(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_ROUND_HALF_EVEN 7 |
Definition at line 210 of file bigdecimal.h.
Referenced by check_rounding_mode(), check_rounding_mode_option(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_ROUND_HALF_UP 3 |
Definition at line 206 of file bigdecimal.h.
Referenced by check_rounding_mode(), check_rounding_mode_option(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_ROUND_MODE ((unsigned short)0x0100) |
Definition at line 203 of file bigdecimal.h.
Referenced by BigDecimal_mode(), and Init_bigdecimal().
#define VP_ROUND_UP 1 |
Definition at line 204 of file bigdecimal.h.
Referenced by check_rounding_mode(), Init_bigdecimal(), VpInternalRound(), VpIsRoundMode(), and VpMidRound().
#define VP_SIGN_NaN 0 /* NaN */ |
Definition at line 214 of file bigdecimal.h.
Referenced by Init_bigdecimal().
#define VP_SIGN_NEGATIVE_FINITE -2 /* Negative finite number */ |
Definition at line 218 of file bigdecimal.h.
Referenced by Init_bigdecimal().
#define VP_SIGN_NEGATIVE_INFINITE -3 /* Negative infinite number */ |
Definition at line 220 of file bigdecimal.h.
Referenced by Init_bigdecimal().
#define VP_SIGN_NEGATIVE_ZERO -1 /* Negative zero */ |
Definition at line 216 of file bigdecimal.h.
Referenced by Init_bigdecimal().
#define VP_SIGN_POSITIVE_FINITE 2 /* Positive finite number */ |
Definition at line 217 of file bigdecimal.h.
Referenced by Init_bigdecimal().
#define VP_SIGN_POSITIVE_INFINITE 3 /* Positive infinite number */ |
Definition at line 219 of file bigdecimal.h.
Referenced by BigMath_s_exp(), BigMath_s_log(), and Init_bigdecimal().
#define VP_SIGN_POSITIVE_ZERO 1 /* Positive zero */ |
Definition at line 215 of file bigdecimal.h.
Referenced by Init_bigdecimal().
#define VpBaseFig | ( | ) | rmpd_component_figures() |
Definition at line 273 of file bigdecimal.h.
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_ceil(), BigDecimal_coerce(), BigDecimal_div2(), BigDecimal_divide(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_dump(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_load(), BigDecimal_mult(), BigDecimal_neg(), BigDecimal_power(), BigDecimal_prec(), BigDecimal_round(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_to_i(), BigDecimal_truncate(), BigDecimalCmp(), and GetVpValueWithPrec().
#define VpBaseVal | ( | ) | rmpd_base_value() |
Definition at line 275 of file bigdecimal.h.
Referenced by BigDecimal_div(), and Init_bigdecimal().
#define VpChangeSign | ( | a, | |
s | |||
) | {if((s)>0) (a)->sign=(short)Abs((ssize_t)(a)->sign);else (a)->sign=-(short)Abs((ssize_t)(a)->sign);} |
Definition at line 346 of file bigdecimal.h.
Referenced by BigDecimal_abs(), and VpSqrt().
#define VpDblFig | ( | ) | rmpd_double_figures() |
Definition at line 274 of file bigdecimal.h.
Referenced by BigDecimal_double_fig(), and BigDecimal_sqrt().
#define VpExponent | ( | a | ) | (a->exponent) |
Definition at line 375 of file bigdecimal.h.
Referenced by VpLeftRound().
#define VpGetFlag | ( | a | ) | ((a)->flag) |
Definition at line 339 of file bigdecimal.h.
#define VpGetSign | ( | a | ) | (((a)->sign>0)?1:(-1)) |
Definition at line 344 of file bigdecimal.h.
Referenced by AddExponent(), BigDecimal_add(), BigDecimal_DoDivmod(), BigDecimal_power(), BigDecimal_sub(), BigDecimal_to_i(), BigDecimal_to_r(), VpAddSub(), VpAsgn(), VpComp(), VpDivd(), VpFrac(), VpIsDefOP(), VpMidRound(), VpMult(), VpNmlz(), VpPower(), and VpVtoD().
#define VpHasVal | ( | a | ) | (a->frac[0]) |
Definition at line 373 of file bigdecimal.h.
Referenced by BigDecimal_div(), VpExponent10(), VpFrac(), and VpLeftRound().
Definition at line 369 of file bigdecimal.h.
Referenced by BigDecimal_power(), GetAddSubPrec(), VpComp(), VpNmlz(), and VpNumOfChars().
#define VpIsInf | ( | a | ) | (VpIsPosInf(a) || VpIsNegInf(a)) |
Definition at line 368 of file bigdecimal.h.
Referenced by BigDecimal_DoDivmod(), BigDecimal_IsFinite(), BigDecimal_power(), VpAsgn(), VpIsDefOP(), and VpPower().
#define VpIsNaN | ( | a | ) | ((a)->sign==VP_SIGN_NaN) |
Definition at line 362 of file bigdecimal.h.
Referenced by BigDecimal_add(), BigDecimal_check_num(), BigDecimal_DoDivmod(), BigDecimal_IsFinite(), BigDecimal_IsNaN(), BigDecimal_power(), BigDecimal_sub(), BigMath_s_exp(), BigMath_s_log(), ToValue(), VpAsgn(), VpComp(), VpIsDefOP(), VpPower(), VpSqrt(), VpSzMantissa(), VpToSpecialString(), and VpVtoD().
#define VpIsNegInf | ( | a | ) | ((a)->sign==VP_SIGN_NEGATIVE_INFINITE) |
Definition at line 367 of file bigdecimal.h.
Referenced by BigDecimal_check_num(), BigDecimal_IsInfinite(), BigMath_s_exp(), BigMath_s_log(), ToValue(), VpComp(), VpSzMantissa(), VpToSpecialString(), and VpVtoD().
#define VpIsNegZero | ( | a | ) | ((a)->sign==VP_SIGN_NEGATIVE_ZERO) |
Definition at line 355 of file bigdecimal.h.
Referenced by VpVtoD().
#define VpIsOne | ( | a | ) | ((a->Prec==1)&&(a->frac[0]==1)&&(a->exponent==1)) |
Definition at line 374 of file bigdecimal.h.
#define VpIsPosInf | ( | a | ) | ((a)->sign==VP_SIGN_POSITIVE_INFINITE) |
Definition at line 366 of file bigdecimal.h.
Referenced by BigDecimal_check_num(), BigDecimal_IsInfinite(), BigMath_s_exp(), BigMath_s_log(), ToValue(), VpComp(), VpIsDefOP(), VpPower(), VpSqrt(), VpSzMantissa(), VpToSpecialString(), and VpVtoD().
#define VpIsPosZero | ( | a | ) | ((a)->sign==VP_SIGN_POSITIVE_ZERO) |
Definition at line 354 of file bigdecimal.h.
Referenced by VpSzMantissa(), VpToSpecialString(), and VpVtoD().
#define VpIsZero | ( | a | ) | (VpIsPosZero(a) || VpIsNegZero(a)) |
Definition at line 356 of file bigdecimal.h.
Referenced by BigDecimal_DoDivmod(), BigDecimal_nonzero(), BigDecimal_power(), BigDecimal_zero(), BigMath_s_exp(), BigMath_s_log(), rmpd_power_by_big_decimal(), VpAddSub(), VpAsgn(), VpComp(), VpDivd(), VpIsDefOP(), VpMult(), VpNmlz(), VpPower(), VpSqrt(), VpSzMantissa(), and VpToSpecialString().
#define VpMaxPrec | ( | a | ) | ((a)->MaxPrec) |
Definition at line 337 of file bigdecimal.h.
Referenced by BigDecimal_dump().
#define VpPrec | ( | a | ) | ((a)->Prec) |
Definition at line 338 of file bigdecimal.h.
#define VpSetInf | ( | a, | |
s | |||
) | (void)(((s)>0)?VpSetPosInf(a):VpSetNegInf(a)) |
Definition at line 372 of file bigdecimal.h.
Referenced by AddExponent(), BigDecimal_add(), BigDecimal_DoDivmod(), BigDecimal_power(), BigDecimal_sub(), BigMath_s_exp(), BigMath_s_log(), VpAsgn(), VpCtoV(), VpDivd(), VpIsDefOP(), and VpPower().
#define VpSetNaN | ( | a | ) | ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NaN) |
Definition at line 363 of file bigdecimal.h.
Referenced by BigDecimal_power(), BigMath_s_exp(), BigMath_s_log(), VpAlloc(), VpAsgn(), VpDivd(), VpDtoV(), VpIsDefOP(), VpPower(), and VpSqrt().
#define VpSetNegInf | ( | a | ) | ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_INFINITE) |
Definition at line 371 of file bigdecimal.h.
Referenced by BigDecimal_power(), VpAlloc(), and VpDtoV().
#define VpSetNegZero | ( | a | ) | ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_NEGATIVE_ZERO) |
Definition at line 358 of file bigdecimal.h.
#define VpSetOne | ( | a | ) | {(a)->Prec=(a)->exponent=(a)->frac[0]=1;(a)->sign=VP_SIGN_POSITIVE_FINITE;} |
Definition at line 351 of file bigdecimal.h.
Referenced by VpMidRound(), VpPower(), and VpSqrt().
#define VpSetPosInf | ( | a | ) | ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_INFINITE) |
Definition at line 370 of file bigdecimal.h.
Referenced by BigDecimal_power(), VpAlloc(), and VpDtoV().
#define VpSetPosZero | ( | a | ) | ((a)->frac[0]=0,(a)->Prec=1,(a)->sign=VP_SIGN_POSITIVE_ZERO) |
Definition at line 357 of file bigdecimal.h.
#define VpSetSign | ( | a, | |
s | |||
) | {if((s)>0) (a)->sign=(short)VP_SIGN_POSITIVE_FINITE;else (a)->sign=(short)VP_SIGN_NEGATIVE_FINITE;} |
Definition at line 348 of file bigdecimal.h.
Referenced by BigMath_s_exp(), VpAddSub(), VpAsgn(), VpCtoV(), VpDivd(), VpDtoV(), VpFrac(), VpMidRound(), VpMult(), and VpPower().
#define VpSetZero | ( | a, | |
s | |||
) | (void)(((s)>0)?VpSetPosZero(a):VpSetNegZero(a)) |
Definition at line 359 of file bigdecimal.h.
Referenced by AddExponent(), VpAddSub(), VpAlloc(), VpAsgn(), VpCtoV(), VpDivd(), VpDtoV(), VpFrac(), VpIsDefOP(), VpMidRound(), VpMult(), VpNmlz(), and VpPower().
|
static |
|
inlinestatic |
Definition at line 77 of file bigdecimal.h.
Referenced by integer_to_bnptr().
|
inlinestatic |
Definition at line 86 of file bigdecimal.h.
Definition at line 120 of file bigdecimal.h.
References FIX_CONST_VALUE_PTR, RARRAY, RARRAY_EMBED_FLAG, and RBASIC.
Definition at line 137 of file bigdecimal.h.
|
inlinestatic |
Definition at line 267 of file bigdecimal.h.
References RMPD_BASE.
|
inlinestatic |
Definition at line 269 of file bigdecimal.h.
References RMPD_COMPONENT_FIGURES.
|
inlinestatic |
Definition at line 271 of file bigdecimal.h.
References DBL_DIG.
Referenced by BigMath_s_exp(), BigMath_s_log(), and VpInit().
Definition at line 6110 of file bigdecimal.c.
References VpAsgn(), and VpMidRound().
Referenced by BigDecimal_ceil(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_round(), and BigDecimal_truncate().
Definition at line 4188 of file bigdecimal.c.
References BASE_FIG, BDIGIT, Real::exponent, Real::frac, Min, OP_SW_ADD, OP_SW_SUB, Real::Prec, VpAddAbs(), VpAsgn(), VpGetSign, VpInternalRound(), VpIsDefOP(), VpIsZero, VpSetSign, VpSetZero, and VpSubAbs().
Referenced by BigDecimal_add(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_sub(), and VpSqrt().
Definition at line 3978 of file bigdecimal.c.
References BASE_FIG, buf, ISDIGIT, ISSPACE, Max, Real::MaxPrec, ne, NULL, PRIsVALUE, rb_eArgError, rb_raise(), rb_str_new2, rb_str_resize(), rb_str_tmp_new(), RSTRING_PTR, StrCmp, strlen(), SZ_INF, SZ_NaN, SZ_NINF, SZ_PINF, VP_EXPORT, VpAllocReal, VpCtoV(), VpGetPrecLimit(), VpSetNaN, VpSetNegInf, VpSetPosInf, and VpSetZero.
Referenced by BigDecimal_new(), VpInit(), VpMult(), VpNewRbClass(), VpPower(), and VpSqrt().
Definition at line 4144 of file bigdecimal.c.
References BASE_FIG, BDIGIT, Real::exponent, Real::frac, Real::MaxPrec, memcpy, Real::Prec, VP_EXPORT, VpGetSign, VpInternalRound(), VpIsInf, VpIsNaN, VpIsZero, VpLimitRound(), VpSetInf, VpSetNaN, VpSetSign, and VpSetZero.
Referenced by BigDecimal_abs(), BigDecimal_neg(), VpActiveRound(), VpAddAbs(), VpAddSub(), VpDivd(), VpFrac(), VpMult(), VpPower(), VpSqrt(), and VpSubAbs().
Definition at line 5025 of file bigdecimal.c.
References BASE1, BDIGIT, BIGDECIMAL_NEGATIVE_P, Real::exponent, Real::frac, Real::MaxPrec, Real::Prec, PRIdSIZE, PRIdVALUE, RMPD_COMPONENT_FIGURES, Real::sign, SZ_INF, SZ_NaN, SZ_NINF, val, VpExponent10(), VpGetSign, VpIsDef, VpIsNaN, VpIsNegInf, VpIsPosInf, and VpIsZero.
Referenced by BigDecimalCmp().
Definition at line 667 of file bigdecimal.c.
References rb_cBigDecimal, and VpNewRbClass().
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_ceil(), BigDecimal_div2(), BigDecimal_divide(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_mult(), BigDecimal_neg(), BigDecimal_new(), BigDecimal_power(), BigDecimal_round(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_truncate(), BigMath_s_exp(), BigMath_s_log(), GetVpValueWithPrec(), and rmpd_power_by_big_decimal().
VP_EXPORT int VpCtoV | ( | Real * | a, |
const char * | int_chr, | ||
size_t | ni, | ||
const char * | frac, | ||
size_t | nf, | ||
const char * | exp_chr, | ||
size_t | ne | ||
) |
Definition at line 5463 of file bigdecimal.c.
References BASE_FIG, BDIGIT, Real::exponent, Real::frac, Real::MaxPrec, MUL_OVERFLOW_SIGNED_VALUE_P, ne, Real::Prec, rb_warn(), SIGNED_VALUE, SIGNED_VALUE_MAX, VP_EXCEPTION_INFINITY, VP_EXPORT, VpException(), VpNmlz(), VpSetInf, VpSetSign, VpSetZero, and zero().
Referenced by VpAlloc().
Definition at line 4772 of file bigdecimal.c.
References AddExponent(), BASE, BASE_FIG, BDIGIT, BDIGIT_DBL, Real::exponent, Real::frac, if(), Real::MaxPrec, Min, OP_SW_DIV, Real::Prec, PRIuSIZE, rb_bug(), VP_EXCEPTION_NaN, VP_EXCEPTION_ZERODIVIDE, VpAsgn(), VpException(), VpGetSign, VpIsDefOP(), VpIsOne, VpIsZero, VpNmlz(), VpSetInf, VpSetNaN, VpSetSign, and VpSetZero.
Referenced by BigDecimal_div2(), BigDecimal_divide(), BigDecimal_divremain(), BigDecimal_DoDivmod(), VpPower(), and VpSqrt().
Definition at line 5687 of file bigdecimal.c.
References BASE, BDIGIT, Real::exponent, Real::frac, isinf(), isnan, Real::MaxPrec, ne, Real::Prec, SIGNED_VALUE, val, VP_EXPORT, VpInternalRound(), VpNmlz(), VpSetNaN, VpSetNegInf, VpSetPosInf, VpSetSign, and VpSetZero.
Referenced by BigDecimal_new(), GetVpValueWithPrec(), and VpSqrt().
Definition at line 3719 of file bigdecimal.c.
References rb_eFloatDomainError, rb_fatal(), rb_raise(), VP_EXCEPTION_INFINITY, VP_EXCEPTION_MEMORY, VP_EXCEPTION_NaN, VP_EXCEPTION_OP, VP_EXCEPTION_UNDERFLOW, VP_EXCEPTION_ZERODIVIDE, and VpGetException().
Referenced by AddExponent(), BigDecimal_check_num(), BigDecimal_to_f(), GetAddSubPrec(), ToValue(), VpCtoV(), VpDivd(), VpIsDefOP(), VpMemAlloc(), VpMemRealloc(), and VpSqrt().
Definition at line 5250 of file bigdecimal.c.
References BASE1, BASE_FIG, Real::exponent, Real::frac, VP_EXPORT, and VpHasVal.
Referenced by BigDecimal_exponent(), BigDecimal_split(), BigDecimal_to_i(), BigDecimal_to_r(), BigMath_s_exp(), BigMath_s_log(), and VpComp().
Definition at line 6205 of file bigdecimal.c.
References Real::exponent, Real::frac, Real::MaxPrec, Min, Real::Prec, VP_EXPORT, VpAsgn(), VpGetSign, VpHasVal, VpNmlz(), VpSetSign, and VpSetZero.
Referenced by BigDecimal_divremain(), and BigDecimal_frac().
Definition at line 3497 of file bigdecimal.c.
Referenced by BigDecimal_delete(), BigDecimal_initialize(), VpMult(), VpPower(), and VpSqrt().
VP_EXPORT double VpGetDoubleNaN | ( | void | ) |
VP_EXPORT double VpGetDoubleNegInf | ( | void | ) |
Definition at line 3694 of file bigdecimal.c.
References One(), VP_EXPORT, and Zero().
Referenced by BigDecimal_to_f(), VpGetDoubleNegZero(), VpInit(), and VpVtoD().
VP_EXPORT double VpGetDoubleNegZero | ( | void | ) |
Definition at line 3702 of file bigdecimal.c.
References MemCmp, One(), VP_EXPORT, VpGetDoubleNegInf(), and VpGetDoubleNegZero().
Referenced by VpGetDoubleNegZero(), VpInit(), and VpVtoD().
VP_EXPORT double VpGetDoublePosInf | ( | void | ) |
Definition at line 3686 of file bigdecimal.c.
References One(), VP_EXPORT, and Zero().
Referenced by BigDecimal_to_f(), VpInit(), and VpVtoD().
VP_EXPORT size_t VpGetPrecLimit | ( | void | ) |
Definition at line 3562 of file bigdecimal.c.
References id_BigDecimal_precision_limit, NIL_P, NUM2SIZET, rb_thread_current(), rb_thread_local_aref(), RMPD_PRECISION_LIMIT_DEFAULT, rmpd_set_thread_local_precision_limit, and VP_EXPORT.
Referenced by BigDecimal_limit(), BigDecimal_save_limit(), VpAlloc(), VpLimitRound(), VpSetPrecLimit(), and VpSetPTR().
VP_EXPORT unsigned short VpGetRoundMode | ( | void | ) |
Definition at line 3597 of file bigdecimal.c.
References id_BigDecimal_rounding_mode, NIL_P, NUM2USHORT, rb_thread_current(), rb_thread_local_aref(), RMPD_ROUNDING_MODE_DEFAULT, rmpd_set_thread_local_rounding_mode, and VP_EXPORT.
Referenced by BigDecimal_add2(), BigDecimal_div2(), BigDecimal_mode(), BigDecimal_mult2(), BigDecimal_power(), BigDecimal_round(), BigDecimal_save_rounding_mode(), BigDecimal_sub2(), check_rounding_mode_option(), VpInternalRound(), VpLimitRound(), and VpSetRoundMode().
Definition at line 3890 of file bigdecimal.c.
References BASE, BASE1, BASE_FIG, DBLE_FIG, HALF_BASE, PRIuBDIGIT, rmpd_double_figures(), VP_EXPORT, VpAlloc(), VpGetDoubleNaN(), VpGetDoubleNegInf(), VpGetDoubleNegZero(), and VpGetDoublePosInf().
Referenced by Init_bigdecimal().
VP_EXPORT int VpIsRoundMode | ( | unsigned short | n | ) |
Definition at line 3613 of file bigdecimal.c.
References VP_EXPORT, VP_ROUND_CEIL, VP_ROUND_DOWN, VP_ROUND_FLOOR, VP_ROUND_HALF_DOWN, VP_ROUND_HALF_EVEN, VP_ROUND_HALF_UP, and VP_ROUND_UP.
Referenced by check_rounding_mode(), and VpSetRoundMode().
Definition at line 6095 of file bigdecimal.c.
References BASE_FIG, BDIGIT, Real::frac, VP_EXPORT, VpExponent, VpHasVal, and VpMidRound().
Referenced by BigDecimal_add2(), BigDecimal_div2(), BigDecimal_mult2(), BigDecimal_sub2(), and VpLimitRound().
VP_EXPORT void* VpMemAlloc | ( | size_t | mb | ) |
Definition at line 3473 of file bigdecimal.c.
References VP_EXCEPTION_MEMORY, VP_EXPORT, VpException(), and xmalloc.
VP_EXPORT void* VpMemRealloc | ( | void * | ptr, |
size_t | mb | ||
) |
Definition at line 3487 of file bigdecimal.c.
References VP_EXCEPTION_MEMORY, VP_EXPORT, VpException(), and xrealloc.
Definition at line 5928 of file bigdecimal.c.
References BASE, BASE_FIG, BDIGIT, BIGDECIMAL_NEGATIVE_P, BIGDECIMAL_POSITIVE_P, div, Real::exponent, Real::frac, Real::Prec, SIGNED_VALUE, VP_EXPORT, VP_ROUND_CEIL, VP_ROUND_DOWN, VP_ROUND_FLOOR, VP_ROUND_HALF_DOWN, VP_ROUND_HALF_EVEN, VP_ROUND_HALF_UP, VP_ROUND_UP, VpGetSign, VpNmlz(), VpRdup(), VpSetOne, VpSetSign, and VpSetZero.
Referenced by BigDecimal_power(), VpActiveRound(), and VpLeftRound().
Definition at line 4643 of file bigdecimal.c.
References AddExponent(), BASE, BASE_FIG, BDIGIT, BDIGIT_DBL, Real::exponent, Real::frac, Real::MaxPrec, NULL, OP_SW_MULT, Real::Prec, VP_EXPORT, VpAlloc(), VpAsgn(), VpFree(), VpGetSign, VpIsDefOP(), VpIsOne, VpIsZero, VpLimitRound(), VpNmlz(), VpSetSign, and VpSetZero.
Referenced by BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_mult(), VpPower(), and VpSqrt().
Definition at line 657 of file bigdecimal.c.
References Real::obj, RTYPEDDATA_DATA, TypedData_Wrap_Struct, VP_EXPORT, and VpAlloc().
Referenced by BigDecimal_load(), BigDecimal_s_allocate(), and VpCreateRbObject().
Definition at line 3846 of file bigdecimal.c.
References BASE_FIG, Real::exponent, NULL, Real::Prec, SIGNED_VALUE, VP_EXPORT, and VpIsDef.
Referenced by BigDecimal_dump(), BigDecimal_inspect(), BigDecimal_split(), BigDecimal_to_f(), and BigDecimal_to_s().
Definition at line 3921 of file bigdecimal.c.
References VpConstOne.
Referenced by BigDecimal_DoDivmod().
VP_EXPORT int VpPower | ( | Real * | y, |
Real * | x, | ||
SIGNED_VALUE | n | ||
) |
Definition at line 6253 of file bigdecimal.c.
References BASE, BASE_FIG, BIGDECIMAL_POSITIVE_P, Real::exponent, Real::frac, Real::MaxPrec, NULL, Real::Prec, PRIdVALUE, PRIuBDIGIT, PRIuSIZE, SIGNED_VALUE, VpAlloc(), VpAsgn(), VpDivd(), VpFree(), VpGetSign, VpIsInf, VpIsNaN, VpIsPosInf, VpIsZero, VpMult(), VpSetInf, VpSetNaN, VpSetOne, VpSetSign, and VpSetZero.
Referenced by BigDecimal_power().
VP_EXPORT size_t VpSetPrecLimit | ( | size_t | n | ) |
Definition at line 3578 of file bigdecimal.c.
References rmpd_set_thread_local_precision_limit, and VpGetPrecLimit().
Referenced by BigDecimal_add2(), BigDecimal_ceil(), BigDecimal_div2(), BigDecimal_floor(), BigDecimal_limit(), BigDecimal_mult2(), BigDecimal_round(), BigDecimal_save_limit(), BigDecimal_sub2(), and BigDecimal_truncate().
VP_EXPORT unsigned short VpSetRoundMode | ( | unsigned short | n | ) |
Definition at line 3631 of file bigdecimal.c.
References rmpd_set_thread_local_rounding_mode, VpGetRoundMode(), and VpIsRoundMode().
Referenced by BigDecimal_mode(), and BigDecimal_save_rounding_mode().
Definition at line 5819 of file bigdecimal.c.
References BASE, BASE_FIG, BIGDECIMAL_NEGATIVE_P, DBLE_FIG, Real::exponent, f, if(), maxnr, Real::MaxPrec, Min, NULL, PRIdSIZE, SIGNED_VALUE, val, VP_EXCEPTION_OP, VP_EXPORT, VpAddSub(), VpAlloc(), VpAsgn(), VpChangeSign, VpDivd(), VpDtoV(), VpException(), VpFree(), VpIsNaN, VpIsOne, VpIsPosInf, VpIsZero, VpMult(), VpSetNaN, VpSetOne, and VpVtoD().
Referenced by BigDecimal_sqrt().
Definition at line 5267 of file bigdecimal.c.
References BASE1, BDIGIT_DBL, BIGDECIMAL_NEGATIVE_P, Real::frac, Real::Prec, strlen(), SZ_INF, SZ_NaN, SZ_NINF, VP_EXPORT, VpIsNaN, VpIsNegInf, VpIsPosInf, VpIsPosZero, and VpIsZero.
Referenced by BigDecimal_split().
Definition at line 5397 of file bigdecimal.c.
References BASE, BASE1, BASE_FIG, BDIGIT, BIGDECIMAL_NEGATIVE_P, Real::exponent, Real::frac, Real::Prec, strlen(), VP_EXPORT, VpFormatSt(), and VpToSpecialString().
Referenced by BigDecimal_to_s().
Definition at line 5314 of file bigdecimal.c.
References SZ_INF, SZ_NaN, SZ_NINF, VP_EXPORT, VpIsNaN, VpIsNegInf, VpIsPosInf, VpIsPosZero, and VpIsZero.
Referenced by VpToFString(), and VpToString().
Definition at line 5349 of file bigdecimal.c.
References BASE1, BASE_FIG, BDIGIT, BIGDECIMAL_NEGATIVE_P, Real::exponent, Real::frac, Real::Prec, PRIdSIZE, shift(), strlen(), VP_EXPORT, VpFormatSt(), and VpToSpecialString().
Referenced by BigDecimal_dump(), BigDecimal_inspect(), BigDecimal_to_f(), and BigDecimal_to_s().
VP_EXPORT int VpVtoD | ( | double * | d, |
SIGNED_VALUE * | e, | ||
Real * | m | ||
) |
Definition at line 5623 of file bigdecimal.c.
References BASE, BASE_FIG, DBLE_FIG, div, Real::exponent, f, Real::frac, Min, Real::Prec, SIGNED_VALUE, VP_EXPORT, VpGetDoubleNaN(), VpGetDoubleNegInf(), VpGetDoubleNegZero(), VpGetDoublePosInf(), VpGetSign, VpIsNaN, VpIsNegInf, VpIsNegZero, VpIsPosInf, and VpIsPosZero.
Referenced by BigDecimal_to_f(), and VpSqrt().
VALUE rb_cBigDecimal |
Definition at line 45 of file bigdecimal.c.
Referenced by BigDecimal_global_new(), Init_bigdecimal(), and VpCreateRbObject().