Top Inners Fields Constructors Methods
org.jruby

public Class RubyMath

extends Object
Class Inheritance
Annotations
@JRubyModule
name:Math
Imports
org.jruby.anno.JRubyMethod, .JRubyModule, org.jruby.runtime.ThreadContext, .Visibility, org.jruby.runtime.builtin.IRubyObject

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static class
RubyMath.NemesLogGamma

Inner class to help with Γ functions

Field Summary

Modifier and TypeField and Description
public static final double[]
public static final double[]
private static int
private static int
public static final double[]
public static final double[]
public static final double[]
private static final double[]
private static double
private static double
private static final double[]

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static double
chebylevSerie(double x, double[] coef)

public static RubyFloat
public static RubyFloat
public static RubyModule
createMathModule(ThreadContext context)

Create the Math module and add it to the Ruby runtime.

private static void
domainCheck(ThreadContext context, double value, String msg)

public static RubyFloat
public static RubyFloat
public static RubyFloat
exp(ThreadContext context, IRubyObject recv, IRubyObject exponent)

public static RubyFloat
exp(ThreadContext context, IRubyObject exponent)

public static RubyArray<T extends IRubyObject>
public static RubyFloat

Returns:

Γ(x) for real number x
gamma
(ThreadContext context, IRubyObject
Math module
recv
,
IRubyObject
a real number
x
)

Based on Gergő Nemes's Gamma Function approximation formula, we compute approximate value of Gamma function of x.

private static double[]
public static RubyFloat
public static RubyFloat
hypot19(ThreadContext context, IRubyObject recv, IRubyObject x, IRubyObject y)
Deprecated

public static RubyFloat
ldexp(ThreadContext context, IRubyObject recv, IRubyObject mantissa, IRubyObject exponent)

public static RubyArray<T extends IRubyObject>

Returns:

2-element array [ln(Γ(x)), sgn] for real number x, where sgn is the sign of Γ(x) when exponentiated
lgamma
(ThreadContext context, IRubyObject
Math module
recv
,
IRubyObject
a real number
x
)

Based on Gergő Nemes's Gamma Function approximation formula, we compute Log Gamma function for real number x.

public static RubyFloat
log(ThreadContext context, IRubyObject recv, IRubyObject val)

Returns the natural logarithm of x.

public static RubyFloat
public static RubyFloat
public static RubyFloat
log(ThreadContext context, IRubyObject recv, IRubyObject... args)

public static RubyFloat
log10(ThreadContext context, IRubyObject recv, IRubyObject x)

Returns the base 10 logarithm of x.

public static RubyFloat
log2(ThreadContext context, IRubyObject recv, IRubyObject x)

Returns the base 2 logarithm of x.

public static double
nemes_gamma(double x)

public static double
sign(double x, double y)

public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
public static RubyFloat
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ASINH_COEFback to summary
public static final double[] ASINH_COEF
ATANH_COEFback to summary
public static final double[] ATANH_COEF
DBL_MANT_DIGback to summary
private static int DBL_MANT_DIG
DBL_MAX_EXPback to summary
private static int DBL_MAX_EXP
ERFC2_COEFback to summary
public static final double[] ERFC2_COEF
ERFC_COEFback to summary
public static final double[] ERFC_COEF
ERFCC_COEFback to summary
public static final double[] ERFCC_COEF
FACTORIALback to summary
private static final double[] FACTORIAL
LOG_10_2back to summary
private static double LOG_10_2
LOG_E_2back to summary
private static double LOG_E_2
NEMES_GAMMA_COEFFback to summary
private static final double[] NEMES_GAMMA_COEFF

Constructor Detail

RubyMathback to summary
public RubyMath()

Method Detail

