Class: Rb25519::FField::FFieldValue
- Inherits:
-
Object
- Object
- Rb25519::FField::FFieldValue
- Defined in:
- lib/rb-pure25519.rb
Instance Attribute Summary collapse
-
#val ⇒ Object
Returns the value of attribute val.
Instance Method Summary collapse
- #*(v) ⇒ Object
- #**(v) ⇒ Object
- #+(v) ⇒ Object
- #-(v) ⇒ Object
- #-@ ⇒ Object
- #/(v) ⇒ Object
- #==(v) ⇒ Object
- #f ⇒ Object
-
#initialize(f, v) ⇒ FFieldValue
constructor
A new instance of FFieldValue.
- #inspect ⇒ Object
- #inv ⇒ Object
- #sqrt ⇒ Object
- #to_f ⇒ Object
- #to_i ⇒ Object
- #to_s ⇒ Object
Constructor Details
#initialize(f, v) ⇒ FFieldValue
Returns a new instance of FFieldValue.
107 108 109 110 111 112 113 114 |
# File 'lib/rb-pure25519.rb', line 107 def initialize(f, v) @field = f @val = v.to_i if @val >= @field.p || @val < 0 @val = @val % @field.p end end |
Instance Attribute Details
#val ⇒ Object
Returns the value of attribute val.
90 91 92 |
# File 'lib/rb-pure25519.rb', line 90 def val @val end |
Instance Method Details
#*(v) ⇒ Object
124 125 126 |
# File 'lib/rb-pure25519.rb', line 124 def *(v) FFieldValue.new(@field, @field.mul(self, v)) end |
#**(v) ⇒ Object
136 137 138 |
# File 'lib/rb-pure25519.rb', line 136 def **(v) FFieldValue.new(@field, @field.exp(self, v)) end |
#+(v) ⇒ Object
116 117 118 |
# File 'lib/rb-pure25519.rb', line 116 def +(v) FFieldValue.new(@field, @field.add(self, v)) end |
#-(v) ⇒ Object
120 121 122 |
# File 'lib/rb-pure25519.rb', line 120 def -(v) FFieldValue.new(@field, @field.sub(self, v)) end |
#-@ ⇒ Object
144 145 146 |
# File 'lib/rb-pure25519.rb', line 144 def -@() self * -1 end |
#/(v) ⇒ Object
132 133 134 |
# File 'lib/rb-pure25519.rb', line 132 def /(v) FFieldValue.new(@field, @field.div(self, v)) end |
#==(v) ⇒ Object
92 93 94 |
# File 'lib/rb-pure25519.rb', line 92 def ==(v) @val == v.to_i end |
#f ⇒ Object
95 96 97 |
# File 'lib/rb-pure25519.rb', line 95 def f @field end |
#inspect ⇒ Object
148 149 150 |
# File 'lib/rb-pure25519.rb', line 148 def inspect "#<FFieldValue_#{@field.p}: #{@val} >" end |
#inv ⇒ Object
128 129 130 |
# File 'lib/rb-pure25519.rb', line 128 def inv FFieldValue.new(@field, @field.inv(self)) end |
#sqrt ⇒ Object
140 141 142 |
# File 'lib/rb-pure25519.rb', line 140 def sqrt @field.sqrt(self).map{|e| FFieldValue.new(@field, e) } end |
#to_f ⇒ Object
103 104 105 |
# File 'lib/rb-pure25519.rb', line 103 def to_f @val.to_f end |
#to_i ⇒ Object
99 100 101 |
# File 'lib/rb-pure25519.rb', line 99 def to_i @val end |
#to_s ⇒ Object
152 153 154 |
# File 'lib/rb-pure25519.rb', line 152 def to_s inspect end |