00001
00004 #ifndef __KERNEL_HH__
00005 #define __KERNEL_HH__
00006
00007 #include "equivalent.hh"
00008
00010 class kernel
00011 {
00012 protected:
00013
00014 tab_sym_bool contracted;
00015
00016 int nb_contracted;
00017
00018 tab_label Father;
00019
00020 int level;
00021 public:
00023 kernel():nb_contracted(0),level(1)
00024 {}
00026 virtual ~kernel()
00027 {}
00029 virtual void init(int lev=1);
00032 virtual void compute_kernel(combi_map_priv &)=0;
00035 virtual bool continue_computation()=0;
00036
00038 bool is_marked(dart);
00040 int cardinal();
00042 virtual vertex father(vertex);
00044 virtual vertex find_compress(vertex);
00045 };
00046
00047 #endif // __KERNEL_HH__