FK20 CUDA
g1test.cuh
Go to the documentation of this file.
1 // bls12_381: Arithmetic for BLS12-381
2 // Copyright 2022-2023 Dag Arne Osvik
3 // Copyright 2022-2023 Luan Cardoso dos Santos
4 
5 #ifndef G1_TEST_CUH
6 #define G1_TEST_CUH
7 
8 #include "test.h"
9 #include "g1.cuh"
10 
11 #define TESTVALS 256
12 
13 typedef struct {
14  uint64_t val[22];
15 } testval_t;
16 
17 //shortcut for kernel declaration
18 #define TESTFUN(X) extern __global__ void X(testval_t *testval)
19 
23 TESTFUN(G1TestCmp);
24 TESTFUN(G1TestCopy);
25 TESTFUN(G1TestEqNeq);
26 TESTFUN(G1TestReflexivity);
27 TESTFUN(G1TestSymmetry);
28 TESTFUN(G1TestAdditiveIdentity);
29 TESTFUN(G1TestMultiplicativeIdentity);
30 TESTFUN(G1TestAdditiveInverse);
31 TESTFUN(G1TestMultiplicativeInverse);
32 TESTFUN(G1TestCommutativeAdd);
33 TESTFUN(G1TestCommutativeMul);
34 TESTFUN(G1TestAssociativeAdd);
35 TESTFUN(G1TestAssociativeMul);
36 TESTFUN(G1TestDistributiveLeft);
37 TESTFUN(G1TestDistributiveRight);
38 TESTFUN(G1TestDouble);
39 TESTFUN(G1TestSquare);
40 
41 void G1TestFFT(unsigned rows);
42 
43 #endif // G1_TEST_CUH
44 
45 // vim: ts=4 et sw=4 si
fp_t testval_t
Definition: fptest.cuh:20
#define TESTFUN(X)
Definition: g1test.cuh:18
void G1TestFFT(unsigned rows)
Test for FFT and IFFT of points on the G1 curve. Checks self consistency with the following propertie...
Definition: g1test_fft.cu:136
__global__ void G1TestDbl(testval_t *)
Test for point doubling in G1:
Definition: g1test_dbl.cu:18
__global__ void G1TestFibonacci(testval_t *)
Test addition and multiplication using a fibonacci sequence (cascading data dependency)
__global__ void G1TestKAT(testval_t *)
Test operation over G1 using KAT and self consistency:
Definition: g1test_kat.cu:58