Namespaces | Functions

BigInt.h File Reference

#include "Platform.h"
#include "NativeTypes.h"
Include dependency graph for BigInt.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Namespaces

namespace  big

Functions

uint32_t big::Degree (uint32_t v)
int big::LimbDegree (const uint32_t *n, int limbs)
uint32_t big::Degree (const uint32_t *n, int limbs)
void big::Set (uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
void big::Set (uint32_t *lhs, int limbs, const uint32_t *rhs)
void big::Set32 (uint32_t *lhs, int lhs_limbs, const uint32_t rhs)
void big::ToLittleEndian (uint32_t *, int)
void big::FromLittleEndian (uint32_t *, int)
bool big::Less (int limbs, const uint32_t *lhs, const uint32_t *rhs)
bool big::Greater (int limbs, const uint32_t *lhs, const uint32_t *rhs)
bool big::Equal (int limbs, const uint32_t *lhs, const uint32_t *rhs)
bool big::Less (const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
bool big::GreaterOrEqual (const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
bool big::Greater (const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
bool big::LessOrEqual (const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
bool big::Greater32 (const uint32_t *lhs, int lhs_limbs, uint32_t rhs)
bool big::LessOrEqual32 (const uint32_t *lhs, int lhs_limbs, uint32_t rhs)
bool big::Equal (const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
bool big::Equal32 (const uint32_t *lhs, int lhs_limbs, uint32_t rhs)
void big::ShiftRight (int limbs, uint32_t *out, const uint32_t *in, int shift)
uint32_t big::ShiftLeft (int limbs, uint32_t *out, const uint32_t *in, int shift)
uint32_t big::Add (uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
uint32_t big::Add (uint32_t *out, const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
uint32_t big::Add32 (uint32_t *lhs, int lhs_limbs, uint32_t rhs)
int32_t big::Subtract (uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
int32_t big::Subtract (uint32_t *out, const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs)
int32_t big::Subtract32 (uint32_t *lhs, int lhs_limbs, uint32_t rhs)
void big::Negate (int limbs, uint32_t *lhs, const uint32_t *rhs)
void big::BitNot (uint32_t *n, int limbs)
void big::LimbNot (uint32_t *n, int limbs)
void big::Xor (int limbs, uint32_t *lhs, const uint32_t *rhs)
uint32_t big::AddLeftShift32 (int limbs, uint32_t *A, const uint32_t *B, uint32_t S)
uint32_t big::Multiply32 (int limbs, uint32_t *result, const uint32_t *A, uint32_t B)
uint32_t big::MultiplyAdd32 (int limbs, uint32_t *X, uint32_t M, uint32_t A)
uint32_t big::AddMultiply32 (int limbs, uint32_t *A, const uint32_t *B, uint32_t M)
void big::SimpleMultiply (int limbs, uint32_t *product, const uint32_t *x, const uint32_t *y)
void big::SimpleSquare (int limbs, uint32_t *product, const uint32_t *x)
void big::Multiply (int limbs, uint32_t *product, const uint32_t *x, const uint32_t *y)
void big::SimpleMultiplyLowHalf (int limbs, uint32_t *product, const uint32_t *x, const uint32_t *y)
void big::Square (int limbs, uint32_t *product, const uint32_t *x)
uint32_t big::Modulus32 (int limbs, const uint32_t *N, uint32_t divisor)
uint32_t big::Divide32 (int limbs, uint32_t *A, uint32_t divisor)
uint32_t big::MulInverse32 (uint32_t n)
bool big::MulInverse (int limbs, const uint32_t *u, uint32_t *result)
bool big::Divide (const uint32_t *u, int u_limbs, const uint32_t *v, int v_limbs, uint32_t *q, uint32_t *r)
bool big::Modulus (const uint32_t *u, int u_limbs, const uint32_t *v, int v_limbs, uint32_t *r)
void big::BarrettModulusPrecomp (int limbs, const uint32_t *m, uint32_t *m_inv)
void big::BarrettModulus (int limbs, const uint32_t *x, const uint32_t *m, const uint32_t *m_inv, uint32_t *result)
bool big::MulMod (int limbs, const uint32_t *x, const uint32_t *y, const uint32_t *modulus, uint32_t *result)
int big::ToInt (uint32_t *lhs, int max_limbs, const char *rhs, uint32_t base)
bool big::InvMod (const uint32_t *u, int u_limbs, const uint32_t *v, int limbs, uint32_t *result)
void big::GCD (const uint32_t *a, int a_limbs, const uint32_t *b, int b_limbs, uint32_t *result)
bool big::SquareRoot (int limbs, const uint32_t *square, uint32_t *root)
uint32_t big::MonReducePrecomp (uint32_t modulus0)
void big::MonInputResidue (const uint32_t *n, int n_limbs, const uint32_t *modulus, int m_limbs, uint32_t *n_residue)
void big::MonPro (int limbs, const uint32_t *a_residue, const uint32_t *b_residue, const uint32_t *modulus, uint32_t mod_inv, uint32_t *result)
void big::MonInverse (int limbs, const uint32_t *a_residue, const uint32_t *modulus, uint32_t mod_inv, uint32_t *result)
void big::MonReduce (int limbs, uint32_t *s, const uint32_t *modulus, uint32_t mod_inv, uint32_t *result)
void big::MonFinish (int limbs, uint32_t *n, const uint32_t *modulus, uint32_t mod_inv)
void big::MonExpMod (const uint32_t *base, const uint32_t *exponent, int exponent_limbs, const uint32_t *modulus, int mod_limbs, uint32_t mod_inv, uint32_t *result)
void big::ExpMod (const uint32_t *base, int base_limbs, const uint32_t *exponent, int exponent_limbs, const uint32_t *modulus, int mod_limbs, uint32_t mod_inv, uint32_t *result)
void big::ExpCRT (const uint32_t *base, int base_limbs, const uint32_t *exponent, int exponent_limbs, const uint32_t *mod_p, uint32_t p_inv, const uint32_t *mod_q, uint32_t q_inv, const uint32_t *pinvq, int mod_limbs, uint32_t *result)
bool big::RabinMillerPrimeTest (const uint32_t *n, int limbs, uint32_t k)
void big::GenerateStrongPseudoPrime (uint32_t *n, int limbs)