class Erlang::ETF::NewFloat
| 1 | 8 | | — | ———- | | 70 | IEEE Float
|
A float is stored as 8 bytes in big-endian IEEE format.
This term is used in minor version 1 of the external format.
(see [`NEW_FLOAT_EXT`])
[`NEW_FLOAT_EXT`]: erlang.org/doc/apps/erts/erl_ext_dist.html#NEW_FLOAT_EXT
Constants
- DOUBLEBE
Public Class Methods
[](term)
click to toggle source
# File lib/erlang/etf/new_float.rb, line 23 def [](term) return term if term.kind_of?(Erlang::ETF::Term) term = Erlang.from(term) return new(term) end
erlang_load(buffer)
click to toggle source
# File lib/erlang/etf/new_float.rb, line 29 def erlang_load(buffer) float, = buffer.read(8).unpack(DOUBLEBE) term = Erlang::Float[float] return new(term) end
new(term)
click to toggle source
# File lib/erlang/etf/new_float.rb, line 36 def initialize(term) raise ArgumentError, "term must be of type Erlang::Float" if not Erlang.is_float(term) or term.old @term = term end
Public Instance Methods
erlang_dump(buffer = ::String.new.force_encoding(BINARY_ENCODING))
click to toggle source
# File lib/erlang/etf/new_float.rb, line 41 def erlang_dump(buffer = ::String.new.force_encoding(BINARY_ENCODING)) buffer << NEW_FLOAT_EXT buffer << [@term.data].pack(DOUBLEBE) return buffer end