14 RANDOM_FP2_ELEMENT(&
a);
27 for(
i = 0;
i < length;
i++) {
28 RANDOM_FP2_ELEMENT(&
a[
i]);
31 for(
i = 0;
i < length;
i++) {
44 fp2_t a[length], b, c[length];
47 for(
i = 0;
i < length;
i++) {
48 RANDOM_FP2_ELEMENT(&
a[
i]);
53 for(
i = 0;
i < length;
i++) {
55 assert_memory_equal(
sizeof(
fp2_t), &b, &
a[
i]);
59 for(
i = 0;
i < length;
i++) {
60 RANDOM_FP2_ELEMENT(&b);
62 assert_memory_equal(
sizeof(
fp2_t), &c[
i], &b);
63 for(
j = 0;
j < length;
j++) {
77 RANDOM_FP2_ELEMENT(&
a);
82 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &d);
85 assert_memory_equal(
sizeof(
fp2_t), &
a, &c);
88 assert_memory_equal(
sizeof(
fp2_t), &
a, &c);
91 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &b);
93 assert_memory_equal(
sizeof(
fp2_t), &c, &d);
95 assert_memory_equal(
sizeof(
fp2_t), &c, &d);
99 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
101 RANDOM_FP2_ELEMENT(&b);
102 assert_memory_not_equal(
sizeof(
fp2_t), &b, &d);
106 assert_memory_not_equal(
sizeof(
fp2_t), &b, &d);
109 assert_memory_equal(
sizeof(
fp2_t), &e, &
a);
112 assert_memory_equal(
sizeof(
fp2_t), &f, &
a);
116 assert_memory_equal(
sizeof(
fp2_t), &e, &
a);
120 assert_memory_equal(
sizeof(
fp2_t), &f, &b);
124 assert_memory_equal(
sizeof(
fp2_t), &c, &d);
144 assert_memory_equal(
sizeof(
fp2_t), &b, &e);
147 assert_memory_equal(
sizeof(
fp2_t), &b, &
a);
149 RANDOM_FP2_ELEMENT(&
a);
151 assert_memory_equal(
sizeof(
fp2_t), &b, &
a);
154 assert_memory_equal(
sizeof(
fp2_t), &b, &
a);
158 assert_memory_equal(
sizeof(
fp2_t), &b, &c);
161 assert_memory_equal(
sizeof(
fp2_t), &b, &c);
167 assert_memory_equal(
sizeof(
fp2_t), &b, &d);
172 assert_memory_equal(
sizeof(
fp2_t), &b, &c);
176 assert_memory_equal(
sizeof(
fp2_t), &b, &e);
180 assert_memory_equal(
sizeof(
fp2_t), &b, &c);
190 RANDOM_FP2_ELEMENT(&
a);
195 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &c);
199 assert_memory_equal(
sizeof(
fp2_t), &c, &one);
202 assert_memory_equal(
sizeof(
fp2_t), &
a, &b);
206 assert_memory_equal(
sizeof(
fp2_t), &
a, &b);
209 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
218 for(length = 1; length < 16; length++) {
219 fp2_t a[length], b[length], c, one;
221 for(
int i = 0;
i < length;
i++) {
222 RANDOM_FP2_ELEMENT(&
a[
i]);
224 assert_memory_not_equal(
sizeof(
fp2_t), &
a[
i], &b[
i]);
230 for(
int i = 0;
i < length;
i++) {
232 assert_memory_equal(
sizeof(
fp2_t), &c, &one);
243 RANDOM_FP2_ELEMENT(&
a);
248 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &c);
255 assert_memory_equal(
sizeof(
fp2_t), &c, &b);
259 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
264 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
268 assert_memory_equal(
sizeof(
fp2_t), &b, &
a);
277 RANDOM_FP2_ELEMENT(&
a);
282 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &c);
289 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
294 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
298 assert_memory_equal(
sizeof(
fp2_t), &b, &
a);
307 RANDOM_FP2_ELEMENT(&
a);
313 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &c);
318 assert_memory_equal(
sizeof(
fp2_t), &c, &
a);
322 assert_memory_not_equal(
sizeof(
fp2_t), &
a, &b);
326 assert_memory_equal(
sizeof(
fp2_t), &t, &
a);
330 assert_memory_equal(
sizeof(
fp2_t), &b, &
a);
void fp2_sqrt_slow(fp2_t *output, fp2_t input)
void fp2_linear_pass_out(fp2_t *output, fp2_t input, uint8_t input_length, uint8_t input_index)
void fp2_batchinv(fp2_t *output_list, const fp2_t *input_list, uint8_t input_length)
void fp2_linear_pass_in(fp2_t *output, const fp2_t *input, uint8_t input_length, uint8_t input_index)
void fp2_set_to_zero(fp2_t *output)
int64_t fp2_is_zero(fp2_t input)
void fp2_sqrt_fast(fp2_t *output, fp2_t input)
void fp2_half(fp2_t *output, fp2_t input)
void fp2_from_mont(fp2_t *output, fp2_t input)
void fp2_to_mont(fp2_t *output, fp2_t input)
void fp2_curt(fp2_t *output, fp2_t input)
uint8_t fp2_locate_zero(const fp2_t *input, uint8_t input_length)
void fp2_set_to_one(fp2_t *output)
#define TEST_CASE(test_func)