1 /*
2  *    MIRACL  C++ Header file brick.h
3  *
4  *    AUTHOR  : M. Scott
5  *
6  *    PURPOSE : Definition of class Brick
7  *              Comb method for fast exponentiation with
8  *              precomputation
9  *    NOTE    : Must be used in conjunction with big.cpp
10  *
11  */
12 
13 #ifndef BRICK_H
14 #define BRICK_H
15 
16 #include "big.h"
17 
18 class Brick
19 {
20     BOOL created;
21     brick b;
22 public:
Brick(Big g,Big n,int window,int nb)23     Brick(Big g,Big n,int window,int nb)
24         {brick_init(&b,g.getbig(),n.getbig(),window,nb); created=TRUE;}
25 
Brick(brick * bb)26     Brick(brick *bb) { b=*bb; created=FALSE; }
27 
get(void)28     brick *get(void) {return &b;}
29 
pow(Big & e)30     Big pow(Big &e) {Big w; pow_brick(&b,e.getbig(),w.getbig()); return w;}
31 
~Brick()32     ~Brick() {if (created) brick_end(&b);}
33 };
34 
35 #endif
36 
37