-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathfk20test.cuh
44 lines (33 loc) · 1.67 KB
/
fk20test.cuh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
// bls12_381: Arithmetic for BLS12-381
// Copyright 2022-2023 Dag Arne Osvik
// Copyright 2022-2023 Luan Cardoso dos Santos
#ifndef FK20_TEST_CUH
#define FK20_TEST_CUH
#include <stdio.h>
#include <unistd.h>
#include "test.h"
// Complete tests
void FK20TestFFT();
void FK20TestPoly();
void FK20TestFFTRand(FILE *inputStream);
// Single tests
void fk20_poly2toeplitz_coefficients_test(fr_t polynomial[4096], fr_t toeplitz_coefficients[16][512]);
void fk20_poly2hext_fft_test(fr_t polynomial_l[4096], g1p_t xext_fft_l[16][512], g1p_t hext_fft_l[512]);
void fk20_poly2h_fft_test(fr_t polynomial_l[4096], g1p_t xext_fft_l[16][512], g1p_t h_fft_l[512]);
void fk20_msmloop(g1p_t hext_fft_l[512], fr_t toeplitz_coefficients_fft_l[16][512], g1p_t xext_fft_l[16][512]);
void toeplitz_coefficients2toeplitz_coefficients_fft(fr_t toeplitz_coefficients_l[16][512],
fr_t toeplitz_coefficients_fft_l[16][512]);
void h2h_fft(g1p_t h_l[512], g1p_t h_fft_l[512]);
void h_fft2h(g1p_t h_fft_l[512], g1p_t h_l[512]);
void hext_fft2h(g1p_t hext_fft_l[512], g1p_t h_l[512]);
void hext_fft2h_fft(g1p_t hext_fft_l[512], g1p_t h_fft_l[512]);
void graphFFT(g1p_t hext_fft_l[512], g1p_t h_fft_l[512]);
void fullTest();
void fullTestFalsifiability();
//Useful for the Falsifiability tests
void varMangle(fr_t *target, size_t size, unsigned step);
void varMangle(g1p_t *target, size_t size, unsigned step);
//void fk20_setup2xext_fft_test(g1p_t setup_l[4097], g1p_t xext_fft_l[16][512]); //deprecated
// void fk20_poly2toeplitz_coefficients_fft_test(fr_t polynomial_l[4096], fr_t toeplitz_coefficients__fftl[16][512]); //deprecated
#endif // FK20_TEST_CUH
// vim: ts=4 et sw=4 si