logo

const class

sys::Float

sys::Obj
  sys::Num
    sys::Float

Float is used to represent a 64-bit floating point number.

Slots

abs

Float abs()

Return the absolute value of this float. If this value is positive then return this, otherwise return the negation.

acos

Float acos()

Return the arc cosine.

approx

Bool approx(Float r, Float tolerance := def)

Return if this Float is approximately equal to the given Float by the specified tolerance. If tolerance is null, then it is computed using the magnitude of the two Floats. It is useful for comparing Floats since often they loose a bit of precision during manipulation. This method is equivalent to:

if (tolerance == null) tolerance = min(abs(this/1e6), abs(r/1e6))
(this - r).abs < tolerance
asin

Float asin()

Return the arc sine.

atan

Float atan()

Return the arc tangent.

atan2

static Float atan2(Float y, Float x)

Converts rectangular coordinates (x, y) to polar (r, theta).

bits

Int bits()

Return 64-bit representation according IEEE 754 floating-point double format bit layout. This method is paired with Float.makeBits.

bits32

Int bits32()

Return 32-bit representation according IEEE 754 floating-point single format bit layout. This method is paired with Float.makeBits32.

ceil

Float ceil()

Returns the smallest whole number greater than or equal to this number.

compare

override Int compare(Obj obj)

Compare based on floating point value.

cos

Float cos()

Return the cosine of this angle in radians.

cosh

Float cosh()

Return the hyperbolic cosine.

decrement

Float decrement()

Decrement by one. Shortcut is --a or a--.

e

static Float e

Float value for e which is the base of natural logarithms.

equals

override Bool equals(Obj obj)

Return true if same float value. Unlike Java, NaN equals NaN.

exp

Float exp()

Return e raised to this power.

floor

Float floor()

Returns the largest whole number less than or equal to this number.

fromStr

static Float fromStr(Str s, Bool checked := def)

Parse a Str into a Float. Representations for infinity and not-a-number are "-INF", "INF", "NaN". This string format matches the lexical representation of Section 3.2.5 of XML Schema Part 2. If invalid format and checked is false return null, otherwise throw ParseErr.

TODO: need spec - follow XML Schema literal definition

hash

override Int hash()

Return bits().

increment

Float increment()

Increment by one. Shortcut is ++a or a++.

log

Float log()

Return natural logarithm of this number.

log10

Float log10()

Return base 10 logarithm of this number.

makeBits

static Float makeBits(Int bits)

Make a Float for the specified 64-bit representation according IEEE 754 floating-point double format bit layout. This method is paired with Float.bits.

makeBits32

static Float makeBits32(Int bits)

Make a Float for the specified 32-bit representation according IEEE 754 floating-point single format bit layout. This method is paired with Float.bits32.

max

Float max(Float that)

Return the larger of this and the specified Float values.

min

Float min(Float that)

Return the smaller of this and the specified Float values.

minus

Float minus(Float b)

Subtract b from this. Shortcut is a-b.

nan

static Float nan

Float value for Not-A-Number.

negInf

static Float negInf

Float value for negative infinity.

negate

Float negate()

Negative of this. Shortcut is -a.

percent

Float percent(Float b)

Return remainder of this divided by b. Shortcut is a%b.

pi

static Float pi

Float value for pi which is the ratio of the circumference of a circle to its diameter.

plus

Float plus(Float b)

Add this with b. Shortcut is a+b.

posInf

static Float posInf

Float value for positive infinity.

pow

Float pow(Float pow)

Return this value raised to the specified power.

round

Float round()

Returns the nearest whole number to this number.

sin

Float sin()

Return sine of this angle in radians.

sinh

Float sinh()

Return hyperbolic sine.

slash

Float slash(Float b)

Divide this by b. Shortcut is a/b.

sqrt

Float sqrt()

Return square root of this value.

star

Float star(Float b)

Multiply this with b. Shortcut is a*b.

tan

Float tan()

Return tangent of this angle in radians.

tanh

Float tanh()

Return hyperbolic tangent.

toDegrees

Float toDegrees()

Convert this angle in radians to an angle in degrees.

toFloat

override Float toFloat()

Return this.

toInt

override Int toInt()

Convert this Float to an Int.

toRadians

Float toRadians()

Convert this angle in degrees to an angle in radians.

toStr

override Str toStr()

Get string representation according to the lexical representation defined by Section 3.2.5 of XML Schema Part 2. Representations for infinity and not-a-number are "-INF", "INF", "NaN".