mirror of
https://github.com/arnaucube/poulpy.git
synced 2026-02-10 13:16:44 +01:00
spqlios basic wrapper
This commit is contained in:
31
spqlios/lib/test/testlib/ntt120_dft.h
Normal file
31
spqlios/lib/test/testlib/ntt120_dft.h
Normal file
@@ -0,0 +1,31 @@
|
||||
#ifndef SPQLIOS_NTT120_DFT_H
|
||||
#define SPQLIOS_NTT120_DFT_H
|
||||
|
||||
#include <vector>
|
||||
|
||||
#include "../../spqlios/q120/q120_arithmetic.h"
|
||||
#include "mod_q120.h"
|
||||
#include "negacyclic_polynomial.h"
|
||||
#include "test_commons.h"
|
||||
|
||||
class q120_nttvec {
|
||||
public:
|
||||
std::vector<mod_q120> v;
|
||||
q120_nttvec() = default;
|
||||
explicit q120_nttvec(uint64_t n);
|
||||
q120_nttvec(uint64_t n, const q120b* data);
|
||||
q120_nttvec(uint64_t n, const q120c* data);
|
||||
uint64_t nn() const;
|
||||
static q120_nttvec zero(uint64_t n);
|
||||
static q120_nttvec random(uint64_t n);
|
||||
void save_as(q120a* dest) const;
|
||||
void save_as(q120b* dest) const;
|
||||
void save_as(q120c* dest) const;
|
||||
mod_q120 get_blk(uint64_t blk) const;
|
||||
};
|
||||
|
||||
q120_nttvec simple_ntt120(const znx_i64& polynomial);
|
||||
znx_i128 simple_intt120(const q120_nttvec& fftvec);
|
||||
bool operator==(const q120_nttvec& a, const q120_nttvec& b);
|
||||
|
||||
#endif // SPQLIOS_NTT120_DFT_H
|
||||
Reference in New Issue
Block a user