Class: Rb25519::FField::FFieldValue

Inherits:
Object
  • Object
show all
Defined in:
lib/rb-pure25519.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

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

#valObject

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

#fObject



95
96
97
# File 'lib/rb-pure25519.rb', line 95

def f
  @field
end

#inspectObject



148
149
150
# File 'lib/rb-pure25519.rb', line 148

def inspect
  "#<FFieldValue_#{@field.p}: #{@val} >"
end

#invObject



128
129
130
# File 'lib/rb-pure25519.rb', line 128

def inv
  FFieldValue.new(@field, @field.inv(self))
end

#sqrtObject



140
141
142
# File 'lib/rb-pure25519.rb', line 140

def sqrt
  @field.sqrt(self).map{|e| FFieldValue.new(@field, e) }
end

#to_fObject



103
104
105
# File 'lib/rb-pure25519.rb', line 103

def to_f
  @val.to_f
end

#to_iObject



99
100
101
# File 'lib/rb-pure25519.rb', line 99

def to_i
  @val
end

#to_sObject



152
153
154
# File 'lib/rb-pure25519.rb', line 152

def to_s
  inspect
end