12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #include "Quadripoint.hpp"
- Quadripoint::Quadripoint()
- {
- fp12e_setone(point[0]);
- fp12e_setone(point[1]);
- fp12e_setone(point[2]);
- fp12e_setone(point[3]);
- }
- Quadripoint::Quadripoint(const fp12e_t& p1, const fp12e_t& p2, const fp12e_t& p3, const fp12e_t& p4)
- {
- fp12e_set(point[0], p1);
- fp12e_set(point[1], p2);
- fp12e_set(point[2], p3);
- fp12e_set(point[3], p4);
- }
- fp12e_t& Quadripoint::operator[](int n)
- {
- return point[n];
- }
- const fp12e_t& Quadripoint::operator[](int n) const
- {
- return point[n];
- }
- Quadripoint Quadripoint::operator*(const Quadripoint& b) const
- {
- Quadripoint retval;
- fp12e_mul(retval[0], point[0], b.point[0]);
- fp12e_mul(retval[1], point[1], b.point[1]);
- fp12e_mul(retval[2], point[2], b.point[2]);
- fp12e_mul(retval[3], point[3], b.point[3]);
- return retval;
- }
- Quadripoint Quadripoint::operator^(const scalar_t& exp) const
- {
- Quadripoint retval;
-
- fp12e_pow_vartime(retval[0], point[0], exp);
- fp12e_pow_vartime(retval[1], point[1], exp);
- fp12e_pow_vartime(retval[2], point[2], exp);
- fp12e_pow_vartime(retval[3], point[3], exp);
- return retval;
- }
- bool Quadripoint::operator==(const Quadripoint& b) const
- {
- bool retval = fp12e_iseq(point[0], b[0]);
- retval &&= fp12e_iseq(point[1], b[1]);
- retval &&= fp12e_iseq(point[2], b[2]);
- retval &&= fp12e_iseq(point[3], b[3]);
-
- return retval;
- }
- Quadripoint Quadripoint::square() const
- {
- Quadripoint retval;
-
- fp12e_square(retval[0], point[0]);
- fp12e_square(retval[1], point[1]);
- fp12e_square(retval[2], point[2]);
- fp12e_square(retval[3], point[3]);
- return retval;
- }
|