Module : lang.float

Module Overview

This module provides lang library operations on float values defined by the language specification 2019R3.

Functions

abs

IEEE abs operation.

acos

Returns the arccosine of a float value. Corresponds to IEEE acos operation

asin

Returns the arcsine of a float value. Corresponds to IEEE asin operation.

atan

Returns the arctangent of a float value. Corresponds to IEEE atan operation.

atan2

Performs the 2-argument arctangent operation. Corresponds IEEE atan2(y, x) operation.

cbrt

Returns the cube root of a float value. Corresponds to IEEE rootn(x, 3) operation.

ceiling

Rounds a float up to the closest integral value.

cos

Returns the cosine of a float value. Corresponds to IEEE cos operation.

cosh

Returns the hyperbolic cosine of a float value. Corresponds to IEEE cosh operation.

exp

Raises Euler's number to a power. Corresponds to IEEE exp operation.

floor

Rounds a float down to the closest integral value.

fromBitsInt

Returns the float that is represented in IEEE 64-bit floating point by x. All bit patterns that IEEE defines to be NaNs will all be mapped to the single float NaN value.

fromHexString

Return the float value represented by s. s must follow the syntax of HexFloatingPointLiteral as defined by the Ballerina specification with the following modifications

  • the HexFloatingPointLiteral may have a leading + or - sign
  • NaN is allowed
  • Infinity is allowed with an optional leading + or - sign
fromString

Return the float value represented by s. s must follow the syntax of DecimalFloatingPointNumber as defined by the Ballerina specification with the following modifications

  • the DecimalFloatingPointNumber may have a leading + or - sign
  • NaN is allowed
  • Infinity is allowed with an optional leading + or - sign
  • a FloatingPointTypeSuffix is not allowed This is the inverse of value:toString applied to an float.
isFinite

Tests whether a float is finite. Exactly one of isFinite, isInfinite and IsNaN will be true for any float value

isInfinite

Tests whether a float is infinite. Exactly one of isFinite, isInfinite and IsNaN will be true for any float value

isNaN

Tests whether a float is NaN. Exactly one of isFinite, isInfinite and IsNaN will be true for any float value.

log

Returns the natural logarithm of a float value Corresponds to IEEE log operation.

log10

Returns the base 10 logarithm of a float value. Corresponds to IEEE log10 operation.

max

Maximum of zero or more float values. Result is -∞ if no args NaN if any arg is NaN

min

Minimum of zero or more float values. Result is +∞ if no args Result is NaN if any arg is NaN

pow

Raises one float value to the power of another float values. Corresponds to IEEE pow(x, y) operation.

round

Round a float value to the closest integral value. Returns the float value that is a mathematical integer and closest to x. If there are two such values, choose the one that is even (this is the round-to-nearest rounding mode, which is the default for IEEE and for Ballerina). Same as Java Math.rint method Same as .NET Math.Round method IEEE roundToIntegralTiesToEven operation Note that <int>x is the same as <int>x.round()

sin

Returns the sine of a float value. Corresponds to IEEE sin operation.

sinh

Returns the hyperbolic sine of a float value. Corresponds to IEEE sinh operation.

sqrt

Returns the square root of a float value. Corresponds to IEEE squareRoot operation.

sum

Sum of zero or more float values. Result is NaN if any arg is NaN

tan

Returns the tangent of a float value. Corresponds to IEEE tan operation

tanh

Returns the hyperbolic tangent of a float value. Corresponds to IEEE tanh operation.

toBitsInt

Returns IEEE 64-bit binary floating point format representation of x as an int.

toHexString

Returns a string that represents x as a hexadecimal floating point number. The returned string will comply to the grammar of HexFloatingPointLiteral in the Ballerina spec with the following modifications:

  • it will have a leading - sign if negative
  • positive infinity will be represented by Infinity
  • negative infinity will be represented by -Infinity
  • NaN will be represented by NaN The representation includes 0x for finite numbers.

Constants

PI

The number π

E

Euler's number

NaN

IEEE not-a-number value

Infinity

IEEE positive infinity