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