Class: BTC::BigNumber
- Inherits:
-
Object
- Object
- BTC::BigNumber
- Defined in:
- lib/btcruby/big_number.rb
Instance Attribute Summary collapse
-
#integer ⇒ Object
readonly
Ruby Integer representation (Fixnum or Bignum).
-
#signed_little_endian ⇒ Object
readonly
Raw little-endian signed integer data.
-
#unsigned_big_endian ⇒ Object
readonly
OpenSSL-compatible big-endian signed integer data.
Instance Method Summary collapse
-
#initialize(signed_little_endian: nil, unsigned_big_endian: nil, integer: nil) ⇒ BigNumber
constructor
Initializes with one of the formats: 1) Raw little-endian data extracted from MPI, 2) Native OpenSSL BIGNUM big-endian unsigned big integer, 3) Ruby Integer (Fixnum or Bignum).
Constructor Details
#initialize(signed_little_endian: nil, unsigned_big_endian: nil, integer: nil) ⇒ BigNumber
Initializes with one of the formats:
- Raw little-endian data extracted from MPI,
- Native OpenSSL BIGNUM big-endian unsigned big integer,
- Ruby Integer (Fixnum or Bignum)
18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/btcruby/big_number.rb', line 18 def initialize(signed_little_endian: nil, unsigned_big_endian: nil, integer: nil) if signed_little_endian raise "Not Implemented" elsif unsigned_big_endian raise "Not Implemented" elsif integer @integer = integer else raise ArgumentError, "One of the arguments must not be nil" end end |
Instance Attribute Details
#integer ⇒ Object (readonly)
Ruby Integer representation (Fixnum or Bignum)
6 7 8 |
# File 'lib/btcruby/big_number.rb', line 6 def integer @integer end |
#signed_little_endian ⇒ Object (readonly)
Raw little-endian signed integer data
9 10 11 |
# File 'lib/btcruby/big_number.rb', line 9 def signed_little_endian @signed_little_endian end |
#unsigned_big_endian ⇒ Object (readonly)
OpenSSL-compatible big-endian signed integer data
12 13 14 |
# File 'lib/btcruby/big_number.rb', line 12 def unsigned_big_endian @unsigned_big_endian end |