public class RubyRational extends RubyNumeric
RubyNumeric.InvalidIntegerException, RubyNumeric.NumberTooLargeExceptionRubyObject.DataRubyBasicObject.Finalizer| Modifier and Type | Field and Description |
|---|---|
private static boolean |
canonicalization
nurat_canonicalization
|
private IRubyObject |
den |
private static long |
ML
nurat_to_f
|
private IRubyObject |
num |
private static ObjectAllocator |
RATIONAL_ALLOCATOR |
private static ObjectMarshal |
RATIONAL_MARSHAL |
DBL_EPSILON, NUMERIC_ALLOCATORFIELD_ALLOCATED_CLASSES, FIELD_ALLOCATORS, IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, OBJECT_VAR0_ALLOCATOR, OBJECT_VAR1_ALLOCATOR, OBJECT_VAR2_ALLOCATOR, OBJECT_VAR3_ALLOCATOR, OBJECT_VAR4_ALLOCATOR, OBJECT_VAR5_ALLOCATOR, OBJECT_VAR6_ALLOCATOR, OBJECT_VAR7_ALLOCATOR, OBJECT_VAR8_ALLOCATOR, OBJECT_VAR9_ALLOCATOR, REIFYING_OBJECT_ALLOCATORALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, metaClass, NEVER, NIL_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUSTED_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, VAR_TABLE_OFFSET, varTable, varTableStampNULL_ARRAY| Modifier | Constructor and Description |
|---|---|
private |
RubyRational(Ruby runtime,
IRubyObject clazz,
IRubyObject num,
IRubyObject den)
internal
|
abs, abs2, arg, asNumeric, callCoerced, callCoerced, ceil, checkInt, coerce, coerceBin, coerceBody, coerceCmp, coerceRelOp, conjugate, createNumericClass, dbl_cmp, dbl2num, div, div19, divmod, divmod19, doCoerce, eql_p, fdiv, fix2int, fix2int, fix2long, floatStep, floatStep19, floor, getBigIntegerValue, getCoerced, getLongValue, image, initialize_copy, int2fix, integer_p, magnitude, modulo, modulo19, newNumeric, nonzero_p, num_imaginary, num2chr, num2dbl, num2fix, num2int, num2long, op_cmp, op_num_equal, op_uminus, op_uplus, polar, quo_19, quo, real, rect, remainder, round, sadded, scalar_p, step, step, str2fnum, str2fnum, str2fnum19, str2inum, str2inum, to_c, to_int, toJava, truncate, zero_pattachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, eqlInternal, equalInternal, equals, getNativeTypeIndex, hashCode, initialize, initialize, inspect, op_eqq, puts, specificEval, toStringaddFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, display, dup, ensureInstanceVariablesSettable, eql_p, eql, equal_p, equal_p19, evalUnder, extend, fastGetInstanceVariable, fastGetInternalVariable, fastHasInstanceVariable, fastHasInternalVariable, fastSetInstanceVariable, fastSetInternalVariable, freeze, frozen_p, getFFIHandle, getFlag, getInstanceEvalClass, getInstanceVariable, getInstanceVariableList, getInstanceVariableNameList, getInstanceVariables, getInternalVariable, getInternalVariables, getJavaClass, getMetaClass, getNativeHandle, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInternalVariable, hasVariables, id_deprecated, id, infectBy, infectBy, infectBy, initialize19, inspect, inspectHashCode, instance_eval, instance_eval, instance_eval, instance_eval, instance_eval19, instance_eval19, instance_eval19, instance_eval19, instance_exec, instance_exec19, instance_of_p, instance_variable_defined_p, instance_variable_get, instance_variable_set, instance_variables, instance_variables19, isBuiltin, isClass, isFalse, isFrozen, isImmediate, isModule, isNil, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method_missing19, method, method19, methods, methods, methods19, nil_p, op_equal_19, op_match, op_match19, op_not_equal, op_not_match, op_not, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, recacheBuiltinMethods, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, respond_to_p, respond_to_p19, respond_to_p19, respondsTo, respondsToMissing, respondsToMissing, send, send, send, send, send, send19, send19, send19, send19, setFFIHandle, setFlag, setFrozen, setInstanceVariable, setInternalVariable, setMetaClass, setNativeHandle, setTaint, setUntrusted, setVariable, singleton_method_added19, singleton_method_removed19, singleton_method_undefined19, singleton_methods, singleton_methods19, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted_p, testFrozen, testFrozen, to_a, to_s, trust, type_deprecated, type, untaint, untrust, untrusted_p, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnderprivate static ObjectAllocator RATIONAL_ALLOCATOR
private IRubyObject num
private IRubyObject den
private static boolean canonicalization
private static long ML
private static final ObjectMarshal RATIONAL_MARSHAL
private RubyRational(Ruby runtime, IRubyObject clazz, IRubyObject num, IRubyObject den)
static RubyRational newRationalRaw(Ruby runtime, IRubyObject x, IRubyObject y)
static RubyRational newRationalRaw(Ruby runtime, IRubyObject x)
static IRubyObject newRationalCanonicalize(ThreadContext context, IRubyObject x)
private static IRubyObject newRationalCanonicalize(ThreadContext context, IRubyObject x, IRubyObject y)
private static IRubyObject newRational(ThreadContext context, IRubyObject clazz, IRubyObject x, IRubyObject y)
private static IRubyObject newRationalNoReduce(ThreadContext context, IRubyObject clazz, IRubyObject x, IRubyObject y)
private static RubyRational newRationalBang(ThreadContext context, IRubyObject clazz, IRubyObject x, IRubyObject y)
private static RubyRational newRationalBang(ThreadContext context, IRubyObject clazz, IRubyObject x)
@Deprecated public static IRubyObject newInstanceBang(ThreadContext context, IRubyObject recv, IRubyObject[] args)
public static IRubyObject newInstanceBang(ThreadContext context, IRubyObject recv, IRubyObject num)
public static IRubyObject newInstanceBang(ThreadContext context, IRubyObject recv, IRubyObject num, IRubyObject den)
public static void setCanonicalization(boolean canonical)
static void intCheck(ThreadContext context, IRubyObject num)
static IRubyObject intValue(ThreadContext context, IRubyObject num)
private static IRubyObject canonicalizeInternal(ThreadContext context, IRubyObject clazz, IRubyObject num, IRubyObject den)
private static IRubyObject canonicalizeInternalNoReduce(ThreadContext context, IRubyObject clazz, IRubyObject num, IRubyObject den)
@Deprecated public static IRubyObject newInstance(ThreadContext context, IRubyObject clazz, IRubyObject[] args)
public static IRubyObject newInstance(ThreadContext context, IRubyObject clazz, IRubyObject num)
public static IRubyObject newInstance(ThreadContext context, IRubyObject clazz, IRubyObject num, IRubyObject den)
public static IRubyObject newRationalConvert(ThreadContext context, IRubyObject x)
public static IRubyObject newRationalConvert(ThreadContext context, IRubyObject x, IRubyObject y)
public static RubyRational newRational(Ruby runtime, long x, long y)
@Deprecated public static IRubyObject convert(ThreadContext context, IRubyObject clazz, IRubyObject[] args)
public static IRubyObject convert(ThreadContext context, IRubyObject recv, IRubyObject a1)
public static IRubyObject convert(ThreadContext context, IRubyObject recv, IRubyObject a1, IRubyObject a2)
private static IRubyObject convertCommon(ThreadContext context, IRubyObject recv, IRubyObject a1, IRubyObject a2)
public IRubyObject numerator(ThreadContext context)
numerator in class RubyNumericpublic IRubyObject denominator(ThreadContext context)
denominator in class RubyNumericprivate static IRubyObject f_imul(ThreadContext context, long a, long b)
private IRubyObject f_addsub(ThreadContext context, IRubyObject anum, IRubyObject aden, IRubyObject bnum, IRubyObject bden, boolean plus)
public IRubyObject op_add(ThreadContext context, IRubyObject other)
public IRubyObject op_sub(ThreadContext context, IRubyObject other)
private IRubyObject f_muldiv(ThreadContext context, IRubyObject anum, IRubyObject aden, IRubyObject bnum, IRubyObject bden, boolean mult)
public IRubyObject op_mul(ThreadContext context, IRubyObject other)
public IRubyObject op_div(ThreadContext context, IRubyObject other)
public IRubyObject op_fdiv(ThreadContext context, IRubyObject other)
public IRubyObject op_expt(ThreadContext context, IRubyObject other)
public IRubyObject op_cmp(ThreadContext context, IRubyObject other)
op_cmp in class RubyBasicObjectpublic IRubyObject op_equal(ThreadContext context, IRubyObject other)
op_equal in interface IRubyObjectop_equal in class RubyBasicObjectpublic IRubyObject op_coerce(ThreadContext context, IRubyObject other)
public IRubyObject op_idiv(ThreadContext context, IRubyObject other)
public IRubyObject op_idiv19(ThreadContext context, IRubyObject other)
public IRubyObject op_mod(ThreadContext context, IRubyObject other)
public IRubyObject op_mod19(ThreadContext context, IRubyObject other)
public IRubyObject op_divmod(ThreadContext context, IRubyObject other)
public IRubyObject op_divmod19(ThreadContext context, IRubyObject other)
public IRubyObject op_rem(ThreadContext context, IRubyObject other)
public IRubyObject op_abs(ThreadContext context)
private IRubyObject op_roundCommonPre(ThreadContext context, IRubyObject n)
private IRubyObject op_roundCommonPost(ThreadContext context, IRubyObject s, IRubyObject n, IRubyObject b)
public IRubyObject op_floor(ThreadContext context)
public IRubyObject op_floor(ThreadContext context, IRubyObject n)
public IRubyObject op_ceil(ThreadContext context)
public IRubyObject op_ceil(ThreadContext context, IRubyObject n)
public IRubyObject to_i(ThreadContext context)
public IRubyObject op_truncate(ThreadContext context)
public IRubyObject op_truncate(ThreadContext context, IRubyObject n)
public IRubyObject op_round(ThreadContext context)
public IRubyObject op_round(ThreadContext context, IRubyObject n)
public IRubyObject to_f(ThreadContext context)
public double getDoubleValue()
getDoubleValue in class RubyNumericpublic double getDoubleValue(ThreadContext context)
public IRubyObject to_r(ThreadContext context)
public IRubyObject rationalize(ThreadContext context, IRubyObject[] args)
public IRubyObject hash(ThreadContext context)
public IRubyObject to_s(ThreadContext context)
public IRubyObject inspect(ThreadContext context)
public IRubyObject marshal_dump(ThreadContext context)
public IRubyObject marshal_load(ThreadContext context, IRubyObject arg)
static RubyArray str_to_r_internal(ThreadContext context, IRubyObject recv)
private static IRubyObject str_to_r_strict(ThreadContext context, IRubyObject recv)