Ruby
2.1.10p492(2016-04-01revision54464)
|
#include "bigdecimal.h"
#include <assert.h>
#include <ctype.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <errno.h>
#include <math.h>
Go to the source code of this file.
#define BASE RMPD_BASE |
Definition at line 72 of file bigdecimal.c.
Referenced by for(), if(), VpAddAbs(), VpDivd(), VpDtoV(), VpInit(), VpMult(), VpRdup(), VpSqrt(), VpSubAbs(), and VpVtoD().
#define BASE1 (BASE/10) |
Definition at line 75 of file bigdecimal.c.
Referenced by if(), VpExponent10(), VpInit(), VpInternalRound(), and VpSzMantissa().
#define BASE_FIG RMPD_COMPONENT_FIGURES |
Definition at line 71 of file bigdecimal.c.
Referenced by AddExponent(), BigDecimal_sqrt(), BigDecimal_to_f(), if(), VpAddSub(), VpAlloc(), VpAsgn(), VpCtoV(), VpDivd(), VpExponent10(), VpInit(), VpLimitRound(), VpMult(), VpNumOfChars(), VpPower(), VpSetPTR(), VpSqrt(), and VpVtoD().
#define BigMath_exp | ( | x, | |
n | |||
) | BigMath_s_exp(rb_mBigMath, (x), (n)) |
Definition at line 2060 of file bigdecimal.c.
Referenced by rmpd_power_by_big_decimal().
#define BigMath_log | ( | x, | |
n | |||
) | BigMath_s_log(rb_mBigMath, (x), (n)) |
Definition at line 2061 of file bigdecimal.c.
Referenced by rmpd_power_by_big_decimal().
#define DBLE_FIG (DBL_DIG+1) /* figure of double */ |
Definition at line 78 of file bigdecimal.c.
#define DoSomeOne | ( | x, | |
y, | |||
f | |||
) | rb_num_coerce_bin(x,y,f) |
Definition at line 97 of file bigdecimal.c.
Referenced by BigDecimal_add(), BigDecimal_div2(), BigDecimal_divmod(), BigDecimal_divremain(), BigDecimal_mod(), BigDecimal_mult(), and BigDecimal_sub().
#define ENTER | ( | n | ) | volatile VALUE RB_UNUSED_VAR(vStack[n]);int iStack=0 |
Definition at line 66 of file bigdecimal.c.
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_add2(), BigDecimal_ceil(), BigDecimal_coerce(), BigDecimal_div2(), BigDecimal_divmod(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_dump(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_global_new(), BigDecimal_hash(), BigDecimal_initialize(), BigDecimal_inspect(), BigDecimal_load(), BigDecimal_mod(), BigDecimal_mult(), BigDecimal_mult2(), BigDecimal_neg(), BigDecimal_power(), BigDecimal_prec(), BigDecimal_round(), BigDecimal_split(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_sub2(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimal_to_s(), BigDecimal_truncate(), and BigDecimalCmp().
Definition at line 69 of file bigdecimal.c.
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_add2(), BigDecimal_ceil(), BigDecimal_coerce(), BigDecimal_div2(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_dump(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_global_new(), BigDecimal_hash(), BigDecimal_initialize(), BigDecimal_inspect(), BigDecimal_load(), BigDecimal_mult(), BigDecimal_mult2(), BigDecimal_neg(), BigDecimal_power(), BigDecimal_prec(), BigDecimal_round(), BigDecimal_split(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_sub2(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimal_to_s(), BigDecimal_truncate(), and BigDecimalCmp().
#define HALF_BASE (BASE/2) |
Definition at line 74 of file bigdecimal.c.
Referenced by VpInit().
#define is_positive | ( | x | ) | (!is_negative(x)) |
Definition at line 2084 of file bigdecimal.c.
Referenced by BigDecimal_power().
#define maxnr 100UL /* Maximum iterations for calculating sqrt. */ |
Definition at line 3315 of file bigdecimal.c.
Referenced by VpSqrt().
#define MemCmp | ( | x, | |
y, | |||
z | |||
) | memcmp(x,y,z) |
Definition at line 3319 of file bigdecimal.c.
Definition at line 34 of file bigdecimal.c.
Referenced by timetick2integer().
#define MUL_OVERFLOW_SIGNED_VALUE_P | ( | a, | |
b | |||
) | MUL_OVERFLOW_SIGNED_INTEGER_P(a, b, SIGNED_VALUE_MIN, SIGNED_VALUE_MAX) |
Definition at line 42 of file bigdecimal.c.
Referenced by AddExponent(), and VpCtoV().
#define NDEBUG |
Definition at line 16 of file bigdecimal.c.
#define PUSH | ( | x | ) | vStack[iStack++] = (VALUE)(x); |
Definition at line 67 of file bigdecimal.c.
Referenced by yaml_document_add_mapping(), yaml_document_add_scalar(), yaml_document_add_sequence(), yaml_document_append_mapping_pair(), yaml_document_append_sequence_item(), yaml_document_initialize(), yaml_document_start_event_initialize(), yaml_emitter_append_tag_directive(), yaml_emitter_emit_block_mapping_key(), yaml_emitter_emit_block_mapping_value(), yaml_emitter_emit_block_sequence_item(), yaml_emitter_emit_document_content(), yaml_emitter_emit_flow_mapping_key(), yaml_emitter_emit_flow_mapping_value(), yaml_emitter_emit_flow_sequence_item(), yaml_emitter_increase_indent(), yaml_parser_append_tag_directive(), yaml_parser_fetch_stream_start(), yaml_parser_increase_flow_level(), yaml_parser_load_mapping(), yaml_parser_load_scalar(), yaml_parser_load_sequence(), yaml_parser_parse_block_mapping_key(), yaml_parser_parse_block_mapping_value(), yaml_parser_parse_block_sequence_entry(), yaml_parser_parse_document_start(), yaml_parser_parse_flow_mapping_key(), yaml_parser_parse_flow_mapping_value(), yaml_parser_parse_flow_sequence_entry(), yaml_parser_parse_flow_sequence_entry_mapping_key(), yaml_parser_parse_flow_sequence_entry_mapping_value(), yaml_parser_parse_indentless_sequence_entry(), yaml_parser_process_directives(), yaml_parser_register_anchor(), and yaml_parser_roll_indent().
#define RBIGNUM_ZERO_P | ( | x | ) | rb_bigzero_p(x) |
Definition at line 82 of file bigdecimal.c.
Referenced by BigMath_s_log().
#define RMPD_PRECISION_LIMIT_DEFAULT ((size_t)0) |
Definition at line 3421 of file bigdecimal.c.
Referenced by VpGetPrecLimit().
#define rmpd_set_thread_local_exception_mode | ( | mode | ) |
Definition at line 3382 of file bigdecimal.c.
Referenced by VpGetException(), and VpSetException().
#define rmpd_set_thread_local_precision_limit | ( | limit | ) |
Definition at line 3415 of file bigdecimal.c.
Referenced by VpGetPrecLimit(), and VpSetPrecLimit().
#define rmpd_set_thread_local_rounding_mode | ( | mode | ) |
Definition at line 3452 of file bigdecimal.c.
Referenced by VpGetRoundMode(), and VpSetRoundMode().
#define RRATIONAL_NEGATIVE_P | ( | x | ) | RTEST(rb_funcall((x), '<', 1, INT2FIX(0))) |
Definition at line 91 of file bigdecimal.c.
Referenced by BigMath_s_log().
#define RRATIONAL_ZERO_P | ( | x | ) |
Definition at line 68 of file bigdecimal.c.
Referenced by BigDecimal_add(), BigDecimal_divmod(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_mod(), BigDecimal_mult(), BigDecimal_sub(), and BigDecimalCmp().
#define SIGNED_VALUE_MAX INTPTR_MAX |
Definition at line 40 of file bigdecimal.c.
Referenced by VpCtoV().
#define SIGNED_VALUE_MIN INTPTR_MIN |
Definition at line 41 of file bigdecimal.c.
#define StrCmp | ( | x, | |
y | |||
) | strcmp(x,y) |
Definition at line 3320 of file bigdecimal.c.
Referenced by VpAlloc().
Definition at line 579 of file bigdecimal.c.
Referenced by VpAlloc().
#define VpReallocReal | ( | ptr, | |
prec | |||
) | (Real *)VpMemRealloc((ptr), offsetof(Real, frac) + (prec) * sizeof(BDIGIT)) |
Definition at line 580 of file bigdecimal.c.
Referenced by VpCopy().
|
static |
Definition at line 3787 of file bigdecimal.c.
References BASE_FIG, e, Real::exponent, m, MUL_OVERFLOW_SIGNED_VALUE_P, n, SIGNED_VALUE, VP_EXCEPTION_OVERFLOW, VP_EXCEPTION_UNDERFLOW, VpException(), VpGetSign, VpSetInf, and VpSetZero.
Referenced by VpDivd(), VpMult(), VpNmlz(), VpRdup(), and VpSetPTR().
Definition at line 1587 of file bigdecimal.c.
References a, c, ENTER, GetVpValue(), GUARD_OBJ, mx, Real::Prec, ToValue(), VpAsgn(), VpBaseFig, VpChangeSign, and VpCreateRbObject().
Referenced by BigDecimal_power(), and Init_bigdecimal().
Definition at line 846 of file bigdecimal.c.
References a, b, c, DBL_DIG, DoSomeOne, ENTER, GetAddSubPrec(), GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, mx, Real::obj, Real::Prec, RB_TYPE_P, SAVE, T_FLOAT, T_RATIONAL, ToValue(), VpAddSub(), VpBaseFig, VpCreateRbObject(), VpGetSign, VpIsNaN, and VpSetInf.
Referenced by BigDecimal_add2(), BigMath_s_exp(), BigMath_s_log(), and Init_bigdecimal().
Definition at line 1516 of file bigdecimal.c.
References BigDecimal_add(), cv, ENTER, GetPositiveInt(), GetVpValue(), GUARD_OBJ, SIGNED_VALUE, ToValue(), VpGetRoundMode(), VpLeftRound(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 1829 of file bigdecimal.c.
References a, BigDecimal_to_i(), c, Check_Type(), ENTER, FIX2INT, GetVpValue(), GUARD_OBJ, mx, Real::Prec, rb_scan_args(), T_FIXNUM, ToValue(), VP_ROUND_CEIL, VpActiveRound(), VpBaseFig, VpCreateRbObject(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 630 of file bigdecimal.c.
References VP_EXCEPTION_INFINITY, VP_EXCEPTION_NaN, VpException(), VpIsNaN, VpIsNegInf, and VpIsPosInf.
Referenced by BigDecimal_to_i(), and BigDecimal_to_r().
Definition at line 790 of file bigdecimal.c.
References b, DATA_PTR(), DBL_DIG, ENTER, GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, Real::obj, obj, Real::Prec, rb_assoc_new(), RB_TYPE_P, T_FLOAT, T_RATIONAL, ToValue(), and VpBaseFig.
Referenced by Init_bigdecimal().
Definition at line 1058 of file bigdecimal.c.
References BigDecimalCmp().
Referenced by Init_bigdecimal().
Definition at line 131 of file bigdecimal.c.
References VpFree().
Definition at line 1467 of file bigdecimal.c.
References av, BigDecimal_DoDivmod(), BigDecimal_to_i(), cv, DoSomeOne, ENTER, GetPositiveInt(), GetVpValue(), GUARD_OBJ, ix, mod, NIL_P(), NULL, Real::Prec, rb_intern, SIGNED_VALUE, ToValue(), VpBaseFig, VpCreateRbObject(), VpDivd(), VpGetRoundMode(), VpLeftRound(), and VpSetPrecLimit().
Referenced by BigDecimal_div3(), BigMath_s_exp(), BigMath_s_log(), and GetVpValueWithPrec().
Definition at line 1506 of file bigdecimal.c.
References b, BigDecimal_div2(), n, and rb_scan_args().
Referenced by Init_bigdecimal().
Definition at line 1451 of file bigdecimal.c.
References BigDecimal_DoDivmod(), DoSomeOne, ENTER, mod, NULL, rb_assoc_new(), rb_intern, SAVE, and ToValue().
Referenced by Init_bigdecimal().
Definition at line 1372 of file bigdecimal.c.
References d, DBL_DIG, DoSomeOne, ENTER, f, GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, Real::MaxPrec, mx, NULL, Real::Prec, Qnil, rb_intern, RB_TYPE_P, SAVE, T_FLOAT, T_RATIONAL, VP_ROUND_DOWN, VpActiveRound(), VpAddSub(), VpBaseFig, VpCreateRbObject(), VpDivd(), VpFrac(), and VpMult().
Referenced by BigDecimal_remainder().
Definition at line 1271 of file bigdecimal.c.
References a, b, c, d, DBL_DIG, ENTER, Real::exponent, GetAddSubPrec(), GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, mx, NULL, Real::Prec, Qfalse, Qtrue, rb_eZeroDivError, rb_raise(), RB_TYPE_P, res, SAVE, SIGNED_VALUE, T_FLOAT, T_RATIONAL, vabs, VP_ROUND_DOWN, VpActiveRound(), VpAddSub(), VpBaseFig, VpCreateRbObject(), VpDivd(), VpGetSign, VpIsInf, VpIsNaN, VpIsZero, VpMult(), VpOne(), and VpSetInf.
Referenced by BigDecimal_div2(), BigDecimal_divmod(), and BigDecimal_mod().
Definition at line 289 of file bigdecimal.c.
References INT2FIX, and VpDblFig.
Referenced by Init_bigdecimal().
Definition at line 354 of file bigdecimal.c.
References dummy, ENTER, GetVpValue(), GUARD_OBJ, PRIuSIZE, rb_scan_args(), rb_str_new(), rb_str_resize(), RSTRING_PTR, sprintf(), strlen(), VpBaseFig, VpMaxPrec, VpNumOfChars(), and VpToString().
Referenced by Init_bigdecimal().
Definition at line 1074 of file bigdecimal.c.
References BigDecimalCmp().
Referenced by BigDecimal_power(), and Init_bigdecimal().
Definition at line 2017 of file bigdecimal.c.
References e, GetVpValue(), INT2NUM, and VpExponent10().
Referenced by Init_bigdecimal().
Definition at line 1628 of file bigdecimal.c.
References a, c, ENTER, GetVpValue(), GUARD_OBJ, mx, Real::Prec, ToValue(), VP_ROUND_DOWN, VpActiveRound(), VpBaseFig, and VpCreateRbObject().
Referenced by Init_bigdecimal().
Definition at line 1781 of file bigdecimal.c.
References a, BigDecimal_to_i(), c, Check_Type(), ENTER, FIX2INT, GetVpValue(), GUARD_OBJ, mx, Real::Prec, rb_scan_args(), T_FIXNUM, ToValue(), VP_ROUND_FLOOR, VpActiveRound(), VpBaseFig, VpCreateRbObject(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 1750 of file bigdecimal.c.
References a, c, ENTER, GetVpValue(), GUARD_OBJ, mx, Real::Prec, ToValue(), VpBaseFig, VpCreateRbObject(), and VpFrac().
Referenced by Init_bigdecimal().
Definition at line 1126 of file bigdecimal.c.
References BigDecimalCmp().
Referenced by Init_bigdecimal().
Definition at line 2535 of file bigdecimal.c.
References BigDecimal_new(), ENTER, GUARD_OBJ, NULL, Real::obj, rb_cBigDecimal, ToValue(), TypedData_Wrap_Struct, and VpCopy().
Referenced by Init_bigdecimal().
Definition at line 1113 of file bigdecimal.c.
References BigDecimalCmp().
Referenced by Init_bigdecimal().
Definition at line 325 of file bigdecimal.c.
References BDIGIT, ENTER, Real::exponent, Real::frac, GetVpValue(), GUARD_OBJ, hash, INT2FIX, p, Real::Prec, rb_memhash(), and Real::sign.
Referenced by Init_bigdecimal().
Definition at line 2450 of file bigdecimal.c.
References BigDecimal_new(), DATA_PTR(), ENTER, GUARD_OBJ, Real::obj, rb_check_typeddata(), ToValue(), VpCopy(), and VpFree().
Referenced by Init_bigdecimal().
Definition at line 2474 of file bigdecimal.c.
References DATA_PTR(), rb_check_typeddata(), and VpCopy().
Referenced by Init_bigdecimal().
Definition at line 2034 of file bigdecimal.c.
References ENTER, GetVpValue(), GUARD_OBJ, obj, PRIuSIZE, PRIxVALUE, rb_str_new(), rb_str_resize(), RSTRING_PTR, sprintf(), strlen(), tmp, VpBaseFig, VpMaxPrec, VpNumOfChars(), VpPrec, and VpToString().
Referenced by Init_bigdecimal().
Definition at line 621 of file bigdecimal.c.
References GetVpValue(), p, Qfalse, Qtrue, VpIsInf, and VpIsNaN.
Referenced by Init_bigdecimal().
Definition at line 611 of file bigdecimal.c.
References GetVpValue(), INT2FIX, p, Qnil, VpIsNegInf, and VpIsPosInf.
Referenced by Init_bigdecimal().
Definition at line 600 of file bigdecimal.c.
References GetVpValue(), p, Qfalse, Qtrue, and VpIsNaN.
Referenced by Init_bigdecimal().
Definition at line 1100 of file bigdecimal.c.
References BigDecimalCmp().
Referenced by Init_bigdecimal().
Definition at line 2559 of file bigdecimal.c.
References Check_Type(), FIX2INT, INT2NUM, nf, NIL_P(), rb_eArgError, rb_raise(), rb_scan_args(), T_FIXNUM, VpGetPrecLimit(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 376 of file bigdecimal.c.
References ENTER, GUARD_OBJ, ISDIGIT, m, Real::MaxPrec, rb_eTypeError, rb_raise(), RSTRING_PTR, SafeStringValue, ToValue(), VpBaseFig, and VpNewRbClass().
Referenced by Init_bigdecimal().
Definition at line 1087 of file bigdecimal.c.
References BigDecimalCmp().
Referenced by Init_bigdecimal().
Definition at line 137 of file bigdecimal.c.
References BDIGIT, Real::MaxPrec, and ptr.
Definition at line 1359 of file bigdecimal.c.
References BigDecimal_DoDivmod(), DoSomeOne, ENTER, mod, NULL, SAVE, and ToValue().
Referenced by Init_bigdecimal().
Definition at line 477 of file bigdecimal.c.
References check_rounding_mode(), Check_Type(), f, FIX2INT, INT2FIX, NIL_P(), Qfalse, Qnil, Qtrue, rb_eArgError, rb_eTypeError, rb_raise(), rb_scan_args(), sw, T_FIXNUM, val, VP_EXCEPTION_ALL, VP_EXCEPTION_INFINITY, VP_EXCEPTION_NaN, VP_EXCEPTION_UNDERFLOW, VP_EXCEPTION_ZERODIVIDE, VP_ROUND_MODE, VpGetException(), VpGetRoundMode(), VpSetException(), and VpSetRoundMode().
Referenced by Init_bigdecimal().
Definition at line 1167 of file bigdecimal.c.
References a, b, c, DBL_DIG, DoSomeOne, ENTER, GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, mx, Real::Prec, RB_TYPE_P, SAVE, T_FLOAT, T_RATIONAL, ToValue(), VpBaseFig, VpCreateRbObject(), and VpMult().
Referenced by BigDecimal_mult2(), BigMath_s_exp(), BigMath_s_log(), and Init_bigdecimal().
Definition at line 1564 of file bigdecimal.c.
References BigDecimal_mult(), cv, ENTER, GetPositiveInt(), GetVpValue(), GUARD_OBJ, SIGNED_VALUE, ToValue(), VpGetRoundMode(), VpLeftRound(), and VpSetPrecLimit().
Referenced by BigMath_s_log(), Init_bigdecimal(), and rmpd_power_by_big_decimal().
Definition at line 1141 of file bigdecimal.c.
References a, c, ENTER, GetVpValue(), GUARD_OBJ, Real::Prec, ToValue(), VpAsgn(), VpBaseFig, and VpCreateRbObject().
Referenced by Init_bigdecimal().
Definition at line 2486 of file bigdecimal.c.
References DATA_PTR(), DBL_DIG, GetPositiveInt(), GetVpValue(), GetVpValueWithPrec(), is_kind_of_BigDecimal(), NIL_P(), PRIsVALUE, rb_eArgError, rb_obj_class(), rb_raise(), rb_scan_args(), RSTRING_PTR, StringValueCStr, T_BIGNUM, T_DATA, T_FIXNUM, T_FLOAT, T_RATIONAL, T_STRING, TYPE, and VpAlloc().
Referenced by BigDecimal_global_new(), and BigDecimal_initialize().
Definition at line 1048 of file bigdecimal.c.
References a, GetVpValue(), Qnil, and VpIsZero.
Referenced by Init_bigdecimal().
Definition at line 2184 of file bigdecimal.c.
References BigDecimal_abs(), BigDecimal_eq(), BigDecimal_round(), BigDecimal_to_i(), d, DATA_PTR(), DBL_DIG, ENTER, FIX2LONG, FIXABLE, GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, INT2FIX, is_even(), is_integer(), is_kind_of_BigDecimal(), is_negative(), is_one(), is_positive, is_zero(), LONG2FIX, n, NIL_P(), NULL, NUM2SSIZET, Real::obj, Real::Prec, rb_dbl2big(), rb_eMathDomainError, rb_eTypeError, rb_funcall(), RB_GC_GUARD(), rb_obj_classname(), rb_raise(), rb_scan_args(), RB_TYPE_P, retry, RFLOAT_VALUE, rmpd_power_by_big_decimal(), round(), RRATIONAL, RTEST, SIGNED_VALUE, T_BIGNUM, T_DATA, T_FIXNUM, T_FLOAT, T_RATIONAL, ToValue(), TYPE, VpBaseFig, VpCreateRbObject(), VpGetRoundMode(), VpGetSign, VpIsDef, VpIsInf, VpIsNaN, VpIsZero, VpMidRound(), VpPower(), VpSetInf, VpSetNaN, VpSetNegInf, VpSetPosInf, and zero().
Referenced by BigDecimal_power_op(), and Init_bigdecimal().
Definition at line 2418 of file bigdecimal.c.
References BigDecimal_power().
Referenced by Init_bigdecimal().
Definition at line 304 of file bigdecimal.c.
References ENTER, GetVpValue(), GUARD_OBJ, INT2NUM, Real::MaxPrec, obj, p, Real::Prec, rb_assoc_new(), and VpBaseFig.
Referenced by Init_bigdecimal().
Definition at line 1422 of file bigdecimal.c.
References BigDecimal_divremain(), d, f, NIL_P(), and ToValue().
Referenced by Init_bigdecimal().
Definition at line 1662 of file bigdecimal.c.
References a, BigDecimal_to_i(), c, check_rounding_mode(), Check_Type(), ENTER, FIX2INT, GetVpValue(), GUARD_OBJ, mx, Real::Prec, rb_scan_args(), sw, T_FIXNUM, ToValue(), VpActiveRound(), VpBaseFig, VpCreateRbObject(), VpGetRoundMode(), and VpSetPrecLimit().
Referenced by BigDecimal_power(), BigMath_s_exp(), and Init_bigdecimal().
Definition at line 2424 of file bigdecimal.c.
References NULL, Real::obj, and VpNewRbClass().
Referenced by Init_bigdecimal().
Definition at line 2619 of file bigdecimal.c.
References Qnil, rb_jump_tag(), rb_protect(), rb_yield(), ret, state, VpGetException(), and VpSetException().
Referenced by Init_bigdecimal().
Definition at line 2669 of file bigdecimal.c.
References Qnil, rb_jump_tag(), rb_protect(), rb_yield(), ret, state, VpGetPrecLimit(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 2644 of file bigdecimal.c.
References Qnil, rb_jump_tag(), rb_protect(), rb_yield(), ret, state, VpGetRoundMode(), and VpSetRoundMode().
Referenced by Init_bigdecimal().
Definition at line 2594 of file bigdecimal.c.
References GetVpValue(), INT2FIX, s, and Real::sign.
Referenced by Init_bigdecimal().
Definition at line 1980 of file bigdecimal.c.
References e, ENTER, GetVpValue(), GUARD_OBJ, INT2FIX, INT2NUM, len, memmove(), obj, rb_ary_new2, rb_ary_push(), rb_str_new(), rb_str_resize(), RSTRING_PTR, s, str, strlen(), VpExponent10(), VpNumOfChars(), and VpSzMantissa().
Referenced by BigDecimal_to_i(), BigDecimal_to_r(), and Init_bigdecimal().
Definition at line 1609 of file bigdecimal.c.
References a, BASE_FIG, c, ENTER, GetPositiveInt(), GetVpValue(), GUARD_OBJ, mx, n, Real::Prec, ToValue(), VpBaseFig, VpCreateRbObject(), VpDblFig, and VpSqrt().
Referenced by Init_bigdecimal().
Definition at line 904 of file bigdecimal.c.
References a, b, c, DBL_DIG, DoSomeOne, ENTER, GetAddSubPrec(), GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, mx, Real::obj, Real::Prec, RB_TYPE_P, SAVE, T_FLOAT, T_RATIONAL, ToValue(), VpAddSub(), VpBaseFig, VpCreateRbObject(), VpGetSign, VpIsNaN, and VpSetInf.
Referenced by BigDecimal_sub2(), BigMath_s_log(), and Init_bigdecimal().
Definition at line 1546 of file bigdecimal.c.
References BigDecimal_sub(), cv, ENTER, GetPositiveInt(), GetVpValue(), GUARD_OBJ, SIGNED_VALUE, ToValue(), VpGetRoundMode(), VpLeftRound(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 697 of file bigdecimal.c.
References BASE_FIG, buf, d, DBL_MAX_10_EXP, DBL_MIN_10_EXP, e, ENTER, errno, GetVpValue(), GUARD_OBJ, p, rb_float_new, rb_str_new(), RSTRING_PTR, Real::sign, SIGNED_VALUE, str, strtod, VP_EXCEPTION_OVERFLOW, VP_EXCEPTION_UNDERFLOW, VpException(), VpGetDoubleNegInf(), VpGetDoublePosInf(), VpNumOfChars(), VpToString(), and VpVtoD().
Referenced by Init_bigdecimal().
Definition at line 650 of file bigdecimal.c.
References a, BDIGIT_DBL_SIGNED, BigDecimal_check_num(), BigDecimal_split(), e, ENTER, Real::frac, GetVpValue(), GUARD_OBJ, INT2FIX, LONG2NUM, nf, p, RARRAY_PTR(), rb_eFloatDomainError, rb_funcall(), rb_intern, rb_raise(), RB_TYPE_P, ret, RSTRING_LEN, T_FLOAT, VpBaseFig, VpExponent10(), and VpGetSign.
Referenced by BigDecimal_ceil(), BigDecimal_div2(), BigDecimal_floor(), BigDecimal_power(), BigDecimal_round(), BigDecimal_truncate(), and Init_bigdecimal().
Definition at line 744 of file bigdecimal.c.
References a, BigDecimal_check_num(), BigDecimal_split(), GetVpValue(), INT2FIX, p, RARRAY_PTR(), rb_funcall(), rb_intern, rb_Rational(), rb_Rational1, RSTRING_LEN, VpExponent10(), and VpGetSign.
Referenced by Init_bigdecimal().
Definition at line 1889 of file bigdecimal.c.
References ENTER, f, fmt, GetPositiveInt(), GetVpValue(), GUARD_OBJ, ISDIGIT, ISSPACE, rb_scan_args(), rb_str_new(), rb_str_resize(), RB_TYPE_P, RSTRING_PTR, SafeStringValue, str, strlen(), T_STRING, VpNumOfChars(), VpToFString(), and VpToString().
Referenced by Init_bigdecimal().
Definition at line 1720 of file bigdecimal.c.
References a, BigDecimal_to_i(), c, Check_Type(), ENTER, FIX2INT, GetVpValue(), GUARD_OBJ, mx, Real::Prec, rb_scan_args(), T_FIXNUM, ToValue(), VP_ROUND_DOWN, VpActiveRound(), VpBaseFig, VpCreateRbObject(), and VpSetPrecLimit().
Referenced by Init_bigdecimal().
Definition at line 823 of file bigdecimal.c.
Referenced by Init_bigdecimal().
Definition at line 103 of file bigdecimal.c.
References rb_str_new2.
Referenced by Init_bigdecimal().
Definition at line 1040 of file bigdecimal.c.
References a, GetVpValue(), Qfalse, Qtrue, and VpIsZero.
Referenced by Init_bigdecimal().
Definition at line 945 of file bigdecimal.c.
References a, b, DBL_DIG, e, ENTER, f, GetVpValue(), GetVpValueWithPrec(), GUARD_OBJ, INT2FIX, is_kind_of_BigDecimal(), NULL, Real::Prec, Qfalse, Qnil, Qtrue, rb_bug(), rb_intern, rb_num_coerce_cmp(), rb_num_coerce_relop(), RTEST, SAVE, SIGNED_VALUE, T_BIGNUM, T_DATA, T_FIXNUM, T_FLOAT, T_RATIONAL, TYPE, UNREACHABLE, VpBaseFig, and VpComp().
Referenced by BigDecimal_comp(), BigDecimal_eq(), BigDecimal_ge(), BigDecimal_gt(), BigDecimal_le(), and BigDecimal_lt().
Definition at line 2690 of file bigdecimal.c.
References BigDecimal_add(), BigDecimal_div2(), BigDecimal_mult(), BigDecimal_round(), cannot_be_coerced_into_BigDecimal(), d, DATA_PTR(), DBL_DIG, GetVpValue(), GetVpValueWithPrec(), i, INT2FIX, is_kind_of_BigDecimal(), isinf(), isnan, m, n, NULL, NUM2SSIZET, Real::obj, one(), rb_eArgError, RB_GC_GUARD(), rb_raise(), rb_thread_check_ints(), RFLOAT_VALUE, rmpd_double_figures(), SIGNED_VALUE, SSIZET2NUM, T_BIGNUM, T_DATA, T_FIXNUM, T_FLOAT, T_RATIONAL, ToValue(), TYPE, vabs, VP_SIGN_POSITIVE_INFINITE, VpCreateRbObject(), VpExponent10(), VpGetSign, VpIsNaN, VpIsNegInf, VpIsPosInf, VpIsZero, VpSetInf, VpSetNaN, and VpSetSign.
Referenced by Init_bigdecimal().
Definition at line 2821 of file bigdecimal.c.
References BigDecimal_add(), BigDecimal_div2(), BigDecimal_mult(), BigDecimal_mult2(), BigDecimal_sub(), buf, cannot_be_coerced_into_BigDecimal(), d, DATA_PTR(), DBL_DIG, FIX2LONG, GetVpValue(), GetVpValueWithPrec(), i, INT2FIX, is_integer(), is_kind_of_BigDecimal(), isinf(), isnan, m, n, NULL, NUM2SSIZET, Real::obj, one(), PRIdVALUE, rb_eArgError, rb_eMathDomainError, RB_GC_GUARD(), rb_raise(), RBIGNUM_NEGATIVE_P, RBIGNUM_ZERO_P, RFLOAT_VALUE, rmpd_double_figures(), RRATIONAL_NEGATIVE_P, RRATIONAL_ZERO_P, SIGNED_VALUE, snprintf, SSIZET2NUM, T_BIGNUM, T_COMPLEX, T_DATA, T_FIXNUM, T_FLOAT, T_RATIONAL, ToValue(), TYPE, vabs, VP_SIGN_POSITIVE_INFINITE, VpCreateRbObject(), VpExponent10(), VpGetSign, VpIsNaN, VpIsNegInf, VpIsPosInf, VpIsZero, VpSetInf, VpSetNaN, and zero().
Referenced by Init_bigdecimal().
Definition at line 175 of file bigdecimal.c.
References rb_class_name(), rb_exc_new3, rb_exc_raise(), rb_inspect(), rb_obj_class(), rb_special_const_p(), rb_str_cat2(), rb_str_dup(), and str.
Referenced by BigMath_s_exp(), BigMath_s_log(), and GetVpValueWithPrec().
Definition at line 403 of file bigdecimal.c.
References Check_Type(), FIX2UINT, id, id_banker, id_ceil, id_ceiling, id_default, id_down, id_floor, id_half_down, id_half_even, id_half_up, id_truncate, id_up, rb_eArgError, rb_raise(), sw, SYM2ID, T_FIXNUM, T_SYMBOL, TYPE, VP_ROUND_CEIL, VP_ROUND_DOWN, VP_ROUND_FLOOR, VP_ROUND_HALF_DOWN, VP_ROUND_HALF_EVEN, VP_ROUND_HALF_UP, VP_ROUND_UP, and VpIsRoundMode().
Referenced by BigDecimal_mode(), and BigDecimal_round().
for | ( | v /= | shifter = 1 | ) |
Definition at line 5816 of file bigdecimal.c.
References BASE, and Real::frac.
Definition at line 5917 of file bigdecimal.c.
References Real::exponent, Real::frac, ix, s, SIGNED_VALUE, VpGetSign, VpRdup(), VpSetOne, and VpSetSign.
Definition at line 531 of file bigdecimal.c.
References d, Real::exponent, mx, Real::Prec, SIGNED_VALUE, VP_EXCEPTION_INFINITY, VpException(), and VpIsDef.
Referenced by BigDecimal_add(), BigDecimal_DoDivmod(), and BigDecimal_sub().
|
static |
Definition at line 552 of file bigdecimal.c.
References Check_Type(), FIX2INT, n, rb_eArgError, rb_raise(), SIGNED_VALUE, and T_FIXNUM.
Referenced by BigDecimal_add2(), BigDecimal_div2(), BigDecimal_mult2(), BigDecimal_new(), BigDecimal_sqrt(), BigDecimal_sub2(), and BigDecimal_to_s().
Definition at line 276 of file bigdecimal.c.
References GetVpValueWithPrec().
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_add2(), BigDecimal_ceil(), BigDecimal_coerce(), BigDecimal_div2(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_dump(), BigDecimal_exponent(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_hash(), BigDecimal_inspect(), BigDecimal_IsFinite(), BigDecimal_IsInfinite(), BigDecimal_IsNaN(), BigDecimal_mult(), BigDecimal_mult2(), BigDecimal_neg(), BigDecimal_new(), BigDecimal_nonzero(), BigDecimal_power(), BigDecimal_prec(), BigDecimal_round(), BigDecimal_sign(), BigDecimal_split(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_sub2(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimal_to_r(), BigDecimal_to_s(), BigDecimal_truncate(), BigDecimal_zero(), BigDecimalCmp(), BigMath_s_exp(), and BigMath_s_log().
Definition at line 193 of file bigdecimal.c.
References BigDecimal_div2(), cannot_be_coerced_into_BigDecimal(), d, DATA_PTR(), DBL_DIG, FIX2LONG, id_to_r, is_kind_of_BigDecimal(), LONG2NUM, NULL, Qundef, rb_big2str(), rb_eArgError, rb_eTypeError, rb_funcall(), rb_obj_classname(), rb_raise(), RFLOAT_VALUE, RRATIONAL, RSTRING_PTR, SafeStringValue, sprintf(), strlen(), T_BIGNUM, T_DATA, T_FIXNUM, T_FLOAT, T_RATIONAL, T_STRING, ToValue(), TYPE, VpBaseFig, and VpCreateRbObject().
Referenced by BigDecimal_add(), BigDecimal_coerce(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_mult(), BigDecimal_new(), BigDecimal_power(), BigDecimal_sub(), BigDecimalCmp(), BigMath_s_exp(), BigMath_s_log(), GetVpValue(), and if().
GUARD_OBJ | ( | a | , |
GetVpValue(self, 1) | |||
) |
GUARD_OBJ | ( | * | c, |
VpCreateRbObject(mx,"#0") | |||
) |
GUARD_OBJ | ( | * | res, |
VpCreateRbObject((mx+1)*2+(VpBaseFig()+1),"#0") | |||
) |
Definition at line 1202 of file bigdecimal.c.
References DBL_DIG, and GetVpValueWithPrec().
else if | ( | RB_TYPE_P(r, T_RATIONAL) | ) |
Definition at line 1205 of file bigdecimal.c.
References GetVpValueWithPrec(), Real::Prec, and VpBaseFig.
if | ( | ! | b | ) |
if | ( | ! | NIL_Pr | ) |
Definition at line 1260 of file bigdecimal.c.
References BDIGIT, BDIGIT_DBL, Real::frac, Real::Prec, VpBaseVal, and VpInternalRound().
if | ( | VpToSpecialString(a, psz, fPlus) | ) |
Definition at line 5213 of file bigdecimal.c.
References BASE1, Real::frac, i, m, sprintf(), and strlen().
if | ( | fFmt | ) |
Definition at line 5249 of file bigdecimal.c.
if | ( | ) |
Definition at line 5800 of file bigdecimal.c.
References nf, VP_ROUND_CEIL, VP_ROUND_FLOOR, VpGetSign, and VpSetZero.
if | ( | (size_t) ix >=y-> | Prec | ) |
if | ( | exptoadd | , |
0 | |||
) |
Definition at line 5935 of file bigdecimal.c.
References BASE, BASE_FIG, Real::exponent, exptoadd, Real::frac, and SIGNED_VALUE.
if | ( | ! | VpHasValy | ) |
Definition at line 3080 of file bigdecimal.c.
References arg, BigDecimal_abs(), BigDecimal_add(), BigDecimal_add2(), BigDecimal_ceil(), BigDecimal_coerce(), BigDecimal_comp(), BigDecimal_div3(), BigDecimal_divmod(), BigDecimal_double_fig(), BigDecimal_dump(), BigDecimal_eq(), BigDecimal_exponent(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_ge(), BigDecimal_global_new(), BigDecimal_gt(), BigDecimal_hash(), BigDecimal_initialize(), BigDecimal_initialize_copy(), BigDecimal_inspect(), BigDecimal_IsFinite(), BigDecimal_IsInfinite(), BigDecimal_IsNaN(), BigDecimal_le(), BigDecimal_limit(), BigDecimal_load(), BigDecimal_lt(), BigDecimal_mod(), BigDecimal_mode(), BigDecimal_mult(), BigDecimal_mult2(), BigDecimal_neg(), BigDecimal_nonzero(), BigDecimal_power(), BigDecimal_power_op(), BigDecimal_prec(), BigDecimal_remainder(), BigDecimal_round(), BigDecimal_s_allocate(), BigDecimal_save_exception_mode(), BigDecimal_save_limit(), BigDecimal_save_rounding_mode(), BigDecimal_sign(), BigDecimal_split(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_sub2(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimal_to_r(), BigDecimal_to_s(), BigDecimal_truncate(), BigDecimal_uplus(), BigDecimal_version(), BigDecimal_zero(), BigMath_s_exp(), BigMath_s_log(), id_banker, id_BigDecimal_exception_mode, id_BigDecimal_precision_limit, id_BigDecimal_rounding_mode, id_ceil, id_ceiling, id_default, id_down, id_eq, id_floor, id_half_down, id_half_even, id_half_up, id_to_r, id_truncate, id_up, INT2FIX, rb_cBigDecimal, rb_cNumeric, rb_define_alloc_func(), rb_define_class(), rb_define_const(), rb_define_global_function(), rb_define_method(), rb_define_module(), rb_define_singleton_method(), rb_intern_const, rb_mBigMath, rb_str_new2, SIGNED_VALUE, VP_EXCEPTION_ALL, VP_EXCEPTION_INFINITY, VP_EXCEPTION_NaN, VP_EXCEPTION_OVERFLOW, VP_EXCEPTION_UNDERFLOW, VP_EXCEPTION_ZERODIVIDE, VP_ROUND_CEIL, VP_ROUND_DOWN, VP_ROUND_FLOOR, VP_ROUND_HALF_DOWN, VP_ROUND_HALF_EVEN, VP_ROUND_HALF_UP, VP_ROUND_MODE, VP_ROUND_UP, VP_SIGN_NaN, VP_SIGN_NEGATIVE_FINITE, VP_SIGN_NEGATIVE_INFINITE, VP_SIGN_NEGATIVE_ZERO, VP_SIGN_POSITIVE_FINITE, VP_SIGN_POSITIVE_INFINITE, VP_SIGN_POSITIVE_ZERO, VpBaseVal, and VpInit().
Definition at line 2135 of file bigdecimal.c.
References FIX2LONG, rb_big_pack(), T_BIGNUM, T_FIXNUM, and TYPE.
Referenced by BigDecimal_power().
Definition at line 2064 of file bigdecimal.c.
References RB_TYPE_P, T_BIGNUM, and T_FIXNUM.
Referenced by BigDecimal_power(), and BigMath_s_log().
Definition at line 152 of file bigdecimal.c.
References rb_typeddata_is_kind_of().
Referenced by BigDecimal_new(), BigDecimal_power(), BigDecimalCmp(), BigMath_s_exp(), BigMath_s_log(), and GetVpValueWithPrec().
Definition at line 2070 of file bigdecimal.c.
References FIX2LONG, FIXNUM_P, INT2FIX, rb_funcall(), RB_TYPE_P, RBIGNUM_NEGATIVE_P, RFLOAT_VALUE, RTEST, T_BIGNUM, and T_FLOAT.
Referenced by BigDecimal_power().
Definition at line 2110 of file bigdecimal.c.
References FIX2LONG, FIXNUM_P, id_eq, INT2FIX, Qfalse, rb_funcall(), RRATIONAL, RTEST, T_BIGNUM, T_FIXNUM, T_RATIONAL, and TYPE.
Referenced by BigDecimal_power().
Definition at line 2087 of file bigdecimal.c.
References FIX2LONG, FIXNUM_P, id_eq, INT2FIX, Qfalse, rb_funcall(), RRATIONAL, RTEST, T_BIGNUM, T_FIXNUM, T_RATIONAL, and TYPE.
Referenced by BigDecimal_power().
Referenced by alloc_addrinfo(), argf_initialize(), asn1time_to_time(), bary_pack(), bary_unpack_internal(), big2str_karatsuba(), console_emulator_p(), CreateChild(), dh_generate(), dsa_generate(), enc_pred_char(), enc_register_at(), enc_succ_char(), enc_table_expand(), EVP_MD_CTX_cleanup(), EVP_MD_CTX_create(), EVP_MD_CTX_init(), fbuffer_alloc(), fiber_t_alloc(), fill_random_seed(), flo_to_s(), flock_winnt(), fole_each(), gc_setup_mark_bits(), get_version(), getpage(), HMAC_CTX_cleanup(), init_randomseed(), join_argv(), makroom(), ole_create_dcom(), ole_invoke(), ole_invoke2(), ole_propertyput(), ossl_asn1_get_asn1type(), ossl_cipher_init(), ossl_cipher_initialize(), overlapped_socket_io(), PEM_def_callback(), rb_big2str0(), rb_dlcfunc_call(), rb_dlptr_malloc(), rb_econv_convert0(), rb_fiddle_ptr_malloc(), rb_file_expand_path_internal(), rb_iseq_disasm(), rb_objspace_alloc(), rb_str_format(), rb_str_justify(), rb_strftime_with_timespec(), rb_w32_asynchronize(), rb_w32_getsockname(), rbtime2vtdate(), recvmsg(), rgengc_mark_and_rememberset_clear(), RMD160_Finish(), RMD160_Update(), rsa_generate(), sdbm_firstkey(), sdbm_prep(), sendmsg(), setup_overlapped(), socketpair_internal(), sockopt_s_linger(), splpage(), strio_ungetc(), unescape_escaped_nonascii(), VpCtoV(), VpDtoV(), VpMemAlloc(), VpMult(), w_float(), winnt_stat(), yaml_document_delete(), yaml_emitter_delete(), yaml_emitter_dump(), yaml_emitter_initialize(), yaml_event_delete(), yaml_parser_delete(), yaml_parser_initialize(), yaml_parser_load(), yaml_parser_parse(), yaml_parser_scan(), yaml_string_extend(), and yaml_token_delete().
NORETURN | ( | static void | cannot_be_coerced_into_BigDecimalVALUE, VALUE | ) |
|
static |
Definition at line 3521 of file bigdecimal.c.
References gOne_ABCED9B4_CE73__00400511F31D.
Referenced by VpGetDoubleNegInf(), VpGetDoubleNegZero(), and VpGetDoublePosInf().
Definition at line 2156 of file bigdecimal.c.
References BigDecimal_mult2(), BigMath_exp, BigMath_log, Real::obj, obj, RB_GC_GUARD(), SSIZET2NUM, ToValue(), VpCreateRbObject(), and VpIsZero.
Referenced by BigDecimal_power().
SAVE | ( | b | ) |
SAVE | ( | c | ) |
SAVE | ( | res | ) |
SAVE | ( | div | ) |
sprintf | ( | psz | , |
"E%" | PRIdSIZE, | ||
ex | |||
) |
Referenced by BigDecimal_dump(), BigDecimal_inspect(), dlhandle_sym(), fiddle_handle_sym(), GetVpValueWithPrec(), if(), nkf_locale_charmap(), ole_excepinfo2msg(), ole_hresult2msg(), rsock_ipaddr(), sprint_byte(), sprint_byte_with_x(), strerror(), tcl_protect_core(), tcltklib_compile_info(), VpSzMantissa(), w32_spawn(), and yaml_emitter_generate_anchor().
switch | ( | f | ) |
Definition at line 5877 of file bigdecimal.c.
References div, Real::frac, VP_ROUND_CEIL, VP_ROUND_DOWN, VP_ROUND_FLOOR, VP_ROUND_HALF_DOWN, VP_ROUND_HALF_EVEN, VP_ROUND_HALF_UP, VP_ROUND_UP, and VpGetSign.
Referenced by dump_node().
Definition at line 158 of file bigdecimal.c.
References Real::obj, VP_EXCEPTION_INFINITY, VP_EXCEPTION_NaN, VpException(), VpIsNaN, VpIsNegInf, and VpIsPosInf.
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_add2(), BigDecimal_ceil(), BigDecimal_coerce(), BigDecimal_div2(), BigDecimal_divmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_global_new(), BigDecimal_initialize(), BigDecimal_load(), BigDecimal_mod(), BigDecimal_mult(), BigDecimal_mult2(), BigDecimal_neg(), BigDecimal_power(), BigDecimal_remainder(), BigDecimal_round(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_sub2(), BigDecimal_truncate(), BigMath_s_exp(), BigMath_s_log(), GetVpValueWithPrec(), and rmpd_power_by_big_decimal().
Definition at line 4172 of file bigdecimal.c.
References av, BASE, BDIGIT, bp, cp, Real::frac, VpAsgn(), and VpSetPTR().
Referenced by VpAddSub().
Definition at line 4038 of file bigdecimal.c.
References a, b, BASE_FIG, BDIGIT, Real::exponent, Real::frac, i, Min, n, Real::Prec, sw, 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 3837 of file bigdecimal.c.
References BASE_FIG, buf, i, ISDIGIT, ISSPACE, Max, Real::MaxPrec, mx, ne, nf, NULL, rb_str_resize(), rb_str_tmp_new(), RSTRING_PTR, StrCmp, strlen(), SZ_INF, SZ_NaN, SZ_NINF, SZ_PINF, v, VpAllocReal, VpCtoV(), VpGetPrecLimit(), VpSetNaN, VpSetNegInf, VpSetPosInf, and VpSetZero.
Referenced by BigDecimal_new(), VpCreateRbObject(), VpInit(), VpMult(), VpNewRbClass(), VpPower(), and VpSqrt().
Definition at line 3994 of file bigdecimal.c.
References BASE_FIG, BDIGIT, Real::exponent, Real::frac, Real::MaxPrec, memcpy(), n, Real::Prec, VpGetSign, VpInternalRound(), VpIsInf, VpIsNaN, VpIsZero, VpLimitRound(), VpSetInf, VpSetNaN, VpSetSign, and VpSetZero.
Referenced by BigDecimal_abs(), BigDecimal_neg(), VpAddAbs(), VpAddSub(), VpDivd(), VpFrac(), VpMult(), VpPower(), VpSqrt(), and VpSubAbs().
Definition at line 4875 of file bigdecimal.c.
References e, Real::exponent, Real::frac, mx, Real::Prec, Real::sign, val, VpGetSign, VpIsDef, VpIsNaN, VpIsZero, and while().
Referenced by BigDecimalCmp().
Definition at line 583 of file bigdecimal.c.
References assert, BDIGIT, Real::exponent, Real::flag, Real::frac, Real::MaxPrec, MEMCPY, NULL, Real::Prec, Real::sign, and VpReallocReal.
Referenced by BigDecimal_global_new(), BigDecimal_initialize(), and BigDecimal_initialize_copy().
Definition at line 572 of file bigdecimal.c.
References Real::obj, rb_cBigDecimal, TypedData_Wrap_Struct, and VpAlloc().
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_ceil(), BigDecimal_div2(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_mult(), BigDecimal_neg(), 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 5319 of file bigdecimal.c.
References BASE_FIG, BDIGIT, e, Real::exponent, Real::frac, i, j, Real::MaxPrec, memset(), MUL_OVERFLOW_SIGNED_VALUE_P, ne, Real::Prec, rb_warn(), SIGNED_VALUE, SIGNED_VALUE_MAX, VP_EXCEPTION_INFINITY, VpException(), VpNmlz(), VpSetInf, VpSetSign, VpSetZero, and zero().
Referenced by VpAlloc().
Definition at line 4622 of file bigdecimal.c.
References AddExponent(), BASE, BASE_FIG, BDIGIT, BDIGIT_DBL, Real::exponent, Real::frac, i, if(), Real::MaxPrec, Min, n, Real::Prec, q, 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_divremain(), BigDecimal_DoDivmod(), VpPower(), and VpSqrt().
Definition at line 5543 of file bigdecimal.c.
References BASE, BDIGIT, d, Real::exponent, Real::frac, i, isinf(), isnan, Real::MaxPrec, memset(), ne, Real::Prec, SIGNED_VALUE, val, VpInternalRound(), VpSetNaN, VpSetNegInf, VpSetPosInf, VpSetSign, and VpSetZero.
Referenced by VpSqrt().
Definition at line 3582 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 5106 of file bigdecimal.c.
References BASE1, BASE_FIG, ex, Real::exponent, Real::frac, n, and VpHasVal.
Referenced by BigDecimal_exponent(), BigDecimal_split(), BigDecimal_to_i(), BigDecimal_to_r(), BigMath_s_exp(), and BigMath_s_log().
|
static |
Definition at line 6060 of file bigdecimal.c.
References Real::exponent, Real::frac, Real::MaxPrec, Min, Real::Prec, VpAsgn(), VpGetSign, VpHasVal, VpNmlz(), VpSetSign, and VpSetZero.
Referenced by BigDecimal_divremain(), and BigDecimal_frac().
Definition at line 3360 of file bigdecimal.c.
References getchar, NULL, and xfree.
Referenced by BigDecimal_delete(), BigDecimal_initialize(), VpMult(), VpPower(), and VpSqrt().
Definition at line 3541 of file bigdecimal.c.
References Zero().
Definition at line 3557 of file bigdecimal.c.
Referenced by BigDecimal_to_f(), VpGetDoubleNegZero(), VpInit(), and VpVtoD().
Definition at line 3565 of file bigdecimal.c.
References One(), and VpGetDoubleNegInf().
Definition at line 3549 of file bigdecimal.c.
Referenced by BigDecimal_to_f(), VpInit(), and VpVtoD().
|
static |
Definition at line 3390 of file bigdecimal.c.
References FIX2UINT, id_BigDecimal_exception_mode, NIL_P(), rb_thread_current(), rb_thread_local_aref(), RMPD_EXCEPTION_MODE_DEFAULT, and rmpd_set_thread_local_exception_mode.
Referenced by BigDecimal_mode(), BigDecimal_save_exception_mode(), and VpException().
Definition at line 3425 of file bigdecimal.c.
References id_BigDecimal_precision_limit, NIL_P(), NUM2SIZET, rb_thread_current(), rb_thread_local_aref(), RMPD_PRECISION_LIMIT_DEFAULT, and rmpd_set_thread_local_precision_limit.
Referenced by BigDecimal_limit(), BigDecimal_save_limit(), VpAlloc(), VpLimitRound(), VpSetPrecLimit(), and VpSetPTR().
Definition at line 3460 of file bigdecimal.c.
References FIX2INT, id_BigDecimal_rounding_mode, NIL_P(), rb_thread_current(), rb_thread_local_aref(), RMPD_ROUNDING_MODE_DEFAULT, and rmpd_set_thread_local_rounding_mode.
Referenced by BigDecimal_add2(), BigDecimal_div2(), BigDecimal_mode(), BigDecimal_mult2(), BigDecimal_power(), BigDecimal_round(), BigDecimal_save_rounding_mode(), BigDecimal_sub2(), VpInternalRound(), VpLimitRound(), and VpSetRoundMode().
Definition at line 3749 of file bigdecimal.c.
References BASE, BASE1, BASE_FIG, DBLE_FIG, HALF_BASE, rmpd_double_figures(), VpAlloc(), VpGetDoubleNaN(), VpGetDoubleNegInf(), VpGetDoubleNegZero(), and VpGetDoublePosInf().
Referenced by Init_bigdecimal().
Definition at line 5986 of file bigdecimal.c.
References BASE1, VP_ROUND_CEIL, VP_ROUND_DOWN, VP_ROUND_FLOOR, VP_ROUND_HALF_DOWN, VP_ROUND_HALF_EVEN, VP_ROUND_HALF_UP, VP_ROUND_UP, VpGetRoundMode(), VpGetSign, VpLimitRound(), VpNmlz(), and VpRdup().
Referenced by if(), VpAddSub(), VpAsgn(), and VpDtoV().
Definition at line 3609 of file bigdecimal.c.
References VP_EXCEPTION_INFINITY, VP_EXCEPTION_NaN, VpException(), VpGetSign, VpIsInf, VpIsNaN, VpIsZero, VpSetInf, VpSetNaN, and VpSetZero.
Referenced by VpAddSub(), VpDivd(), and VpMult().
Definition at line 3476 of file bigdecimal.c.
References 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 5973 of file bigdecimal.c.
References BASE_FIG, Real::Prec, VpGetPrecLimit(), VpGetRoundMode(), VpLeftRound(), and VpNmlz().
Referenced by VpAsgn(), VpInternalRound(), and VpMult().
Definition at line 3336 of file bigdecimal.c.
References memset(), p, VP_EXCEPTION_MEMORY, VpException(), and xmalloc.
Definition at line 3350 of file bigdecimal.c.
References p, VP_EXCEPTION_MEMORY, VpException(), and xrealloc.
Definition at line 4493 of file bigdecimal.c.
References a, AddExponent(), b, BASE, BASE_FIG, BDIGIT, BDIGIT_DBL, c, Real::exponent, Real::frac, i, Real::MaxPrec, memset(), NULL, Real::Prec, s, 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 564 of file bigdecimal.c.
References Real::obj, TypedData_Wrap_Struct, and VpAlloc().
Referenced by BigDecimal_load(), and BigDecimal_s_allocate().
Definition at line 4837 of file bigdecimal.c.
References AddExponent(), BDIGIT, Real::frac, i, memmove(), Real::Prec, SIGNED_VALUE, VpGetSign, VpIsDef, VpIsZero, and VpSetZero.
Referenced by VpCtoV(), VpDivd(), VpFrac(), VpInternalRound(), VpLimitRound(), VpMult(), and VpRdup().
VpNmlz | ( | y | ) |
Definition at line 3705 of file bigdecimal.c.
References BASE_FIG, ex, Real::exponent, NULL, Real::Prec, SIGNED_VALUE, and VpIsDef.
Referenced by BigDecimal_dump(), BigDecimal_inspect(), BigDecimal_split(), BigDecimal_to_f(), and BigDecimal_to_s().
Definition at line 3780 of file bigdecimal.c.
References VpConstOne.
Referenced by BigDecimal_DoDivmod().
VP_EXPORT int VpPower | ( | Real * | y, |
Real * | x, | ||
SIGNED_VALUE | n | ||
) |
Definition at line 6108 of file bigdecimal.c.
References BASE_FIG, Real::exponent, Real::frac, Real::MaxPrec, n, NULL, Real::Prec, s, SIGNED_VALUE, VpAlloc(), VpAsgn(), VpDivd(), VpFree(), VpGetSign, VpIsInf, VpIsNaN, VpIsPosInf, VpIsZero, VpMult(), VpSetInf, VpSetNaN, VpSetOne, VpSetSign, and VpSetZero.
Referenced by BigDecimal_power().
Definition at line 6034 of file bigdecimal.c.
References AddExponent(), BASE, BDIGIT, Real::frac, Real::Prec, and VpNmlz().
Referenced by for(), and VpInternalRound().
|
static |
Definition at line 3406 of file bigdecimal.c.
References rmpd_set_thread_local_exception_mode.
Referenced by BigDecimal_mode(), and BigDecimal_save_exception_mode().
VP_EXPORT size_t VpSetPrecLimit | ( | size_t | n | ) |
Definition at line 3441 of file bigdecimal.c.
References rmpd_set_thread_local_precision_limit, s, 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().
|
static |
Definition at line 4383 of file bigdecimal.c.
References AddExponent(), assert, BASE_FIG, Real::exponent, Real::frac, Max, Real::MaxPrec, Real::Prec, and VpGetPrecLimit().
Referenced by VpAddAbs(), and VpSubAbs().
VP_EXPORT unsigned short VpSetRoundMode | ( | unsigned short | n | ) |
Definition at line 3494 of file bigdecimal.c.
References n, rmpd_set_thread_local_rounding_mode, VpGetRoundMode(), and VpIsRoundMode().
Referenced by BigDecimal_mode(), and BigDecimal_save_rounding_mode().
Definition at line 5675 of file bigdecimal.c.
References BASE, BASE_FIG, DBLE_FIG, e, Real::exponent, f, if(), maxnr, Real::MaxPrec, Min, n, NULL, PRIdSIZE, SIGNED_VALUE, val, VP_EXCEPTION_OP, VpAddSub(), VpAlloc(), VpAsgn(), VpChangeSign, VpDivd(), VpDtoV(), VpException(), VpFree(), VpGetSign, VpHasVal, VpIsOne, VpIsZero, VpMult(), VpSetNaN, VpSetOne, and VpVtoD().
Referenced by BigDecimal_sqrt().
Definition at line 4267 of file bigdecimal.c.
References av, BASE, BDIGIT, bp, cp, Real::frac, VpAsgn(), and VpSetPTR().
Referenced by VpAddSub().
Definition at line 5123 of file bigdecimal.c.
References BASE1, BDIGIT_DBL, e, Real::frac, i, m, n, nn, Real::Prec, sprintf(), strlen(), SZ_INF, SZ_NaN, SZ_NINF, VpGetSign, VpIsNaN, VpIsNegInf, VpIsPosInf, VpIsPosZero, and VpIsZero.
Referenced by BigDecimal_split().
VP_EXPORT int VpVtoD | ( | double * | d, |
SIGNED_VALUE * | e, | ||
Real * | m | ||
) |
Definition at line 5479 of file bigdecimal.c.
References BASE, BASE_FIG, DBLE_FIG, div, Real::exponent, f, Real::frac, Min, Real::Prec, SIGNED_VALUE, VpGetDoubleNaN(), VpGetDoubleNegInf(), VpGetDoubleNegZero(), VpGetDoublePosInf(), VpGetSign, VpIsNaN, VpIsNegInf, VpIsNegZero, VpIsPosInf, and VpIsPosZero.
Referenced by BigDecimal_to_f(), and VpSqrt().
while | ( | a->frac/ | shift[0] = = 0 | ) |
Definition at line 5241 of file bigdecimal.c.
References ex.
Referenced by addrinfo_mdump(), ruby_vm_run_at_exit_hooks(), and VpComp().
while | ( | psz | [-1] = = '0' | ) |
Definition at line 5245 of file bigdecimal.c.
while | ( | (v/=10)! | = 0 | ) |
Definition at line 5959 of file bigdecimal.c.
|
static |
Definition at line 3515 of file bigdecimal.c.
References gZero_ABCED9B1_CE73__00400511F31D.
Referenced by VpGetDoubleNaN(), VpGetDoubleNegInf(), and VpGetDoublePosInf().
* a = NULL |
Definition at line 1198 of file bigdecimal.c.
Referenced by addrinfo_ipv4_loopback_p(), addrinfo_ipv4_multicast_p(), addrinfo_ipv4_private_p(), assert_array(), BigDecimal_abs(), BigDecimal_add(), BigDecimal_ceil(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_mult(), BigDecimal_neg(), BigDecimal_nonzero(), BigDecimal_round(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_to_i(), BigDecimal_to_r(), BigDecimal_truncate(), BigDecimal_zero(), BigDecimalCmp(), bmcall(), c_civil_to_jd(), c_jd_to_civil(), c_jd_to_commercial(), calc_wday(), cdhash_hash(), cmp_equal(), d_lite_marshal_dump(), date_s__load(), date_zone_to_diff(), diff(), do_coerce(), f_addsub(), fix_divmod(), fix_minus(), fix_mul(), fix_plus(), fix_pow(), flo_cmp(), flo_divmod(), flo_eq(), flo_eql(), flo_ge(), flo_gt(), flo_le(), flo_lt(), gcd_timetick_int(), genrand_real(), genrand_real2(), int_pair_to_real_inclusive(), intrcmp(), isLegalUTF8(), jisx0301_date(), long_mul(), md5_process(), memcmp(), mmrot3_(), mmswap_(), mult(), multadd(), nucomp_abs(), nucomp_marshal_dump(), nurat_marshal_dump(), nurat_rationalize(), opt_eq_func(), ossl_pkcs7_copy(), ossl_x509_copy(), ossl_x509crl_copy(), ossl_x509req_copy(), p_gamma(), pack_unpack(), q_gamma(), quo(), rb_econv_init_by_convpath_i(), rb_flt_rationalize(), rb_flt_rationalize_with_prec(), rb_iseq_parameters(), rb_obj_write(), rb_obj_written(), rb_Rational(), rb_time_unmagnify(), rb_time_unmagnify_to_float(), ripper_token2eventid(), rsock_addrinfo_new(), rt_complete_frags(), SHA1_Transform(), SHA256_Transform(), SHA512_Transform(), sort_1(), sort_2(), sort_by_cmp(), st_foreach_safe(), strscan_inspect(), strstr(), swap_node(), time_round(), ulp(), unnamed_parameters(), vm_exec_core(), VpAddSub(), VpMult(), wcmp(), wi_mul(), and wquo().
Definition at line 1198 of file bigdecimal.c.
Referenced by big2str_karatsuba(), BigDecimal_add(), BigDecimal_coerce(), BigDecimal_div3(), BigDecimal_DoDivmod(), BigDecimal_mult(), BigDecimal_sub(), BigDecimalCmp(), c_civil_to_jd(), c_jd_to_civil(), d2b(), date__strptime_internal(), date_zone_to_diff(), diff(), f_addsub(), f_round_common(), fix_divmod(), fix_minus(), fix_mul(), fix_plus(), fix_pow(), fix_to_s(), flo_cmp(), flo_divmod(), flo_eq(), flo_eql(), flo_ge(), flo_gt(), flo_le(), flo_lt(), gcd_timetick_int(), genrand_real(), genrand_real2(), i2b(), int_pair_to_real_inclusive(), intcmp(), is_internal_cmd(), long_mul(), md5_process(), memcmp(), mmrot3_(), mmswap_(), mult(), multadd(), new_args_tail_gen(), nurat_rationalize(), opt_eq_func(), ossl_bn_is_bit_set(), ossl_pkcs7_copy(), ossl_x509_copy(), ossl_x509crl_copy(), ossl_x509req_copy(), pack_unpack(), parse_comp(), parse_eu_cb(), parse_us_cb(), pow5mult(), quo(), range_each_func(), range_include(), range_max(), range_min(), range_size(), range_step(), range_step_size(), rb_any_cmp(), rb_big_to_s(), rb_file_expand_path_internal(), rb_fix2str(), rb_flt_rationalize(), rb_flt_rationalize_with_prec(), rb_hash_set_default_proc(), rb_obj_write(), rb_range_beg_len(), rb_range_values(), rb_reg_expr_str(), rb_str_to_i(), rb_str_upto(), rb_time_unmagnify(), rb_time_unmagnify_to_float(), read_comp(), read_digits(), ruby_dtoa(), ruby_strtoul(), s2b(), SHA1_Transform(), SHA256_Transform(), SHA512_Transform(), sort_1(), sort_2(), sort_by_cmp(), strscan_inspect(), strstr(), swap_node(), time_round(), unescape_unicode(), valid_range_p(), vm_caller_setup_args(), vm_exec_core(), VpAddSub(), VpMult(), wcmp(), wi_mul(), and wquo().
|
static |
Definition at line 143 of file bigdecimal.c.
Definition at line 1223 of file bigdecimal.c.
Referenced by add_activated_refinement(), add_char_opt_map_info(), add_ctype_to_cc(), argf_readbyte(), bary_mul_karatsuba(), bary_sparse_p(), bary_sq_fast(), BigDecimal_abs(), BigDecimal_add(), BigDecimal_ceil(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_mult(), BigDecimal_neg(), BigDecimal_round(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_truncate(), bm_init_skip(), broken_getc(), broken_ungetc(), c_jd_to_civil(), cap_ungetc(), class_or_module_required(), cmp_eq(), cmp_ge(), cmp_gt(), cmp_le(), cmp_lt(), conv_backslash_value(), convert_UTF8_to_JSON(), date__strptime_internal(), dbl2big(), diff(), dump_append_string_value(), enc_pred_char(), enc_strlen(), enc_succ_alnum_char(), enc_succ_char(), f_addsub(), f_cmp(), fetch_char_property_to_ctype(), fetch_escaped_value(), fetch_name(), fetch_name_with_level(), fetch_range_quantifier(), fetch_token(), fetch_token_in_cc(), find_dirsep(), fix_minus(), fix_plus(), fmt_setup(), getdbit(), has_extra_methods(), has_magic(), int_chr(), int_downto(), int_upto(), intern_str(), io_bufread(), is_internal_cmd(), is_onechar_cclass(), iso2022jp_check_conv(), load_file_internal(), long_mul(), md5_process(), mime_integrity(), mime_putc(), mime_ungetc(), mime_ungetc_buf(), mimeout_addchar(), mmrot3_(), month_arg(), mult(), nfc_getc(), nfc_ungetc(), nkf_buf_push(), noconvert(), node_new_str_raw_char(), node_str_cat_char(), numchar_getc(), numchar_ungetc(), nurat_rationalize_internal(), onig_reduce_nested_quantifier(), onig_scan_unsigned_number(), onigenc_mbn_mbc_to_code(), onigenc_with_ascii_strncmp(), onigenc_with_ascii_strnicmp(), original_module(), pack_pack(), pack_unpack(), parse_enclose(), parse_posix_bracket(), parser_here_document(), parser_heredoc_identifier(), parser_nextc(), parser_number_literal_suffix(), parser_parse_string(), parser_peek_variable_name(), parser_prepare(), parser_read_escape(), parser_regx_options(), parser_tok_hex(), parser_tokadd_escape(), parser_tokadd_mbchar(), parser_tokadd_string(), parser_yylex(), path_inspect(), proc_options(), quo(), r_byte(), r_le(), r_long(), r_object0(), range_each_func(), range_max(), range_min(), rb_clock_getres(), rb_clock_gettime(), rb_cstr_to_inum(), rb_enc_ascget(), rb_enc_strlen_cr(), rb_gzreader_each_byte(), rb_gzreader_each_char(), rb_gzwriter_putc(), rb_io_each_char(), rb_io_each_codepoint(), rb_io_getbyte(), rb_io_getline_1(), rb_io_putc(), rb_io_readbyte(), rb_io_readchar(), rb_method_name_error(), rb_nkf_putchar(), rb_num_coerce_relop(), rb_obj_inspect(), rb_path_to_class(), rb_reg_expr_str(), rb_reg_quote(), rb_reg_regsub(), rb_str_buf_cat_ascii(), rb_str_capitalize_bang(), rb_str_count(), rb_str_delete_bang(), rb_str_downcase_bang(), rb_str_dump(), rb_str_enumerate_codepoints(), rb_str_format(), rb_str_inspect(), rb_str_ord(), rb_str_reverse_bang(), rb_str_rstrip_bang(), rb_str_split_m(), rb_str_squeeze_bang(), rb_str_upcase_bang(), rb_time_unmagnify(), rb_time_unmagnify_to_float(), rb_tolower(), rb_toupper(), rb_undef(), rb_using_refinement(), rb_w32_cmdvector(), rb_w32_getc(), rb_w32_putc(), reg_fragment_setenc_gen(), rmext(), ruby_strtod(), ruby_strtoul(), s3e(), s_oconv(), scan_unsigned_hexadecimal_number(), scan_unsigned_octal_number(), setdbit(), SHA1_Transform(), SHA256_Transform(), SHA512_Transform(), sign_bits(), sip_hash_init(), status_push_ch(), std_ungetc(), str2big_karatsuba(), str2big_normal(), str2big_poweroftwo(), str2big_scan_digits(), str_end_cmp(), str_end_with_asciichar(), strcasehash(), strio_each_byte(), strio_each_char(), strio_each_codepoint(), strio_getbyte(), strio_putc(), strio_readbyte(), strio_readchar(), swap_node(), tr_find(), tr_setup_table(), tr_trans(), trnext(), unescape_nonascii(), update_char_offset(), url_ungetc(), utf8_to_uv(), VpMult(), wi_mul(), wmap_inspect(), wquo(), x0212_shift(), x0212_unshift(), and z_conv().
Definition at line 1215 of file bigdecimal.c.
Referenced by absint_numwords_small(), fix_divide(), fix_divmod(), fixdivmod(), flo_divmod(), flodivmod(), iseq_specialized_instruction(), rb_big_divmod(), switch(), and VpVtoD().
BDIGIT e |
Definition at line 5209 of file bigdecimal.c.
Referenced by AddExponent(), addrinfo_mdump(), appendline(), BigDecimal_exponent(), BigDecimal_split(), BigDecimal_to_f(), BigDecimal_to_i(), BigDecimalCmp(), build_exception(), c_jd_to_civil(), coderange_scan(), cond0(), date_strftime_with_tmx(), enc_strlen(), enumerator_block_call(), enumerator_each(), env_assoc(), error_print(), establishShell(), flo_to_s(), float_rationalize(), gengo(), getrusage_time(), gmtime_r(), gzreader_charboundary(), Init_ossl_rsa(), inspect_enumerator(), intern_str(), iseq_data_to_ary(), load_encoding(), loaded_feature_path(), localtime_r(), mk_ary_of_str(), n2i(), name_add(), name_find(), nurat_rationalize(), onigenc_str_bytelen_null(), onigenc_strlen_null(), ossl_get_errors(), ossl_make_error(), parse_jis_cb(), pipe_open(), r_object0(), range_each_func(), range_include(), range_max(), range_min(), range_size(), range_step(), range_step_size(), rb_ary_delete(), rb_ary_delete_same(), rb_ary_index(), rb_ary_rindex(), rb_check_backtrace(), rb_chsize(), rb_cstr_to_dbl(), rb_enc_strlen_cr(), rb_enc_symname_type(), rb_feature_p(), rb_file_expand_path_internal(), rb_file_open_internal(), rb_file_s_extname(), rb_flt_rationalize_with_prec(), rb_hash_s_create(), rb_io_extract_modeenc(), rb_io_getline_1(), rb_io_getline_fast(), rb_range_beg_len(), rb_range_values(), rb_reg_regsub(), rb_reg_s_union(), rb_reg_to_s(), rb_str_chomp_bang(), rb_str_end_with(), rb_str_hash(), rb_str_index(), rb_str_lstrip_bang(), rb_str_reverse(), rb_str_reverse_bang(), rb_str_rstrip_bang(), rb_str_scrub(), rb_str_splice(), rb_str_subpos(), rb_str_succ(), rb_str_upto(), rb_strftime_with_timespec(), rb_threadptr_pending_interrupt_include_p(), rescue_callback(), rmext(), rsa_generate(), rsock_inspect_sockaddr(), rt_complete_frags(), ruby_enc_find_basename(), ruby_enc_find_extname(), ruby_strtod(), search_nonascii(), setup_exception(), SHA1_Transform(), SHA256_Transform(), SHA512_Transform(), st_init_table_with_size(), str_nth(), str_nth_len(), str_null_char(), str_rindex(), str_strlen(), strio_getline(), swallow(), syserr_eqq(), timeofday(), VpComp(), VpCtoV(), VpSqrt(), VpSzMantissa(), w32_aspawn_flags(), w32_spawn(), and w_float().
else |
Definition at line 1208 of file bigdecimal.c.
Definition at line 5211 of file bigdecimal.c.
Referenced by big_fdiv(), dln_load(), rb_io_s_popen(), ruby_cleanup(), VpExponent10(), VpNumOfChars(), and while().
exptoadd =0 |
Definition at line 5794 of file bigdecimal.c.
Referenced by if().
volatile const double gOne_ABCED9B4_CE73__00400511F31D = 1.0 |
Definition at line 3513 of file bigdecimal.c.
Referenced by One().
volatile const double gZero_ABCED9B1_CE73__00400511F31D = 0.0 |
Definition at line 3512 of file bigdecimal.c.
Referenced by Zero().
ssize_t i |
Definition at line 5794 of file bigdecimal.c.
|
static |
Definition at line 58 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 47 of file bigdecimal.c.
Referenced by Init_bigdecimal(), and VpGetException().
|
static |
Definition at line 49 of file bigdecimal.c.
Referenced by Init_bigdecimal(), and VpGetPrecLimit().
|
static |
Definition at line 48 of file bigdecimal.c.
Referenced by Init_bigdecimal(), and VpGetRoundMode().
|
static |
Definition at line 60 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 59 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 55 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 52 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 63 of file bigdecimal.c.
Referenced by Init_bigdecimal(), is_one(), and is_zero().
|
static |
Definition at line 61 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 56 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 57 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 54 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 62 of file bigdecimal.c.
Referenced by GetVpValueWithPrec(), and Init_bigdecimal().
|
static |
Definition at line 53 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
|
static |
Definition at line 51 of file bigdecimal.c.
Referenced by check_rounding_mode(), and Init_bigdecimal().
VP_EXPORT int |
Definition at line 5172 of file bigdecimal.c.
Referenced by add_compile_string_length(), appendline(), ary2ptr_dispparams(), bary_sq_fast(), big_lshift(), big_rshift(), big_shift2(), bigfixize(), bn_rand_range(), BSD_vfprintf(), bsock_setsockopt(), c_civil_to_jd(), c_jd_to_civil(), c_jd_to_weeknum(), calc_tm_yday(), chkpage(), compile_array_(), compile_data_alloc(), compile_massign(), concat_left_node_opt_info(), constat_parse(), d2b(), d_lite_plus(), d_lite_rshift(), date__strptime_internal(), date_strftime_with_tmx(), date_zone_to_diff(), day_num(), decode_year(), dlhandle_sym(), do_ioctl(), do_select(), double2timeval(), enc_names_i(), enumerator_size(), ffs(), fgdbm_delete_if(), fgdbm_has_key(), fiddle_handle_sym(), fill_cbuf(), fill_random_seed(), finish_writeconv(), fitpair(), flo_to_s(), get_char_length_tree1(), gmtime_with_leapsecond(), heap_page_allocate(), if(), Init_enc_set_filesystem_encoding(), integer_pack_fill_dd(), integer_pack_loop_setup(), integer_unpack_num_bdigits_generic(), integer_unpack_num_bdigits_small(), io_binwrite(), io_encname_bom_p(), io_fillbuf(), io_flush_buffer_sync(), io_ungetbyte(), iseq_compile_each(), iseq_set_arguments(), iseq_set_exception_table(), iseq_set_local_table(), make_compile_option(), marshal_load(), mon_num(), nogvl_copy_stream_write(), obj_ivar_each(), offset_to_sec(), ole_invoke2(), ole_vstr2wc(), onig_bbuf_init(), onig_node_str_cat(), onig_scan_unsigned_number(), onigenc_ascii_apply_all_case_fold(), onigenc_with_ascii_strncmp(), onigenc_with_ascii_strnicmp(), options(), ossl_dsa_to_der(), ossl_rsa_to_der(), overlapped_socket_io(), pack_pack(), pack_unpack(), parser_nextc(), parser_parse_string(), parser_yyerror(), poll_child_status(), process_options(), r_byte1_buffered(), r_bytes1(), r_bytes1_buffered(), random_load(), rb_big_lshift(), rb_big_rshift(), rb_dlcfunc_call(), rb_enc_aliases_enc_i(), rb_enc_mbclen(), rb_f_system(), rb_file_expand_path_internal(), rb_file_load_ok(), rb_fix2str(), rb_float_new_inline(), rb_gdbm_delete(), rb_gdbm_fetch2(), rb_gdbm_nextkey(), rb_get_kwargs(), rb_getaddrinfo(), rb_getnameinfo(), rb_id2str(), rb_id_attrset(), rb_io_getline_fast(), rb_io_ungetc(), rb_iseq_translate_threaded_code(), rb_locale_charmap(), rb_mod_define_method(), rb_num_to_uint(), rb_str_buf_cat_escaped_char(), rb_str_drop_bytes(), rb_str_format(), rb_str_inspect(), rb_strftime_with_timespec(), rb_sysopen_internal(), rb_vmdebug_debug_print_pre(), rb_w32_getppid(), rb_w32_inet_pton(), rb_w32_map_errno(), rb_w32_pipe(), rb_w32_select_with_thread(), rb_w32_strerror(), rb_wait_for_single_fd(), read_buffered_data(), recvmsg(), reduce_nodes_gen(), rsa_generate(), rsock_connect(), rsock_inspect_sockaddr(), rsock_s_accept(), ruby_dtoa(), ruby_each_words(), ruby_scan_hex(), ruby_scan_oct(), ruby_snprintf(), ruby_strtod(), ruby_vsnprintf(), scan_unsigned_hexadecimal_number(), sendmsg(), set_bm_backward_skip(), set_bm_skip(), set_optimize_exact_info(), set_optimize_map_info(), SHA256_Final(), SHA256_Update(), SHA512_Last(), SHA512_Update(), socklist_delete(), socklist_lookup(), st_hash(), str2big_karatsuba(), str_end_cmp(), str_end_hash(), swallow(), switch(), thread_fd_close_i(), time_mdump(), time_mload(), time_timespec(), timelocalw(), to_ascii(), tr_trans(), transcode_restartable0(), type_cclass_hash(), udp_send(), vm_define_method(), vm_throw(), w_float(), w_long(), w_object(), yaml_emitter_write_double_quoted_scalar(), yaml_parser_load_mapping(), yaml_parser_load_scalar(), yaml_parser_load_sequence(), yaml_parser_roll_indent(), yaml_parser_scan_block_scalar_breaks(), zstream_run(), and zstream_run_func().
Definition at line 5794 of file bigdecimal.c.
Definition at line 5794 of file bigdecimal.c.
Referenced by BigDecimal_div2(), f_mul(), for(), and safe_mul_p().
BDIGIT m |
Definition at line 5209 of file bigdecimal.c.
Referenced by AddExponent(), BigDecimal_load(), BigMath_s_exp(), BigMath_s_log(), bm_init_skip(), c_gregorian_last_day_of_month(), c_gregorian_to_yday(), c_jd_to_civil(), c_julian_last_day_of_month(), c_julian_to_yday(), c_valid_gregorian_p(), c_valid_julian_p(), calc_wday(), console_emulator_p(), convert_type(), d_lite_rshift(), date__strptime_internal(), date_s_civil(), date_s_today(), datetime_s_civil(), datetime_s_now(), delpair(), distance_multiply(), enum_minmax(), enum_minmax_by(), eval_string_with_cref(), extract_fd(), get_c_civil(), get_c_time(), get_s_civil(), glob_make_pattern(), if(), int_pair_to_real_inclusive(), int_sip_final(), int_sip_pre_update(), int_sip_update(), intern_str(), is_special_global_name(), match(), mem_is_in_memp(), method_hash(), murmur(), of2str(), range_dumper(), rb_ary_product(), rb_enc_symname_type(), rb_io_modestr_fmode(), rb_memsearch_qs(), rb_memsearch_qs_utf8(), rb_memsearch_ss(), rb_mod_included_modules(), rb_mod_modfunc(), rb_mutex_allow_trap(), rb_thread_shield_wait(), rb_w32_asynchronize(), reg_compile_gen(), ruby_qsort(), s3e(), sip_hash24(), str2big_karatsuba(), strio_init(), subx(), switch(), systemtime_to_tm(), time_to_date(), time_to_datetime(), valid_civil_sub(), vm_callee_setup_arg_complex(), vm_search_super_method(), vm_yield_setup_block_args(), vm_yield_setup_block_args_complex(), and VpSzMantissa().
Definition at line 1199 of file bigdecimal.c.
Referenced by BigDecimal_abs(), BigDecimal_add(), BigDecimal_ceil(), BigDecimal_divremain(), BigDecimal_DoDivmod(), BigDecimal_fix(), BigDecimal_floor(), BigDecimal_frac(), BigDecimal_mult(), BigDecimal_round(), BigDecimal_sqrt(), BigDecimal_sub(), BigDecimal_truncate(), GetAddSubPrec(), VpAlloc(), and VpComp().
Definition at line 5794 of file bigdecimal.c.
nf = y->exponent * (ssize_t)BASE_FIG |
Definition at line 5798 of file bigdecimal.c.
Referenced by BigDecimal_limit(), BigDecimal_to_i(), if(), ruby_strtod(), VpAlloc(), and VpFormatSt().
BDIGIT nn |
Definition at line 5209 of file bigdecimal.c.
Referenced by VpSzMantissa().
char* pszSav = psz |
Definition at line 5210 of file bigdecimal.c.
return Qnil |
Definition at line 1224 of file bigdecimal.c.
Definition at line 1212 of file bigdecimal.c.
Referenced by add_code_range_to_buf0(), add_ctype_to_cc(), add_ctype_to_cc_by_range(), add_multi_byte_cclass(), add_opcode_option(), add_opcode_rel_addr(), addrinfo_list_new(), and_cclass(), and_code_range1(), and_code_range_buf(), backtrace_to_location_ary(), backtrace_to_str_ary(), backward_search_range(), bary_mul_balance_with_mulfunc(), bbuf_clone(), bigdivrem(), bigdivrem_restoring(), bigdivrem_single1(), binomial_coefficient(), BN_nnmod(), bracket(), check_type_tree(), class_instance_method_list(), compile_anchor_node(), compile_call(), compile_cclass_node(), compile_enclose_node(), compile_length_string_node(), compile_length_tree(), compile_option_node(), compile_quantifier_node(), compile_range_repeat_node(), compile_string_node(), compile_tree(), compile_tree_empty_check(), compile_tree_n_times(), convert_type(), disable_noname_group_capture(), do_select(), enc_pred_char(), enc_succ_char(), enum_size(), expand_case_fold_make_rem_string(), expand_case_fold_string(), expand_case_fold_string_alt(), f_divide(), f_imul(), fetch_char_property_to_ctype(), fetch_name(), fetch_name_with_level(), fetch_named_backref_token(), fetch_range_quantifier(), fetch_token(), ffs(), finish_writeconv(), fix_minus(), fix_mul(), fix_plus(), fnmatch_helper(), gc_marks(), get_c_time(), get_char_length_tree1(), get_max_match_length(), get_min_match_length(), i_apply_case_fold(), i_names(), Init_RandomSeed(), int_pair_to_real_inclusive(), int_round_0(), int_sip_post_update(), io_binwrite(), io_fillbuf(), io_flush_buffer_sync(), io_getc(), io_unread(), iseq_set_arguments(), m_ajd(), m_amjd(), make_regexp(), match_at(), mime_begin_strict(), minus_dd(), murmur(), new_args_gen(), new_code_range(), next_state_class(), next_state_val(), node_extended_grapheme_cluster(), nogvl_copy_stream_read_write(), noname_disable_map(), not_code_range_buf(), nucomp_expt(), numbered_ref_check(), onig_compile(), onig_match(), onig_names_free(), onig_new(), onig_new_with_source(), onig_new_without_alloc(), onig_parse_make_tree(), onig_region_copy(), onig_region_new(), onig_region_resize_clear(), onig_region_set(), onig_search_gpos(), onigenc_apply_all_case_fold_with_map(), onigenc_ascii_apply_all_case_fold(), onigenc_property_list_add_property(), onigenc_property_list_init(), opobj_inspect(), optimize_node_left(), or_cclass(), or_code_range_buf(), overlapped_socket_io(), parse_branch(), parse_char_class(), parse_char_property(), parse_enclose(), parse_exp(), parse_posix_bracket(), parse_regexp(), parse_subexp(), quantifiers_memory_node_info(), r_le(), r_lt(), r_object0(), rand_int(), rand_range(), rand_start(), range_values(), rb_ary_permutation(), rb_ary_repeated_permutation(), rb_big_divrem_normal(), rb_enc_codepoint_len(), rb_f_rand(), rb_f_srand(), rb_io_each_codepoint(), rb_io_s_pipe(), rb_iseq_parameters(), rb_random_bytes(), rb_random_ulong_limited(), rb_reg_prepare_re(), rb_reset_random_seed(), rb_str_casecmp(), rb_str_strip_bang(), rb_thread_call_with_gvl(), rb_thread_s_handle_interrupt(), rb_w32_accept(), rb_w32_bind(), rb_w32_connect(), rb_w32_gethostbyaddr(), rb_w32_gethostbyname(), rb_w32_gethostname(), rb_w32_getpeername(), rb_w32_getprotobyname(), rb_w32_getprotobynumber(), rb_w32_getservbyname(), rb_w32_getservbyport(), rb_w32_getsockname(), rb_w32_getsockopt(), rb_w32_ioctlsocket(), rb_w32_listen(), rb_w32_select_with_thread(), rb_w32_setsockopt(), rb_w32_shutdown(), rb_w32_wrap_io_handle(), rb_wait_for_single_fd(), renumber_by_map(), ruby_qsort(), select_single(), set_optimize_exact_info(), set_optimize_info_from_tree(), set_rawmode(), set_ttymode(), setup_look_behind(), setup_subexp_call(), setup_tree(), sock_s_getnameinfo(), socketpair_internal(), split_second(), strcat_capa(), strcat_capa_from_static(), strdup_with_null(), subexp_inf_recursive_check(), subexp_inf_recursive_check_trav(), subexp_recursive_check(), subexp_recursive_check_trav(), time_usec(), tr_trans(), update_string_node_case_fold(), valid_civil_p(), valid_commercial_p(), valid_ordinal_p(), valid_weeknum_p(), vm_backtrace_to_ary(), vm_yield_setup_block_args(), vm_yield_setup_block_args_complex(), wadd(), wdiv(), wdivmod(), wmod(), wsplit_p(), wsub(), X509_CRL_sort(), and yield_indexed_values().
VALUE rb_cBigDecimal |
Definition at line 44 of file bigdecimal.c.
Referenced by BigDecimal_global_new(), Init_bigdecimal(), and VpCreateRbObject().
VALUE rb_mBigMath |
Definition at line 45 of file bigdecimal.c.
Referenced by Init_bigdecimal().
Definition at line 1251 of file bigdecimal.c.
Referenced by addrinfo_mload(), aligned_malloc(), allocate_converted_string(), BigDecimal_DoDivmod(), call_getaddrinfo(), econv_primitive_convert(), fc_i(), fill_cbuf(), finish_writeconv(), gzreader_gets(), init_inetsock_internal(), ip_s_getaddress(), make_addrinfo(), pack_pack(), pruby_file_fetch_check_response(), pty_getpty(), rb_econv_append(), rb_econv_convert0(), rb_str_crypt(), rb_str_justify(), rb_trans_conv(), rsock_getaddrinfo(), select_internal(), sock_s_getaddrinfo(), sock_s_getnameinfo(), sock_s_pack_sockaddr_in(), stack_chunk_alloc(), trans_sweep(), transcode_restartable(), udp_bind(), udp_connect_internal(), udp_send(), and wrename().
return |
Definition at line 5946 of file bigdecimal.c.
Referenced by alt_merge_opt_exact_info(), alt_merge_opt_map_info(), CC_DUP_WARN(), CC_ESC_WARN(), CLOSE_BRACKET_WITHOUT_ESC_WARN(), concat_opt_exact_info(), onig_node_free(), onig_reduce_nested_quantifier(), select_opt_exact_info(), select_opt_map_info(), and UNKNOWN_ESC_WARN().
shift = BASE1 |
Definition at line 5209 of file bigdecimal.c.
Referenced by bary_divmod_normal(), big2str_karatsuba(), nkf_each_char_to_hex(), rb_ary_modify(), rb_big_aref(), rb_big_lshift(), rb_big_rshift(), and ruby_brace_expand().
BDIGIT shifter |
Definition at line 5795 of file bigdecimal.c.
v = y->frac[ix] |
Definition at line 5795 of file bigdecimal.c.
|
static |
Definition at line 1196 of file bigdecimal.c.
VP_EXPORT void |
Definition at line 5207 of file bigdecimal.c.
Referenced by argf_next_argv(), bignew_1(), CHECK_INTEGER(), chfunc(), console_iflush(), console_oflush(), date_strftime_with_tmx(), dlhandle_sym(), dln_load(), fiddle_handle_sym(), gc_mark_maybe(), gc_page_sweep(), get_device_once(), getpage(), gzfile_getc(), if(), Init_ISeq(), Init_sym(), Init_tcltklib(), Init_Thread(), Init_VM(), iseq_build_from_ary_body(), iseq_build_from_ary_exception(), iseq_load(), load_lock(), make_io_deferred(), makroom(), ossl_asn1_get_asn1type(), p_gid_change_privilege(), p_uid_change_privilege(), parse_exp(), parser_yylex(), putpair(), rand_random(), rb_big_realloc(), rb_cstr_to_rat(), rb_file_load_ok(), rb_io_advise(), rb_io_reopen(), rb_singleton_class(), rb_strftime_with_timespec(), RMD160_Finish(), RMD160_Update(), sdbm_close(), sdbm_firstkey(), sdbm_prep(), sdbm_store(), SHA1_Transform(), SHA1_Update(), signal_ignored(), splpage(), ssl_renegotiation_cb(), str_is_number(), string_to_c(), string_to_r(), trap_handler(), yaml_parser_decrease_flow_level(), yaml_parser_parse_block_mapping_key(), yaml_parser_parse_block_sequence_entry(), yaml_parser_parse_flow_mapping_key(), yaml_parser_parse_flow_sequence_entry(), and zlib_mem_alloc().
|
static |
Definition at line 3313 of file bigdecimal.c.
Referenced by VpOne().
|
static |
Definition at line 3314 of file bigdecimal.c.