• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/ap/gpl/amule/libcryptoxx-5.6.0/

Lines Matching refs:Element

10 // "const Element&" returned by member functions are references
22 typedef T Element;
26 virtual bool Equal(const Element &a, const Element &b) const =0;
27 virtual const Element& Identity() const =0;
28 virtual const Element& Add(const Element &a, const Element &b) const =0;
29 virtual const Element& Inverse(const Element &a) const =0;
32 virtual const Element& Double(const Element &a) const;
33 virtual const Element& Subtract(const Element &a, const Element &b) const;
34 virtual Element& Accumulate(Element &a, const Element &b) const;
35 virtual Element& Reduce(Element &a, const Element &b) const;
37 virtual Element ScalarMultiply(const Element &a, const Integer &e) const;
38 virtual Element CascadeScalarMultiply(const Element &x, const Integer &e1, const Element &y, const Integer &e2) const;
40 virtual void SimultaneousMultiply(Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const;
47 typedef T Element;
53 virtual bool IsUnit(const Element &a) const =0;
54 virtual const Element& MultiplicativeIdentity() const =0;
55 virtual const Element& Multiply(const Element &a, const Element &b) const =0;
56 virtual const Element& MultiplicativeInverse(const Element &a) const =0;
58 virtual const Element& Square(const Element &a) const;
59 virtual const Element& Divide(const Element &a, const Element &b) const;
61 virtual Element Exponentiate(const Element &a, const Integer &e) const;
62 virtual Element CascadeExponentiate(const Element &x, const Integer &e1, const Element &y, const Integer &e2) const;
64 virtual void SimultaneousExponentiate(Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const;
76 bool Equal(const Element &a, const Element &b) const
79 const Element& Identity() const
82 const Element& Add(const Element &a, const Element &b) const
85 Element& Accumulate(Element &a, const Element &b) const
88 const Element& Inverse(const Element &a) const
91 const Element& Subtract(const Element &a, const Element &b) const
94 Element& Reduce(Element &a, const Element &b) const
97 const Element& Double(const Element &a) const
100 Element ScalarMultiply(const Element &a, const Integer &e) const
103 Element CascadeScalarMultiply(const Element &x, const Integer &e1, const Element &y, const Integer &e2) const
106 void SimultaneousMultiply(Element *results, const Element &base, const Integer *exponents, unsigned int exponentsCount) const
130 template <class Element, class Iterator>
131 Element GeneralCascadeMultiplication(const AbstractGroup<Element> &group, Iterator begin, Iterator end);
132 template <class Element, class Iterator>
133 Element GeneralCascadeExponentiation(const AbstractRing<Element> &ring, Iterator begin, Iterator end);
141 typedef T Element;
143 virtual void DivisionAlgorithm(Element &r, Element &q, const Element &a, const Element &d) const =0;
145 virtual const Element& Mod(const Element &a, const Element &b) const =0;
146 virtual const Element& Gcd(const Element &a, const Element &b) const;
149 mutable Element result;
158 typedef T Element;
162 bool Equal(const Element &a, const Element &b) const
165 const Element& Identity() const
166 {return Element::Zero();}
168 const Element& Add(const Element &a, const Element &b) const
171 Element& Accumulate(Element &a, const Element &b) const
174 const Element& Inverse(const Element &a) const
177 const Element& Subtract(const Element &a, const Element &b) const
180 Element& Reduce(Element &a, const Element &b) const
183 const Element& Double(const Element &a) const
186 const Element& MultiplicativeIdentity() const
187 {return Element::One();}
189 const Element& Multiply(const Element &a, const Element &b) const
192 const Element& Square(const Element &a) const
195 bool IsUnit(const Element &a) const
198 const Element& MultiplicativeInverse(const Element &a) const
201 const Element& Divide(const Element &a, const Element &b) const
204 const Element& Mod(const Element &a, const Element &b) const
207 void DivisionAlgorithm(Element &r, Element &q, const Element &a, const Element &d) const
208 {Element::Divide(r, q, a, d);}
214 mutable Element result;
218 template <class T> class QuotientRing : public AbstractRing<typename T::Element>
222 typedef typename T::Element Element;
224 QuotientRing(const EuclideanDomain &domain, const Element &modulus)
230 const Element& GetModulus() const
233 bool Equal(const Element &a, const Element &b) const
236 const Element& Identity() const
239 const Element& Add(const Element &a, const Element &b) const
242 Element& Accumulate(Element &a, const Element &b) const
245 const Element& Inverse(const Element &a) const
248 const Element& Subtract(const Element &a, const Element &b) const
251 Element& Reduce(Element &a, const Element &b) const
254 const Element& Double(const Element &a) const
257 bool IsUnit(const Element &a) const
260 const Element& MultiplicativeIdentity() const
263 const Element& Multiply(const Element &a, const Element &b) const
266 const Element& Square(const Element &a) const
269 const Element& MultiplicativeInverse(const Element &a) const;
276 Element m_modulus;