FK20 CUDA
fptest.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 FP_TEST_CUH
6 #define FP_TEST_CUH
7 
8 #include <stdio.h>
9 
10 #include "test.h"
11 #include "fp.cuh"
12 
13 #define TESTVALS 800
14 
15 #if (TESTVALS < 771)
16 # undef TESTVALS
17 # define TESTVALS 771
18 #endif
19 
20 typedef fp_t testval_t;
21 
22 #define TESTFUN(X) extern __global__ void X(testval_t *testval)
23 
24 // Constant
25 
28 
29 // Linear
30 
39 
40 // Quadratic
41 
45 
46 // Cubic
47 
54 
55 // Not implemented
56 
57 TESTFUN(FpTestCopy);
58 TESTFUN(FpTestReflexivity);
59 TESTFUN(FpTestSymmetry);
60 TESTFUN(FpTestAdditiveIdentity);
61 TESTFUN(FpTestMultiplicativeIdentity);
62 TESTFUN(FpTestAdditiveInverse);
63 TESTFUN(FpTestMultiplicativeInverse);
64 
65 #endif // FP_TEST_CUH
66 
67 // vim: ts=4 et sw=4 si
uint64_t fp_t[6]
Residue modulo p. Any 384-bit representative of each residue is allowed, and stored as a 6-element li...
Definition: fp.cuh:14
#define TESTFUN(X)
Definition: fptest.cuh:22
fp_t testval_t
Definition: fptest.cuh:20
__global__ void FpTestAssociativeAdd(testval_t *testval)
Test for the associative property of addition in Fp.
Definition: fptest_add.cu:101
__global__ void FpTestAdd(testval_t *testval)
Test for addition in Fp.
Definition: fptest_add.cu:16
__global__ void FpTestCommutativeAdd(testval_t *testval)
Test for the commutative property of addition in Fp.
Definition: fptest_add.cu:59
__global__ void FpTestCmp(testval_t *testval)
Test for the comparison function in Fp; checks for inconsistencies in the following properties:
Definition: fptest_cmp.cu:21
__global__ void FpTestSubDistributiveRight(testval_t *testval)
Check the distributive property of multiplication in Fp (right of subtraction):
__global__ void FpTestSubDistributiveLeft(testval_t *testval)
Check the distributive property of multiplication in Fp (left of subtraction):
__global__ void FpTestAddDistributiveLeft(testval_t *testval)
Check the distributive property of multiplication in Fp (left of addition):
__global__ void FpTestAddDistributiveRight(testval_t *testval)
Check the distributive property of multiplication in Fp (right of addition):
__global__ void FpTestFibonacci(testval_t *)
Test addition and subtraction in Fp using a fibonacci sequence (chain dependency) from 1 to ITERATION...
__global__ void FpTestInv(testval_t *testval)
Test for multiplicative inverse mod p in Fp.
Definition: fptest_inv.cu:15
__global__ void FpTestKAT(testval_t *)
Test for fp functions using KAT.
Definition: fptest_kat.cu:18
__global__ void FpTestMMA(testval_t *testval)
Test for multiply-multiply-add. Compare with current standalone implementation of multiplication adn ...
Definition: fptest_mma.cu:15
__global__ void FpTestMul(testval_t *testval)
Multiplication test, comparing with the native uint64_t multiplication.
Definition: fptest_mul.cu:109
__global__ void FpTestAssociativeMul(testval_t *testval)
Test for the associative property of multiplication.
Definition: fptest_mul.cu:60
__global__ void FpTestCommutativeMul(testval_t *testval)
Test for the commutative property of addition.
Definition: fptest_mul.cu:16
__global__ void FpTestMulConst(testval_t *testval)
Test self consistency in multiplication by constant:
__global__ void FpTestSqr2(testval_t *testval)
Test for squaring on Fp. Checks for self consistency:
Definition: fptest_sqr.cu:135
__global__ void FpTestSqr(testval_t *testval)
Test for squaring on Fp. Checks for self consistency:
Definition: fptest_sqr.cu:16
__global__ void FpTestSub(testval_t *testval)
Test for subtraction in Fp.
Definition: fptest_sub.cu:16