struct Float64
Defined in:
float.crprimitives.cr
big/number.cr
Constant Summary
-
DIGITS =
15
-
The number of decimal digits that can be represented without losing precision
-
EPSILON =
2.2204460492503131e-16
-
The machine epsilon (difference between 1.0 and the next representable value)
-
INFINITY =
(1_f64 / 0_f64).as(Float64)
-
MANT_DIGITS =
53
-
The number of digits that can be represented without losing precision (in base RADIX)
-
MAX =
1.7976931348623157e+308
-
Largest finite value
-
MAX_10_EXP =
308
-
The maximum possible power of 10 exponent (such that 10**MAX_10_EXP is representable)
-
MAX_EXP =
1024
-
The maximum possible normal power of 2 exponent
-
MIN =
-1.7976931348623157e+308
-
Smallest finite value
-
MIN_10_EXP =
-307
-
The minimum possible power of 10 exponent (such that 10**MIN_10_EXP is representable)
-
MIN_EXP =
-1021
-
The minimum possible normal power of 2 exponent
-
MIN_POSITIVE =
2.2250738585072014e-308
-
Smallest representable positive value
-
NAN =
(0_f64 / 0_f64).as(Float64)
-
RADIX =
2
-
The radix or integer base used by the internal representation
Constructors
Class Method Summary
Instance Method Summary
-
#!=(other : Int8) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int16) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int32) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int64) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Int128) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt8) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt16) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt32) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt64) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : UInt128) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Float32) : Bool
Returns
true
ifself
is not equal to other. -
#!=(other : Float64) : Bool
Returns
true
ifself
is not equal to other. -
#*(other : Float64) : self
Returns the result of multiplying
self
and other. -
#*(other : Int16) : self
Returns the result of multiplying
self
and other. -
#*(other : Int32) : self
Returns the result of multiplying
self
and other. -
#*(other : Int64) : self
Returns the result of multiplying
self
and other. -
#*(other : Int128) : self
Returns the result of multiplying
self
and other. -
#*(other : Int8) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt8) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt16) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt32) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt64) : self
Returns the result of multiplying
self
and other. -
#*(other : UInt128) : self
Returns the result of multiplying
self
and other. -
#*(other : Float32) : self
Returns the result of multiplying
self
and other. - #**(other : Int32)
- #**(other : Float64)
- #**(other)
-
#+(other : Int16) : self
Returns the result of adding
self
and other. -
#+(other : Int32) : self
Returns the result of adding
self
and other. -
#+(other : Int64) : self
Returns the result of adding
self
and other. -
#+(other : Int128) : self
Returns the result of adding
self
and other. -
#+(other : UInt8) : self
Returns the result of adding
self
and other. -
#+(other : UInt32) : self
Returns the result of adding
self
and other. -
#+(other : UInt64) : self
Returns the result of adding
self
and other. -
#+(other : UInt128) : self
Returns the result of adding
self
and other. -
#+(other : Float32) : self
Returns the result of adding
self
and other. -
#+(other : Float64) : self
Returns the result of adding
self
and other. -
#+(other : UInt16) : self
Returns the result of adding
self
and other. -
#+(other : Int8) : self
Returns the result of adding
self
and other. -
#-(other : Float32) : self
Returns the result of subtracting
self
and other. -
#-(other : Float64) : self
Returns the result of subtracting
self
and other. -
#-(other : Int16) : self
Returns the result of subtracting
self
and other. -
#-(other : Int32) : self
Returns the result of subtracting
self
and other. -
#-(other : Int64) : self
Returns the result of subtracting
self
and other. -
#-(other : Int128) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt8) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt16) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt32) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt64) : self
Returns the result of subtracting
self
and other. -
#-(other : UInt128) : self
Returns the result of subtracting
self
and other. -
#-(other : Int8) : self
Returns the result of subtracting
self
and other. - #/(other : Int8) : Float64
- #/(other : BigDecimal) : BigDecimal
- #/(other : UInt8) : Float64
- #/(other : Int16) : Float64
- #/(other : UInt16) : Float64
- #/(other : BigFloat) : BigFloat
- #/(other : BigInt) : BigFloat
-
#/(other : Float64) : Float64
Returns the result of division
self
and other. - #/(other : Float32) : Float64
- #/(other : UInt128) : Float64
- #/(other : Int128) : Float64
- #/(other : UInt64) : Float64
- #/(other : Int64) : Float64
- #/(other : UInt32) : Float64
- #/(other : Int32) : Float64
- #/(other : BigRational) : BigRational
-
#<(other : Int8) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int32) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int64) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int128) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt8) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt16) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt32) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt64) : Bool
Returns
true
ifself
is less than other. -
#<(other : UInt128) : Bool
Returns
true
ifself
is less than other. -
#<(other : Float32) : Bool
Returns
true
ifself
is less than other. -
#<(other : Float64) : Bool
Returns
true
ifself
is less than other. -
#<(other : Int16) : Bool
Returns
true
ifself
is less than other. -
#<=(other : Int32) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Float64) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Float32) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt128) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt64) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt32) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt16) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : UInt8) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int128) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int64) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int16) : Bool
Returns
true
ifself
is less than or equal to other. -
#<=(other : Int8) : Bool
Returns
true
ifself
is less than or equal to other. -
#==(other : Float64) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int8) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Float32) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt128) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt64) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt32) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt16) : Bool
Returns
true
ifself
is equal to other. -
#==(other : UInt8) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int128) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int64) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int32) : Bool
Returns
true
ifself
is equal to other. -
#==(other : Int16) : Bool
Returns
true
ifself
is equal to other. -
#>(other : Float64) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Float32) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt128) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt64) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt32) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt16) : Bool
Returns
true
ifself
is greater than other. -
#>(other : UInt8) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int128) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int64) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int32) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int16) : Bool
Returns
true
ifself
is greater than other. -
#>(other : Int8) : Bool
Returns
true
ifself
is greater than other. -
#>=(other : Float64) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Float32) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt128) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt64) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt32) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt16) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : UInt8) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int128) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int64) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int32) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int16) : Bool
Returns
true
ifself
is greater than or equal to other. -
#>=(other : Int8) : Bool
Returns
true
ifself
is greater than or equal to other. - #ceil
- #clone
- #floor
-
#round
Rounds this number to a given precision in decimal digits.
-
#to_f : Float64
Returns
self
converted toFloat64
. -
#to_f! : Float64
Returns
self
converted toFloat64
. -
#to_f32 : Float32
Returns
self
converted toFloat32
. -
#to_f32! : Float32
Returns
self
converted toFloat32
. -
#to_f64 : Float64
Returns
self
converted toFloat64
. -
#to_f64! : Float64
Returns
self
converted toFloat64
. -
#to_i : Int32
Returns
self
converted toInt32
. -
#to_i! : Int32
Returns
self
converted toInt32
. -
#to_i128 : Int128
Returns
self
converted toInt128
. -
#to_i128! : Int128
Returns
self
converted toInt128
. -
#to_i16 : Int16
Returns
self
converted toInt16
. -
#to_i16! : Int16
Returns
self
converted toInt16
. -
#to_i32 : Int32
Returns
self
converted toInt32
. -
#to_i32! : Int32
Returns
self
converted toInt32
. -
#to_i64 : Int64
Returns
self
converted toInt64
. -
#to_i64! : Int64
Returns
self
converted toInt64
. -
#to_i8 : Int8
Returns
self
converted toInt8
. -
#to_i8! : Int8
Returns
self
converted toInt8
. -
#to_s : String
Returns a string representation of this object.
- #to_s(io : IO) : Nil
-
#to_u : UInt32
Returns
self
converted toUInt32
. -
#to_u! : UInt32
Returns
self
converted toUInt32
. -
#to_u128 : UInt128
Returns
self
converted toUInt128
. -
#to_u128! : UInt128
Returns
self
converted toUInt128
. -
#to_u16 : UInt16
Returns
self
converted toUInt16
. -
#to_u16! : UInt16
Returns
self
converted toUInt16
. -
#to_u32 : UInt32
Returns
self
converted toUInt32
. -
#to_u32! : UInt32
Returns
self
converted toUInt32
. -
#to_u64 : UInt64
Returns
self
converted toUInt64
. -
#to_u64! : UInt64
Returns
self
converted toUInt64
. -
#to_u8 : UInt8
Returns
self
converted toUInt8
. -
#to_u8! : UInt8
Returns
self
converted toUInt8
. - #trunc
Instance methods inherited from struct Float
%(other)
%,
-
-,
//(other)
//,
<=>(other : BigDecimal)<=>(other : BigRational)
<=>(other : BigInt) <=>, days : Time::Span days, fdiv(other) : self fdiv, finite? finite?, hash(hasher) hash, hours : Time::Span hours, infinite? infinite?, microseconds : Time::Span microseconds, milliseconds : Time::Span milliseconds, minutes : Time::Span minutes, modulo(other) modulo, nan? nan?, nanoseconds : Time::Span nanoseconds, remainder(other) remainder, seconds : Time::Span seconds, to_big_d to_big_d, to_big_i : BigInt to_big_i, to_big_r to_big_r, to_io(io : IO, format : IO::ByteFormat) to_io, to_json(json : JSON::Builder) to_json, to_json_object_key to_json_object_key, weeks : Time::Span weeks
Constructor methods inherited from struct Float
from_io(io : IO, format : IO::ByteFormat) : self
from_io
Instance methods inherited from module Comparable(BigDecimal)
<(other : T)
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T)
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(BigRational)
<(other : T)
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T)
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(BigInt)
<(other : T)
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T)
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from struct Number
*(other : Complex)*(other : BigFloat) *, +(other : BigFloat)
+(other : Complex)
+ +, -(other : Complex)
-(other : BigFloat) -, /(other : Complex)
/(other : BigFloat) /, //(other) //, <=>(other : BigFloat)
<=>(other) : Int32? <=>, ==(other : Complex) ==, abs abs, abs2 abs2, cis cis, divmod(number) divmod, format(separator = '.', delimiter = ',', decimal_places : Int? = nil, *, group : Int = 3, only_significant : Bool = false) : String
format(io : IO, separator = '.', delimiter = ',', decimal_places : Int? = nil, *, group : Int = 3, only_significant : Bool = false) : Nil format, humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes : Indexable = SI_PREFIXES) : Nil
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes : Proc) : Nil
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, &) : String
humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, &prefixes : Int32, Float64 -> Tuple(Int32, _) | Tuple(Int32, _, Bool)) : Nil
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes = SI_PREFIXES) : String
humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes : Proc) : Nil humanize, i i, round(digits = 0, base = 10) round, sign sign, significant(digits, base = 10) significant, step(*, to = nil, by = 1)
step(*, to = nil, by = 1, &) step, to_big_f to_big_f, to_c to_c, to_yaml(yaml : YAML::Nodes::Builder) to_yaml, zero? : Bool zero?
Constructor methods inherited from struct Number
zero : self
zero
Class methods inherited from struct Number
si_prefix(magnitude : Int, prefixes = SI_PREFIXES) : Char?
si_prefix
Instance methods inherited from module Comparable(BigFloat)
<(other : T)
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T)
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(Number)
<(other : T)
<,
<=(other : T)
<=,
<=>(other : T)
<=>,
==(other : T)
==,
>(other : T)
>,
>=(other : T)
>=,
clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from struct Value
==(other : JSON::Any)==(other : YAML::Any)
==(other) ==, dup dup
Instance methods inherited from class Object
! : Bool
!,
!=(other)
!=,
!~(other)
!~,
==(other)
==,
===(other : JSON::Any)===(other : YAML::Any)
===(other) ===, =~(other) =~, as(type : Class) as, as?(type : Class) as?, class class, dup dup, hash
hash(hasher) hash, inspect(io : IO) : Nil
inspect : String inspect, is_a?(type : Class) : Bool is_a?, itself itself, nil? : Bool nil?, not_nil! not_nil!, pretty_inspect(width = 79, newline = "\n", indent = 0) : String pretty_inspect, pretty_print(pp : PrettyPrint) : Nil pretty_print, responds_to?(name : Symbol) : Bool responds_to?, tap(&) tap, to_json(io : IO)
to_json to_json, to_pretty_json(indent : String = " ")
to_pretty_json(io : IO, indent : String = " ") to_pretty_json, to_s : String
to_s(io : IO) : Nil to_s, to_yaml(io : IO)
to_yaml to_yaml, try(&) try, unsafe_as(type : T.class) forall T unsafe_as
Class methods inherited from class Object
from_json(string_or_io, root : String)from_json(string_or_io) from_json, from_yaml(string_or_io : String | IO) from_yaml
Constructor Detail
Class Method Detail
Instance Method Detail
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Returns true
if self
is greater than or equal to other.
Rounds this number to a given precision in decimal digits.
-1763.116.round(2) # => -1763.12
Returns self
converted to Float64
.
Raises OverflowError
in case of overflow.
Returns self
converted to Float64
.
In case of overflow a wrapping is performed.
Returns self
converted to Float32
.
Raises OverflowError
in case of overflow.
Returns self
converted to Float32
.
In case of overflow a wrapping is performed.
Returns self
converted to Float64
.
Raises OverflowError
in case of overflow.
Returns self
converted to Float64
.
In case of overflow a wrapping is performed.
Returns self
converted to Int32
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int32
.
In case of overflow a wrapping is performed.
Returns self
converted to Int128
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int128
.
In case of overflow a wrapping is performed.
Returns self
converted to Int16
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int16
.
In case of overflow a wrapping is performed.
Returns self
converted to Int32
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int32
.
In case of overflow a wrapping is performed.
Returns self
converted to Int64
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int64
.
In case of overflow a wrapping is performed.
Returns self
converted to Int8
.
Raises OverflowError
in case of overflow.
Returns self
converted to Int8
.
In case of overflow a wrapping is performed.
Returns a string representation of this object.
Descendants must usually not override this method. Instead,
they must override #to_s(io)
, which must append to the given
IO object.
Appends a String
representation of this object
to the given IO
object.
An object must never append itself to the io argument,
as this will in turn call #to_s(io)
on it.
Returns self
converted to UInt32
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt32
.
In case of overflow a wrapping is performed.
Returns self
converted to UInt128
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt128
.
In case of overflow a wrapping is performed.
Returns self
converted to UInt16
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt16
.
In case of overflow a wrapping is performed.
Returns self
converted to UInt32
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt32
.
In case of overflow a wrapping is performed.
Returns self
converted to UInt64
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt64
.
In case of overflow a wrapping is performed.
Returns self
converted to UInt8
.
Raises OverflowError
in case of overflow.
Returns self
converted to UInt8
.
In case of overflow a wrapping is performed.