proj home

Files   Classes   Functions   Hierarchy  

binopproperties.h

Go to the documentation of this file.
00001 #ifndef BINOPPROPERTIES_H
00002 #define BINOPPROPERTIES_H
00003 
00004 #include <cassert>
00005 using namespace std;
00006 
00007 #include <typedefs.h>
00008 
00009 
00036 class binopproperties
00037 {
00038 public:
00039 
00042   binopproperties( uintc * mat_, uintc N_)
00043     : mat(mat_), N(N_) {}
00044 
00046   uintc * mat;
00048   uintc N;
00049 
00050   // Operations
00051 
00053   uintc inverseright(bool & found, uintc i, uintc e) const; 
00055   uintc inverseleft(bool & found, uintc k, uintc e) const; 
00057   uintc identityfind(bool & found) const;
00059   uintc matik(uintc i, uintc k) const
00060     { assert(i<N); assert(k<N); return mat[i*N+k]; }
00061 
00062   // Determine properties of Operator.
00063 
00066   boolc isClosed() const;
00068   boolc isCommutative() const;
00070   boolc isAssociative() const;
00073   boolc isGroup() const;
00075   boolc isGroupAbelian() const;
00076 
00077 
00078 };
00079 
00080 #endif
00081 
00082 

Generated on Fri Mar 4 00:49:28 2011 for Chelton Evans Source by  doxygen 1.5.8