PALISADE Lattice Crypto Library
1.11.9
A lattice crypto library for software engineers by software engineers.
src
core
include
math
distrgen.h
1
// @file distrgen.h This code provides basic noise generation functionality.
2
// @author TPOC: contact@palisade-crypto.org
3
//
4
// @copyright Copyright (c) 2019, New Jersey Institute of Technology (NJIT)
5
// All rights reserved.
6
// Redistribution and use in source and binary forms, with or without
7
// modification, are permitted provided that the following conditions are met:
8
// 1. Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
// 2. Redistributions in binary form must reproduce the above copyright notice,
11
// this list of conditions and the following disclaimer in the documentation
12
// and/or other materials provided with the distribution. THIS SOFTWARE IS
13
// PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR
14
// IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
15
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
16
// EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
17
// INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
18
// (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
19
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
20
// ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
22
// SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23
24
#ifndef LBCRYPTO_MATH_DISTRGEN_H_
25
#define LBCRYPTO_MATH_DISTRGEN_H_
26
27
#define _USE_MATH_DEFINES
28
#include <bitset>
29
#include <cmath>
30
#include <random>
31
#include <string>
32
#include "math/binaryuniformgenerator.h"
33
#include "math/discretegaussiangenerator.h"
34
#include "math/discretegaussiangeneratorgeneric.h"
35
#include "math/discreteuniformgenerator.h"
36
#include "math/distributiongenerator.h"
37
#include "math/ternaryuniformgenerator.h"
38
39
#endif // LBCRYPTO_MATH_DISTRGEN_H_
Generated on Fri Dec 2 2022 21:02:06 for PALISADE Lattice Crypto Library by
1.8.13