(ExtendedStarknetPoint point1, ExtendedStarknetPoint point2)
| 3120 | } |
| 3121 | |
| 3122 | private static ExtendedStarknetPoint extendedEcAdd(ExtendedStarknetPoint point1, ExtendedStarknetPoint point2) |
| 3123 | { |
| 3124 | if (point1.x.subtract(point2.x).mod(EXTENDED_STARKNET_FIELD_PRIME).equals(BigInteger.ZERO)) { |
| 3125 | throw new RuntimeException("Points must have different x coordinates."); |
| 3126 | } |
| 3127 | BigInteger slope = extendedDivMod(point1.y.subtract(point2.y), point1.x.subtract(point2.x), EXTENDED_STARKNET_FIELD_PRIME); |
| 3128 | BigInteger x = extendedField(slope.multiply(slope).subtract(point1.x).subtract(point2.x)); |
| 3129 | BigInteger y = extendedField(slope.multiply(point1.x.subtract(x)).subtract(point1.y)); |
| 3130 | return new ExtendedStarknetPoint(x, y); |
| 3131 | } |
| 3132 | |
| 3133 | private static ExtendedStarknetPoint extendedEcDouble(ExtendedStarknetPoint point) |
| 3134 | { |
no test coverage detected