Wiselib
Public Member Functions | Static Public Member Functions
wiselib::PMP Class Reference

#include <pmp.h>

List of all members.

Public Member Functions

NN_DIGIT b_testbit (NN_DIGIT *a, int16 i)
void Decode (NN_DIGIT *a, NN_UINT digits, unsigned char *b, NN_UINT len)
void Encode (unsigned char *a, NN_UINT len, NN_DIGIT *b, NN_UINT digits)
void Assign (NN_DIGIT *a, NN_DIGIT *b, NN_UINT digits)
void AssignZero (NN_DIGIT *a, NN_UINT digits)
void Assign2Exp (NN_DIGIT *a, NN_UINT2 b, NN_UINT digits)
void AssignDigit (NN_DIGIT *a, NN_DIGIT b, NN_UINT digits)
NN_DIGIT Add (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
NN_DIGIT Sub (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
void Mult (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
void Div (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT cDigits, NN_DIGIT *d, NN_UINT dDigits)
void Sqr (NN_DIGIT *a, NN_DIGIT *b, NN_UINT digits)
NN_DIGIT LShift (NN_DIGIT *a, NN_DIGIT *b, NN_UINT c, NN_UINT digits)
NN_DIGIT RShift (NN_DIGIT *a, NN_DIGIT *b, NN_UINT c, NN_UINT digits)
void Mod (NN_DIGIT *a, NN_DIGIT *b, NN_UINT bDigits, NN_DIGIT *c, NN_UINT cDigits)
void ModSmall (NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
void ModAdd (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_DIGIT *d, NN_UINT digits)
void ModSub (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_DIGIT *d, NN_UINT digits)
void ModNeg (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
void ModMult (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_DIGIT *d, NN_UINT digits)
void ModDiv (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_DIGIT *d, NN_UINT digits)
void ModExp (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT cDigits, NN_DIGIT *d, NN_UINT dDigits)
void ModMultOpt (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_DIGIT *d, NN_DIGIT *omega, NN_UINT digits)
void ModSqr (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *d, NN_UINT digits)
void ModSqrOpt (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *d, NN_DIGIT *omega, NN_UINT digits)
void ModInv (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
void ModDivOpt (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_DIGIT *d, NN_UINT digits)
void Lucas_Sequence (NN_DIGIT *V0, NN_DIGIT *Q0, NN_DIGIT *P, NN_DIGIT *Q, NN_DIGIT *k, NN_DIGIT *p, NN_DIGIT *omega)
int8_t ModSqrRootOpt (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits, NN_DIGIT *omega)
void Gcd (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *c, NN_UINT digits)
int8_t Cmp (NN_DIGIT *a, NN_DIGIT *b, NN_UINT digits)
int8_t Zero (NN_DIGIT *a, NN_UINT digits)
int8_t One (NN_DIGIT *a, NN_UINT digits)
uint16_t Bits (NN_DIGIT *a, NN_UINT digits)
uint16_t Digits (NN_DIGIT *a, NN_UINT digits)
NN_DIGIT TestBit (NN_DIGIT *a, int16 i)
int8_t Even (NN_DIGIT *a, NN_UINT digits)
int8_t Equal (NN_DIGIT *a, NN_DIGIT *b, NN_UINT digits)
void DigitDiv (NN_DIGIT *a, NN_DIGIT b[2], NN_DIGIT c)
NN_UINT omega_mul (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT *omega, NN_UINT digits)

Static Public Member Functions

static NN_DIGIT AddDigitMult (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT c, NN_DIGIT *d, NN_UINT digits)
static NN_DIGIT SubDigitMult (NN_DIGIT *a, NN_DIGIT *b, NN_DIGIT c, NN_DIGIT *d, NN_UINT digits)
static uint16_t DigitBits (NN_DIGIT a)

Member Function Documentation

NN_DIGIT wiselib::PMP::Add ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
static NN_DIGIT wiselib::PMP::AddDigitMult ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT  c,
NN_DIGIT d,
NN_UINT  digits 
) [inline, static]
void wiselib::PMP::Assign ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Assign2Exp ( NN_DIGIT a,
NN_UINT2  b,
NN_UINT  digits 
) [inline]
void wiselib::PMP::AssignDigit ( NN_DIGIT a,
NN_DIGIT  b,
NN_UINT  digits 
) [inline]
void wiselib::PMP::AssignZero ( NN_DIGIT a,
NN_UINT  digits 
) [inline]
NN_DIGIT wiselib::PMP::b_testbit ( NN_DIGIT a,
int16  i 
) [inline]
uint16_t wiselib::PMP::Bits ( NN_DIGIT a,
NN_UINT  digits 
) [inline]
int8_t wiselib::PMP::Cmp ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Decode ( NN_DIGIT a,
NN_UINT  digits,
unsigned char *  b,
NN_UINT  len 
) [inline]
static uint16_t wiselib::PMP::DigitBits ( NN_DIGIT  a) [inline, static]
void wiselib::PMP::DigitDiv ( NN_DIGIT a,
NN_DIGIT  b[2],
NN_DIGIT  c 
) [inline]
uint16_t wiselib::PMP::Digits ( NN_DIGIT a,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Div ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  cDigits,
NN_DIGIT d,
NN_UINT  dDigits 
) [inline]
void wiselib::PMP::Encode ( unsigned char *  a,
NN_UINT  len,
NN_DIGIT b,
NN_UINT  digits 
) [inline]
int8_t wiselib::PMP::Equal ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  digits 
) [inline]
int8_t wiselib::PMP::Even ( NN_DIGIT a,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Gcd ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
NN_DIGIT wiselib::PMP::LShift ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  c,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Lucas_Sequence ( NN_DIGIT V0,
NN_DIGIT Q0,
NN_DIGIT P,
NN_DIGIT Q,
NN_DIGIT k,
NN_DIGIT p,
NN_DIGIT omega 
) [inline]
void wiselib::PMP::Mod ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  bDigits,
NN_DIGIT c,
NN_UINT  cDigits 
) [inline]
void wiselib::PMP::ModAdd ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_DIGIT d,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModDiv ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_DIGIT d,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModDivOpt ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_DIGIT d,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModExp ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  cDigits,
NN_DIGIT d,
NN_UINT  dDigits 
) [inline]
void wiselib::PMP::ModInv ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModMult ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_DIGIT d,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModMultOpt ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_DIGIT d,
NN_DIGIT omega,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModNeg ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModSmall ( NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModSqr ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT d,
NN_UINT  digits 
) [inline]
void wiselib::PMP::ModSqrOpt ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT d,
NN_DIGIT omega,
NN_UINT  digits 
) [inline]
int8_t wiselib::PMP::ModSqrRootOpt ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits,
NN_DIGIT omega 
) [inline]
void wiselib::PMP::ModSub ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_DIGIT d,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Mult ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
NN_UINT wiselib::PMP::omega_mul ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT omega,
NN_UINT  digits 
) [inline]
int8_t wiselib::PMP::One ( NN_DIGIT a,
NN_UINT  digits 
) [inline]
NN_DIGIT wiselib::PMP::RShift ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  c,
NN_UINT  digits 
) [inline]
void wiselib::PMP::Sqr ( NN_DIGIT a,
NN_DIGIT b,
NN_UINT  digits 
) [inline]
NN_DIGIT wiselib::PMP::Sub ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT c,
NN_UINT  digits 
) [inline]
static NN_DIGIT wiselib::PMP::SubDigitMult ( NN_DIGIT a,
NN_DIGIT b,
NN_DIGIT  c,
NN_DIGIT d,
NN_UINT  digits 
) [inline, static]
NN_DIGIT wiselib::PMP::TestBit ( NN_DIGIT a,
int16  i 
) [inline]
int8_t wiselib::PMP::Zero ( NN_DIGIT a,
NN_UINT  digits 
) [inline]

The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines