struct Float64
Defined in:
big/number.crfloat.cr
primitives.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
- .from_json_object_key?(key : String) : Float64?
- .new(value : String, whitespace : Bool = true, strict : Bool = true) : self
Returns a
Float64
by invokingString#to_f64
on value. - .new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)
- .new(pull : JSON::PullParser)
- .new(value)
- .new!(value) : Float64
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 : Int8) : 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 : 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 : Float64) : self
Returns the result of multiplying
self
and other. - #**(other : Int32)
- #**(other : Float64) : Float64
- #**(other) : Float64
- #+(other : Int8) : self
Returns the result of adding
self
and 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 : UInt16) : 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 : Int8) : 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 : Float32) : self
Returns the result of subtracting
self
and other. - #-(other : Float64) : self
Returns the result of subtracting
self
and other. - #/(other : Int8) : Float64
- #/(other : UInt8) : Float64
- #/(other : Int16) : Float64
- #/(other : UInt16) : Float64
- #/(other : Int32) : Float64
- #/(other : UInt32) : Float64
- #/(other : Int64) : Float64
- #/(other : UInt64) : Float64
- #/(other : Int128) : Float64
- #/(other : UInt128) : Float64
- #/(other : Float32) : Float64
- #/(other : Float64) : Float64
Returns the result of division
self
and other. - #/(other : BigInt) : BigFloat
- #/(other : BigFloat) : BigFloat
- #/(other : BigDecimal) : BigDecimal
- #/(other : BigRational) : BigRational
- #<(other : Int8) : 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 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 : Int8) : 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 : Int32) : 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 : Int128) : 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 : UInt16) : 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 : UInt64) : 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 : Float32) : 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 : Int8) : Bool
Returns
true
ifself
is equal to other. - #==(other : Int16) : Bool
Returns
true
ifself
is equal to other. - #==(other : Int32) : Bool
Returns
true
ifself
is equal to other. - #==(other : Int64) : Bool
Returns
true
ifself
is equal to other. - #==(other : Int128) : Bool
Returns
true
ifself
is equal to other. - #==(other : UInt8) : Bool
Returns
true
ifself
is equal to other. - #==(other : UInt16) : Bool
Returns
true
ifself
is equal to other. - #==(other : UInt32) : Bool
Returns
true
ifself
is equal to other. - #==(other : UInt64) : Bool
Returns
true
ifself
is equal to other. - #==(other : UInt128) : Bool
Returns
true
ifself
is equal to other. - #==(other : Float32) : Bool
Returns
true
ifself
is equal to other. - #==(other : Float64) : Bool
Returns
true
ifself
is equal to other. - #>(other : Int8) : Bool
Returns
true
ifself
is greater than other. - #>(other : Int16) : Bool
Returns
true
ifself
is greater than other. - #>(other : Int32) : Bool
Returns
true
ifself
is greater than other. - #>(other : Int64) : Bool
Returns
true
ifself
is greater than other. - #>(other : Int128) : Bool
Returns
true
ifself
is greater than other. - #>(other : UInt8) : Bool
Returns
true
ifself
is greater than other. - #>(other : UInt16) : Bool
Returns
true
ifself
is greater than other. - #>(other : UInt32) : Bool
Returns
true
ifself
is greater than other. - #>(other : UInt64) : Bool
Returns
true
ifself
is greater than other. - #>(other : UInt128) : Bool
Returns
true
ifself
is greater than other. - #>(other : Float32) : Bool
Returns
true
ifself
is greater than other. - #>(other : Float64) : Bool
Returns
true
ifself
is greater than other. - #>=(other : Int8) : 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 : Int32) : 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 : Int128) : 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 : UInt16) : 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 : UInt64) : 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 : Float32) : Bool
Returns
true
ifself
is greater than or equal to other. - #>=(other : Float64) : Bool
Returns
true
ifself
is greater than or equal to other. - #ceil : Float64
- #clone
- #fdiv(other : Int8) : self
Returns the float division of
self
and other. - #fdiv(other : Int16) : self
Returns the float division of
self
and other. - #fdiv(other : Int32) : self
Returns the float division of
self
and other. - #fdiv(other : Int64) : self
Returns the float division of
self
and other. - #fdiv(other : Int128) : self
Returns the float division of
self
and other. - #fdiv(other : UInt8) : self
Returns the float division of
self
and other. - #fdiv(other : UInt16) : self
Returns the float division of
self
and other. - #fdiv(other : UInt32) : self
Returns the float division of
self
and other. - #fdiv(other : UInt64) : self
Returns the float division of
self
and other. - #fdiv(other : UInt128) : self
Returns the float division of
self
and other. - #fdiv(other : Float32) : self
Returns the float division of
self
and other. - #fdiv(other : Float64) : self
Returns the float division of
self
and other. - #floor : Float64
- #next_float : Float64
Returns the least
Float64
that is greater thanself
. - #prev_float : Float64
Returns the greatest
Float64
that is less thanself
. - #round_away : Float64
Rounds towards the nearest integer.
- #round_even : Float64
Rounds towards the nearest integer.
- #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(io : IO) : Nil
- #to_s : String
Returns a string representation of this object.
- #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 : Float64
Instance methods inherited from struct Float
%(other) %, - -, //(other) //, <=>(other : BigInt)<=>(other : BigRational)
<=>(other : BigDecimal) <=>, days : Time::Span days, fdiv(other : BigInt | BigFloat | BigDecimal | BigRational) : self fdiv, finite? : Bool finite?, hash(hasher) hash, hours : Time::Span hours, infinite? : Int32? infinite?, microseconds : Time::Span microseconds, milliseconds : Time::Span milliseconds, minutes : Time::Span minutes, modulo(other) modulo, nan? : Bool nan?, nanoseconds : Time::Span nanoseconds, remainder(other) remainder, seconds : Time::Span seconds, to_big_d : BigDecimal to_big_d, to_big_i : BigInt to_big_i, to_big_r : BigRational to_big_r, to_io(io : IO, format : IO::ByteFormat) : Nil to_io, to_json(json : JSON::Builder) : Nil to_json, to_json_object_key : String to_json_object_key, to_yaml(yaml : YAML::Nodes::Builder) : Nil to_yaml, 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) : Bool >, >=(other : T) >=, clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(BigRational)
<, <=(other : T) <=, <=>(other : T) <=>, ==(other : T) ==, >(other : T) : Bool >, >=(other : T) >=, clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Comparable(BigInt)
<, <=(other : T) <=, <=>(other : T) <=>, ==(other : T) ==, >(other : T) : Bool >, >=(other : T) >=, clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from struct Number
*(other : BigFloat) : BigFloat*(other : Complex) : Complex *, +(other : BigFloat)
+(other : Complex) : Complex
+ +, -(other : BigFloat)
-(other : Complex) : Complex -, /(other : BigFloat) : BigFloat
/(other : Complex) : Complex /, //(other) //, <=>(other : BigFloat)
<=>(other) : Int32? <=>, ==(other : Complex) ==, abs : self abs, abs2 abs2, cis : Complex cis, divmod(number) divmod, format(io : IO, separator = '.', delimiter = ',', decimal_places : Int? = nil, *, group : Int = 3, only_significant : Bool = false) : Nil
format(separator = '.', delimiter = ',', decimal_places : Int? = nil, *, group : Int = 3, only_significant : Bool = false) : String format, humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes : Indexable = SI_PREFIXES) : Nil
humanize(io : IO, precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes : Proc) : 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 : Int32, Float64 -> Tuple(Int32, _) | Tuple(Int32, _, Bool)) : Nil
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, &) : String
humanize(precision = 3, separator = '.', delimiter = ',', *, base = 10 ** 3, significant = true, prefixes : Proc) : String humanize, i : Complex i, negative? : Bool negative?, positive? : Bool positive?, round(mode : RoundingMode = :ties_even) : self
round(digits : Number, base = 10, *, mode : RoundingMode = :ties_even) round, sign : Int32 sign, significant(digits, base = 10) significant, step(*, to limit = nil, exclusive : Bool = false, &) : Nil
step(*, to limit = nil, exclusive : Bool = false) step, to_big_f : BigFloat to_big_f, to_c : Complex to_c, to_yaml(yaml : YAML::Nodes::Builder) : Nil to_yaml, zero? : Bool zero?
Constructor methods inherited from struct Number
additive_identity : self additive_identity, multiplicative_identity : self multiplicative_identity, 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) : Bool >, >=(other : T) >=, clamp(min, max)clamp(range : Range) clamp
Instance methods inherited from module Steppable
step(*, to limit = nil, by step, exclusive : Bool = false, &) : Nilstep(*, to limit = nil, by step, exclusive : Bool = false) step
Instance methods inherited from module Comparable(Number)
<, <=(other : T) <=, <=>(other : T) <=>, ==(other : T) ==, >(other : T) : Bool >, >=(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(hasher)
hash hash, in?(collection : Object) : Bool
in?(*values : Object) : Bool in?, 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) : Nil
to_json : String to_json, to_pretty_json(indent : String = " ") : String
to_pretty_json(io : IO, indent : String = " ") : Nil to_pretty_json, to_s(io : IO) : Nil
to_s : String to_s, to_yaml(io : IO) : Nil
to_yaml : String 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
def self.new(value : String, whitespace : Bool = true, strict : Bool = true) : selfSource
Returns a Float64
by invoking String#to_f64
on value.
Float64.new "20" # => 20.0 Float64.new " 20 ", whitespace: false # => Unhandled exception: Invalid Float64: 20 (ArgumentError)
def self.new(ctx : YAML::ParseContext, node : YAML::Nodes::Node)Source
def self.new(pull : JSON::PullParser)Source
Instance Method Detail
def /(other : BigDecimal) : BigDecimalSource
def /(other : BigRational) : BigRationalSource
def cloneSource
def round_away : Float64Source
Rounds towards the nearest integer. If both neighboring integers are equidistant, rounds away from zero.
def round_even : Float64Source
Rounds towards the nearest integer. If both neighboring integers are equidistant, rounds towards the even neighbor (Banker's rounding).
def to_f : Float64Source
Returns self
converted to Float64
. Raises OverflowError
in case of overflow.
def to_f! : Float64Source
Returns self
converted to Float64
. In case of overflow infinity is returned.
def to_f32 : Float32Source
Returns self
converted to Float32
. Raises OverflowError
in case of overflow.
def to_f32! : Float32Source
Returns self
converted to Float32
. In case of overflow infinity is returned.
def to_f64 : Float64Source
Returns self
converted to Float64
. Raises OverflowError
in case of overflow.
def to_f64! : Float64Source
Returns self
converted to Float64
. In case of overflow infinity is returned.
def to_i : Int32Source
Returns self
converted to Int32
. Raises OverflowError
in case of overflow.
def to_i! : Int32Source
Returns self
converted to Int32
. In case of overflow the result is undefined.
def to_i128 : Int128Source
Returns self
converted to Int128
. Raises OverflowError
in case of overflow.
def to_i128! : Int128Source
Returns self
converted to Int128
. In case of overflow the result is undefined.
def to_i16 : Int16Source
Returns self
converted to Int16
. Raises OverflowError
in case of overflow.
def to_i16! : Int16Source
Returns self
converted to Int16
. In case of overflow the result is undefined.
def to_i32 : Int32Source
Returns self
converted to Int32
. Raises OverflowError
in case of overflow.
def to_i32! : Int32Source
Returns self
converted to Int32
. In case of overflow the result is undefined.
def to_i64 : Int64Source
Returns self
converted to Int64
. Raises OverflowError
in case of overflow.
def to_i64! : Int64Source
Returns self
converted to Int64
. In case of overflow the result is undefined.
def to_i8 : Int8Source
Returns self
converted to Int8
. Raises OverflowError
in case of overflow.
def to_i8! : Int8Source
Returns self
converted to Int8
. In case of overflow the result is undefined.
def to_u : UInt32Source
Returns self
converted to UInt32
. Raises OverflowError
in case of overflow.
def to_u! : UInt32Source
Returns self
converted to UInt32
. In case of overflow the result is undefined.
def to_u128 : UInt128Source
Returns self
converted to UInt128
. Raises OverflowError
in case of overflow.
def to_u128! : UInt128Source
Returns self
converted to UInt128
. In case of overflow the result is undefined.
def to_u16 : UInt16Source
Returns self
converted to UInt16
. Raises OverflowError
in case of overflow.
def to_u16! : UInt16Source
Returns self
converted to UInt16
. In case of overflow the result is undefined.
def to_u32 : UInt32Source
Returns self
converted to UInt32
. Raises OverflowError
in case of overflow.
def to_u32! : UInt32Source
Returns self
converted to UInt32
. In case of overflow the result is undefined.
def to_u64 : UInt64Source
Returns self
converted to UInt64
. Raises OverflowError
in case of overflow.
def to_u64! : UInt64Source
Returns self
converted to UInt64
. In case of overflow the result is undefined.
def to_u8 : UInt8Source
Returns self
converted to UInt8
. Raises OverflowError
in case of overflow.
def to_u8! : UInt8Source
Returns self
converted to UInt8
. In case of overflow the result is undefined.
© 2012–2021 Manas Technology Solutions.
Licensed under the Apache License, Version 2.0.
https://crystal-lang.org/api/1.2.1/Float64.html