public interface Operation extends java.lang.Comparable<Operation>
{0, 1, ..., n-1} we have intValueAt(int[] args)
 form of the operation. We also have an Object form for
 general sets. Since only one or the other may be required, both are
 optional.| Modifier and Type | Method and Description | 
|---|---|
int | 
arity()
This gives the arity of this operation. 
 | 
int | 
getSetSize()
This gives the size of the set upon which the operation is defined. 
 | 
int[] | 
getTable()
Get the table for this operation or null if it does not exist. 
 | 
int[] | 
getTable(boolean makeTable)
Get the table for this operation. 
 | 
int | 
intValueAt(int arg)
This (optional) operation is for fast access to the table,
 if it exits. 
 | 
int | 
intValueAt(int[] args)
This (optional) operation is the int version. 
 | 
boolean | 
isAssociative()
Is this operation binary and associative. 
 | 
boolean | 
isCommutative()
Is this operation binary and commutative. 
 | 
boolean | 
isIdempotent()
Is this operation idempotent in the sense f(x,x,..,x) = x. 
 | 
boolean | 
isMaltsev()
Check if a ternary operation is a Maltsev operation. 
 | 
boolean | 
isTableBased()  | 
boolean | 
isTotal()
Only OperationWithDefaultValue's can fail this. 
 | 
boolean | 
isTotallySymmetric()
Is this operation totally symmetric; that is, invariant
 under all permutation of the variables. 
 | 
void | 
makeTable()
This will make a table and so make the operation faster but
 requires more space. 
 | 
OperationSymbol | 
symbol()
The operation symbol for this operation. 
 | 
int[] | 
valueAt(int[][] args)
This operation is for fast product operation. 
 | 
java.lang.Object | 
valueAt(java.util.List args)
This operation is the element version. 
 | 
int arity()
int getSetSize()
OperationSymbol symbol()
java.lang.Object valueAt(java.util.List args)
int[] valueAt(int[][] args)
args - an array of arity int arrays from the product algebra.int intValueAt(int[] args)
int intValueAt(int arg)
arg - the Horner encoding of the actual args.void makeTable()
int[] getTable()
int[] getTable(boolean makeTable)
makeTable - forces the table to be made if necessaryboolean isTableBased()
boolean isIdempotent()
boolean isAssociative()
boolean isCommutative()
boolean isTotallySymmetric()
boolean isMaltsev()
boolean isTotal()
Copyright 2003 Ralph Freese. All Rights Reserved.