acosback to summary
public static RubyFloat acos(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:acos
module:true
visibility:PRIVATE
acoshback to summary
public static RubyFloat acosh(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:acosh
module:true
visibility:PRIVATE
asinback to summary
public static RubyFloat asin(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:asin
module:true
visibility:PRIVATE
asinhback to summary
public static RubyFloat asinh(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:asinh
module:true
visibility:PRIVATE
atanback to summary
public static RubyFloat atan(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:atan
module:true
visibility:PRIVATE
atan2back to summary
public static RubyFloat atan2(ThreadContext context, IRubyObject recv, IRubyObject x, IRubyObject y)
Annotations
@JRubyMethod
name:atan2
module:true
visibility:PRIVATE
atanhback to summary
public static RubyFloat atanh(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:atanh
module:true
visibility:PRIVATE
cbrtback to summary
public static RubyFloat cbrt(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:cbrt
module:true
visibility:PRIVATE
chebylevSerieback to summary
public static double chebylevSerie(double x, double[] coef)
cosback to summary
public static RubyFloat cos(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:cos
module:true
visibility:PRIVATE
coshback to summary
public static RubyFloat cosh(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:cosh
module:true
visibility:PRIVATE
createMathModuleback to summary
public static RubyModule createMathModule(ThreadContext context)

Create the Math module and add it to the Ruby runtime.

domainCheckback to summary
private static void domainCheck(ThreadContext context, double value, String msg)
erfback to summary
public static RubyFloat erf(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:erf
module:true
visibility:PRIVATE
erfcback to summary
public static RubyFloat erfc(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:erfc
module:true
visibility:PRIVATE
expback to summary
public static RubyFloat exp(ThreadContext context, IRubyObject recv, IRubyObject exponent)
Annotations
@JRubyMethod
name:exp
module:true
visibility:PRIVATE
expback to summary
public static RubyFloat exp(ThreadContext context, IRubyObject exponent)
frexpback to summary
public static RubyArray<T extends IRubyObject> frexp(ThreadContext context, IRubyObject recv, IRubyObject other)
Annotations
@JRubyMethod
name:frexp
module:true
visibility:PRIVATE
gammaback to summary
public static RubyFloat gamma(ThreadContext context, IRubyObject recv, IRubyObject x)

Based on Gergő Nemes's Gamma Function approximation formula, we compute approximate value of Gamma function of x.

Parameters
recv:IRubyObject

Math module

x:IRubyObject

a real number

Returns:RubyFloat

Γ(x) for real number x

Annotations
@JRubyMethod
name:gamma
module:true
visibility:PRIVATE
See Also
New asymptotic expansion for the Γ(x) function
get_double_rshiftback to summary
private static double[] get_double_rshift(ThreadContext context, IRubyObject x)
hypotback to summary
public static RubyFloat hypot(ThreadContext context, IRubyObject recv, IRubyObject x, IRubyObject y)
Annotations
@JRubyMethod
name:hypot
module:true
visibility:PRIVATE
hypot19back to summary
public static RubyFloat hypot19(ThreadContext context, IRubyObject recv, IRubyObject x, IRubyObject y)

Deprecated

Annotations
@Deprecated
ldexpback to summary
public static RubyFloat ldexp(ThreadContext context, IRubyObject recv, IRubyObject mantissa, IRubyObject exponent)
Annotations
@JRubyMethod
name:ldexp
module:true
visibility:PRIVATE
lgammaback to summary
public static RubyArray<T extends IRubyObject> lgamma(ThreadContext context, IRubyObject recv, IRubyObject x)

Based on Gergő Nemes's Gamma Function approximation formula, we compute Log Gamma function for real number x.

Parameters
recv:IRubyObject

Math module

x:IRubyObject

a real number

Returns:RubyArray<T extends IRubyObject>

2-element array [ln(Γ(x)), sgn] for real number x, where sgn is the sign of Γ(x) when exponentiated

Annotations
@JRubyMethod
name:lgamma
module:true
visibility:PRIVATE
See Also
gamma(ThreadContext, org.jruby.runtime.builtin.IRubyObject, org.jruby.runtime.builtin.IRubyObject)
logback to summary
public static RubyFloat log(ThreadContext context, IRubyObject recv, IRubyObject val)

Returns the natural logarithm of x.

Annotations
@JRubyMethod
name:log
module:true
visibility:PRIVATE
logback to summary
public static RubyFloat log(ThreadContext context, IRubyObject val)
logback to summary
public static RubyFloat log(ThreadContext context, IRubyObject recv, IRubyObject val, IRubyObject base)
Annotations
@JRubyMethod
name:log
module:true
visibility:PRIVATE
logback to summary
public static RubyFloat log(ThreadContext context, IRubyObject recv, IRubyObject... args)
log10back to summary
public static RubyFloat log10(ThreadContext context, IRubyObject recv, IRubyObject x)

Returns the base 10 logarithm of x.

Annotations
@JRubyMethod
name:log10
module:true
visibility:PRIVATE
log2back to summary
public static RubyFloat log2(ThreadContext context, IRubyObject recv, IRubyObject x)

Returns the base 2 logarithm of x.

Annotations
@JRubyMethod
name:log2
module:true
visibility:PRIVATE
nemes_gammaback to summary
public static double nemes_gamma(double x)
signback to summary
public static double sign(double x, double y)
sinback to summary
public static RubyFloat sin(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:sin
module:true
visibility:PRIVATE
sinhback to summary
public static RubyFloat sinh(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:sinh
module:true
visibility:PRIVATE
sqrtback to summary
public static RubyFloat sqrt(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:sqrt
module:true
visibility:PRIVATE
tanback to summary
public static RubyFloat tan(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:tan
module:true
visibility:PRIVATE
tanhback to summary
public static RubyFloat tanh(ThreadContext context, IRubyObject recv, IRubyObject x)
Annotations
@JRubyMethod
name:tanh
module:true
visibility:PRIVATE
org.jruby back to summary

public Class RubyMath.NemesLogGamma

extends Object
Class Inheritance

Inner class to help with Γ functions

Field Summary

Modifier and TypeField and Description
public final double
public final double

Constructor Summary

AccessConstructor and Description
public
NemesLogGamma(double x)

Method Summary

Modifier and TypeMethod and Description
private static boolean
negZero(final double x)

private static int
signum(final double x, final double int_part)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

signback to summary
public final double sign
valueback to summary
public final double value

Constructor Detail

NemesLogGammaback to summary
public NemesLogGamma(double x)

Method Detail

negZeroback to summary
private static boolean negZero(final double x)
signumback to summary
private static int signum(final double x, final double int_part)