1#include <gtest/gtest.h>
13TEST(StandardAffinePointTest, InfinityPreservesRawCoordinates)
22 EXPECT_TRUE(point.is_infinity());
23 EXPECT_EQ(point.x(), raw_x);
24 EXPECT_EQ(point.y(), raw_y);
27TEST(StandardAffinePointTest, NormalPointCoordinates)
31 EXPECT_FALSE(one.is_infinity());
32 EXPECT_FALSE(one.x().is_zero());
33 EXPECT_FALSE(one.y().is_zero());
36TEST(StandardAffinePointTest, AdditionResultingInInfinityNormalized)
42 auto inf_result = p + neg_p;
44 EXPECT_TRUE(inf_result.is_infinity());
45 EXPECT_TRUE(inf_result.x().is_zero());
46 EXPECT_TRUE(inf_result.y().is_zero());
49TEST(StandardAffinePointTest, SubtractingInfinityNormalized)
55 auto result = p + (-inf);
60TEST(StandardAffinePointTest, ScalarMultiplicationResultingInInfinityNormalized)
66 auto inf_result = p * zero_scalar;
68 EXPECT_TRUE(inf_result.is_infinity());
69 EXPECT_TRUE(inf_result.x().is_zero());
70 EXPECT_TRUE(inf_result.y().is_zero());
73TEST(StandardAffinePointTest, StaticInfinityHasZeroCoordinates)
78 EXPECT_TRUE(inf.is_infinity());
79 EXPECT_TRUE(inf.x().is_zero());
80 EXPECT_TRUE(inf.y().is_zero());
83TEST(StandardAffinePointTest, NegatingInfinityPreservesRawCoordinates)
92 EXPECT_TRUE(neg_inf.is_infinity());
93 EXPECT_EQ(neg_inf.x(), raw_x);
94 EXPECT_EQ(neg_inf.y(), raw_y);
static const StandardAffinePoint & infinity()
static const StandardAffinePoint & one()
avm2::StandardAffinePoint< AffinePoint > StandardAffinePoint
StandardAffinePoint< AvmFlavorSettings::EmbeddedCurve::AffineElement > EmbeddedCurvePoint
TEST(BoomerangMegaCircuitBuilder, BasicCircuit)
static constexpr field zero()