#include "BigInt.h"
#include <ctype.h>
#include <string.h>
#include "RakAlloca.h"
#include "RakMemoryOverride.h"
#include "Rand.h"
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) |
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::Greater (const uint32_t *lhs, int lhs_limbs, const uint32_t *rhs, int rhs_limbs) |
bool | big::Equal (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::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::SimpleMultiplyLowHalf (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::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) |
void | big::GCD (const uint32_t *a, int a_limbs, const uint32_t *b, int b_limbs, uint32_t *result) |
bool | big::InvMod (const uint32_t *u, int u_limbs, const uint32_t *v, int 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) |
uint32_t * | big::PrecomputeWindow (const uint32_t *base, const uint32_t *modulus, int limbs, uint32_t mod_inv, int window_bits) |
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) |
uint32_t | big::ExpMod (uint32_t b, uint32_t e, uint32_t m) |
bool | big::RabinMillerPrimeTest (const uint32_t *n, int limbs, uint32_t k) |
void | big::GenerateStrongPseudoPrime (uint32_t *n, int limbs) |