Package org.jruby
Class RubyRandom
java.lang.Object
org.jruby.RubyBasicObject
org.jruby.RubyObject
org.jruby.RubyRandom
- All Implemented Interfaces:
Serializable,Cloneable,Comparable<IRubyObject>,InstanceVariables,InternalVariables,IRubyObject,CoreObjectType
Implementation of the Random class.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classInternal API, subject to change.(package private) static classNested classes/interfaces inherited from class org.jruby.RubyObject
RubyObject.DataNested classes/interfaces inherited from class org.jruby.RubyBasicObject
RubyBasicObject.Finalizer -
Field Summary
FieldsFields inherited from class org.jruby.RubyObject
IVAR_INSPECTING_OBJECT_ALLOCATOR, OBJECT_ALLOCATOR, REIFYING_OBJECT_ALLOCATORFields inherited from class org.jruby.RubyBasicObject
ALL_F, BASICOBJECT_ALLOCATOR, COMPARE_BY_IDENTITY_F, ERR_INSECURE_SET_INST_VAR, FALSE_F, FL_USHIFT, flags, FROZEN_F, IS_OVERLAID_F, metaClass, NEVER, NIL_F, REFINED_MODULE_F, STAMP_OFFSET, TAINTED_F, UNDEF, UNTRUST_F, USER0_F, USER1_F, USER2_F, USER3_F, USER4_F, USER5_F, USER6_F, USER7_F, USER8_F, USER9_F, USERA_F, VAR_TABLE_OFFSET, varTable, varTableStampFields inherited from interface org.jruby.runtime.builtin.IRubyObject
NULL_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbytes(ThreadContext context, IRubyObject arg) static IRubyObjectbytes(ThreadContext context, IRubyObject recv, IRubyObject arg) private static IRubyObjectbytesCommon(ThreadContext context, RubyRandom.RandomType random, IRubyObject arg) private static voidcheckFloatValue(ThreadContext context, double x) private static IRubyObjectcheckMaxInt(ThreadContext context, IRubyObject vmax) static RubyClasscreateRandomClass(Ruby runtime) private static doublefloatValue(ThreadContext context, RubyFloat v) private static RubyRandom.RandomTypegetDefaultRand(ThreadContext context) (package private) static intgetIntBigIntegerBuffer(byte[] src, int loc) initialize(ThreadContext context, IRubyObject[] args) initialize_copy(IRubyObject orig) rb_obj_init_copy Initializes this object as a copy of the original, that is the parameter to this object.static IRubyObjectleft(ThreadContext context, IRubyObject recv) leftObj(ThreadContext context) private static longmakeMask(long x) marshal_dump(ThreadContext context) marshal_load(ThreadContext context, IRubyObject arg) static IRubyObjectnewSeed(ThreadContext context, IRubyObject recv) op_equal(ThreadContext context, IRubyObject obj) rb_obj_equal Will by default use identity equality to compare objects.op_equal_19(ThreadContext context, IRubyObject obj) Deprecated.rand(ThreadContext context) rand(ThreadContext context, IRubyObject arg) static IRubyObjectrand(ThreadContext context, IRubyObject recv, IRubyObject[] args) Deprecated.static IRubyObjectrandCommon19(ThreadContext context, IRubyObject recv, IRubyObject[] args) Deprecated.static IRubyObjectrandDefault(ThreadContext context, IRubyObject recv) static IRubyObjectrandDefault(ThreadContext context, IRubyObject recv, IRubyObject arg) static RubyFloatrandFloat(ThreadContext context) static RubyFloatrandFloat(ThreadContext context, RubyRandom.RandomType random) private static IRubyObjectrandInt(ThreadContext context, RubyRandom.RandomType random, RubyInteger vmax, boolean restrictive) (package private) static IRubyObjectrandKernel(ThreadContext context, IRubyObject arg) (package private) static IRubyObjectrandKernel(ThreadContext context, IRubyObject[] args) Deprecated.static RubyIntegerrandLimited(ThreadContext context, long limit) static RubyIntegerrandLimited(ThreadContext context, BigInteger limit) private static RubyIntegerrandLimitedBignum(ThreadContext context, RubyRandom.RandomType random, BigInteger limit) private static RubyIntegerrandLimitedFixnum(ThreadContext context, RubyRandom.RandomType random, long limit) static longrandLimitedFixnumInner(Random random, long limit) randObj(ThreadContext context, IRubyObject[] args) Deprecated.static longrandomLongLimited(ThreadContext context, IRubyObject obj, long limit) private static IRubyObjectrandomRand(ThreadContext context, IRubyObject vmax, RubyRandom.RandomType random) static doublerandomReal(ThreadContext context, IRubyObject obj) static RubyBignumrandomSeed(Ruby runtime) static BigIntegerrandomSeedBigInteger(Random random) private static RubyRandom.RangeLikerangeValues(ThreadContext context, IRubyObject range) seed(ThreadContext context) (package private) static voidsetIntBigIntegerBuffer(byte[] dest, int loc, int value) private voidsetRandomType(RubyRandom.RandomType random) static IRubyObjectsrand(ThreadContext context, IRubyObject recv) static IRubyObjectsrand(ThreadContext context, IRubyObject recv, IRubyObject seed) static IRubyObjectsrandCommon(ThreadContext context, IRubyObject recv) static IRubyObjectsrandCommon(ThreadContext context, IRubyObject recv, IRubyObject newSeed) static IRubyObjectstate(ThreadContext context, IRubyObject recv) stateObj(ThreadContext context) private static RubyRandom.RandomTypetryGetRandomType(ThreadContext context, IRubyObject obj) static IRubyObjecturandom(ThreadContext context, IRubyObject recv, IRubyObject num) Methods inherited from class org.jruby.RubyObject
attachToObjectSpace, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, callInit, convertToType, createObjectClass, dig, dig1, dig2, eqlInternal, equalInternal, equals, getNativeClassIndex, hashCode, inspect, op_eqq, puts, specificEval, toRubyString, toStringMethods inherited from class org.jruby.RubyBasicObject
addFinalizer, anyToString, asJavaString, asString, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callMethod, callSuper, checkArrayType, checkCallMethod, checkCallMethod, checkFrozen, checkStringType, checkStringType19, compareTo, convertToArray, convertToFloat, convertToHash, convertToInteger, convertToInteger, convertToInteger, convertToString, copyInstanceVariablesInto, copySpecialInstanceVariables, createBasicObjectClass, dataGetStruct, dataGetStructChecked, dataWrapStruct, decode, defaultToJava, display, dup, ensureInstanceVariablesSettable, eql, eql_p, 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, getMetaClass, getNativeHandle, getNativeTypeIndex, getObjectId, getRuntime, getSingletonClass, getSingletonClassClone, getSingletonClassCloneAndAttach, getType, getVariable, getVariableCount, getVariableList, getVariableNameList, hash, hashyInspect, hasInstanceVariable, hasInstanceVariables, hasInternalVariable, hasVariables, id, infectBy, infectBy, infectBy, initialize, 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, isSpecialConst, isSpecialObject, isTaint, isTrue, isUntrusted, kind_of_p, makeMetaClass, method, method_missing, method_missing19, method19, methods, methods, methods19, methodsImpl, nil_p, nonFixnumHashCode, OBJ_INIT_COPY, objInitCopy, op_cmp, op_match, op_match19, op_not, op_not_equal, op_not_match, private_methods, private_methods19, protected_methods, protected_methods19, public_methods, public_methods19, rbClone, rbClone, rbInspect, recacheBuiltinMethods, remove_instance_variable, removeFinalizers, removeInstanceVariable, removeInternalVariable, respond_to_p, 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, singleton_method_added, singleton_method_added19, singleton_method_removed, singleton_method_removed19, singleton_method_undefined, singleton_method_undefined19, singleton_methods, specificEval, specificEval, specificEval, specificEval, syncVariables, syncVariables, taint, taint, tainted, tainted_p, testFrozen, testFrozen, to_a, to_a, to_s, toJava, trust, type, type_deprecated, untaint, untrust, untrusted_p, validateInstanceVariable, validateInstanceVariable, validateInstanceVariable, variableTableContains, variableTableFastContains, variableTableFastFetch, variableTableFastStore, variableTableFetch, variableTableRemove, variableTableStore, variableTableSync, yieldUnder, yieldUnder
-
Field Details
-
DEFAULT_SEED_CNT
private static final int DEFAULT_SEED_CNT- See Also:
-
random
-
-
Constructor Details
-
RubyRandom
-
-
Method Details
-
getIntBigIntegerBuffer
static int getIntBigIntegerBuffer(byte[] src, int loc) -
setIntBigIntegerBuffer
static void setIntBigIntegerBuffer(byte[] dest, int loc, int value) -
randomSeedBigInteger
-
randomSeed
-
createRandomClass
-
initialize
-
seed
-
initialize_copy
Description copied from class:RubyBasicObjectrb_obj_init_copy Initializes this object as a copy of the original, that is the parameter to this object. Will make sure that the argument actually has the same real class as this object. It shouldn't be possible to initialize an object with something totally different.- Overrides:
initialize_copyin classRubyBasicObject
-
randDefault
-
randDefault
-
randKernel
-
randObj
Deprecated. -
rand
-
rand
-
randInt
private static IRubyObject randInt(ThreadContext context, RubyRandom.RandomType random, RubyInteger vmax, boolean restrictive) -
randFloat
-
randFloat
-
randLimited
-
randLimitedFixnum
private static RubyInteger randLimitedFixnum(ThreadContext context, RubyRandom.RandomType random, long limit) -
randLimitedFixnumInner
-
randLimited
-
randLimitedBignum
private static RubyInteger randLimitedBignum(ThreadContext context, RubyRandom.RandomType random, BigInteger limit) -
makeMask
private static long makeMask(long x) -
getDefaultRand
-
randomRand
private static IRubyObject randomRand(ThreadContext context, IRubyObject vmax, RubyRandom.RandomType random) -
floatValue
-
checkFloatValue
-
checkMaxInt
-
rangeValues
-
srand
-
srand
-
srandCommon
-
srandCommon
-
op_equal_19
Deprecated.- Overrides:
op_equal_19in classRubyBasicObject
-
op_equal
Description copied from class:RubyBasicObjectrb_obj_equal Will by default use identity equality to compare objects. This follows the Ruby semantics. The name of this method doesn't follow the convention because hierarchy problems- Specified by:
op_equalin interfaceIRubyObject- Overrides:
op_equalin classRubyBasicObject
-
stateObj
-
leftObj
-
state
-
left
-
marshal_dump
-
marshal_load
-
bytes
-
bytes
-
bytesCommon
private static IRubyObject bytesCommon(ThreadContext context, RubyRandom.RandomType random, IRubyObject arg) -
tryGetRandomType
-
randomLongLimited
-
randomReal
-
newSeed
-
urandom
-
setRandomType
-
randCommon19
@Deprecated public static IRubyObject randCommon19(ThreadContext context, IRubyObject recv, IRubyObject[] args) Deprecated. -
randKernel
Deprecated. -
rand
@Deprecated public static IRubyObject rand(ThreadContext context, IRubyObject recv, IRubyObject[] args) Deprecated.
-