FK20 CUDA
frtest.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 FR_TEST_CUH
6 #define FR_TEST_CUH
7 
8 #include <stdio.h>
9 
10 #include "test.h"
11 #include "fr.cuh"
12 
13 #define TESTVALS 768
14 
15 #if (TESTVALS < 515)
16 # undef TESTVALS
17 # define TESTVALS 515
18 #endif
19 
20 typedef fr_t testval_t;
21 
22 void FrTestFFT();
23 
24 //shortcut for kernel declaration
25 #define TESTFUN(X) extern __global__ void X(testval_t *testval)
26 
33 TESTFUN(FrTestCopy);
34 TESTFUN(FrTestReflexivity);
35 TESTFUN(FrTestSymmetry);
36 TESTFUN(FrTestAdditiveIdentity);
37 TESTFUN(FrTestMultiplicativeIdentity);
38 TESTFUN(FrTestAdditiveInverse);
39 TESTFUN(FrTestMultiplicativeInverse);
48 TESTFUN(FrTestDouble);
49 TESTFUN(FrTestSquare);
50 
51 #endif // FR_TEST_CUH
52 
53 // vim: ts=4 et sw=4 si
uint64_t fr_t[4]
Subgroup element stored as a 256-bit array (a 4-element little-endian array of uint64_t)....
Definition: fr.cuh:24
void FrTestFFT()
Tests fft and inverse fft over Fr using KAT.
Definition: frtest_fft.cu:17
fr_t testval_t
Definition: frtest.cuh:20
#define TESTFUN(X)
Definition: frtest.cuh:25
__global__ void FrTestCommutativeAdd(testval_t *testval)
Test the cumulative property of addition.
Definition: frtest_add.cu:16
__global__ void FrTestAssociativeAdd(testval_t *testval)
Test the associative property of addition.
Definition: frtest_add.cu:58
__global__ void FrTestAddSub(testval_t *testval)
Test for the fr_addsub kernel.
__global__ void FrTestCmp(testval_t *testval)
Test for the comparison function; checks for inconsistencies in the following properties:
Definition: frtest_cmp.cu:21
__global__ void FrTestSubDistributiveLeft(testval_t *testval)
Check the distributive property of multiplication in Fr (left of subtraction):
__global__ void FrTestAddDistributiveRight(testval_t *testval)
Check the distributive property of multiplication in Fr (right of addition):
__global__ void FrTestAddDistributiveLeft(testval_t *testval)
Check the distributive property of multiplication in Fr (left of addition):
__global__ void FrTestSubDistributiveRight(testval_t *testval)
Check the distributive property of multiplication in Fr (right of subtraction):
__global__ void FrTestFibonacci(testval_t *)
Test addition and subtraction in Fr using a fibonacci sequence (chain dependency) from 1 to ITERATION...
__global__ void FrTestKAT(testval_t *)
tests using KAT for: fr_cpy, fr_reduce4, fr_eq, fr_neq, fr_neg, fr_x2, fr_x3, fr_add,...
Definition: frtest_kat.cu:15
__global__ void FrTestAssociativeMul(testval_t *testval)
Test of the associative property of multiplication (x*y)*z == x*(y*z)
Definition: frtest_mul.cu:56
__global__ void FrTestCommutativeMul(testval_t *testval)
Test of the commutative property of multiplication x*y == y*x.
Definition: frtest_mul.cu:15
__global__ void FrTestMulConst(testval_t *testval)
Test multiply by constant on Fr:
__global__ void FrTestSub(testval_t *testval)
Test of subtraction x == y-(y-x)
Definition: frtest_sub.cu:15