37 lines
731 B
C++
37 lines
731 B
C++
/*
|
|
* MIRACL C++ Header file brick.h
|
|
*
|
|
* AUTHOR : M. Scott
|
|
*
|
|
* PURPOSE : Definition of class Brick
|
|
* Comb method for fast exponentiation with
|
|
* precomputation
|
|
* NOTE : Must be used in conjunction with big.cpp
|
|
*
|
|
*/
|
|
|
|
#ifndef BRICK_H
|
|
#define BRICK_H
|
|
|
|
#include "big.h"
|
|
|
|
class Brick
|
|
{
|
|
BOOL created;
|
|
brick b;
|
|
public:
|
|
Brick(Big g,Big n,int window,int nb)
|
|
{brick_init(&b,g.getbig(),n.getbig(),window,nb); created=TRUE;}
|
|
|
|
Brick(brick *bb) { b=*bb; created=FALSE; }
|
|
|
|
brick *get(void) {return &b;}
|
|
|
|
Big pow(Big &e) {Big w; pow_brick(&b,e.getbig(),w.getbig()); return w;}
|
|
|
|
~Brick() {if (created) brick_end(&b);}
|
|
};
|
|
|
|
#endif
|
|
|