#include "semigroup.hpp" #define STACK_SIZE (MAX_GENUS*(MAX_GENUS+1))/2 class Stack{ public: Semigroup data[STACK_SIZE+1], *stack[STACK_SIZE], *other; size_t stack_size; Stack(); Semigroup* pop(); Semigroup* pushed(); bool is_empty(); }; inline Stack::Stack(){ for (ind_t i=0; i