#include <MLSHom.h>
|
static void | garbage () |
| Collects and destroys unused homomorphisms. More...
|
|
|
MLShom | operator+ (const MLShom &, const MLShom &) |
| By definition, as homomorphism are linear, (h+g) (d) = h(d) + g(d) ; Where g,h are homomorphisms and d is a SDDD. More...
|
|
◆ MLShom() [1/7]
Default public constructor.
Builds Identity homomorphism : forall d in DDD, id(d) = d
◆ MLShom() [2/7]
MLShom::MLShom |
( |
const GShom & |
h | ) |
|
◆ MLShom() [3/7]
MLShom::MLShom |
( |
const GShom & |
up, |
|
|
const MLShom & |
down |
|
) |
| |
◆ MLShom() [4/7]
MLShom::MLShom |
( |
const _MLShom & |
h | ) |
|
◆ MLShom() [5/7]
◆ MLShom() [6/7]
MLShom::MLShom |
( |
const _MLShom * |
h | ) |
|
◆ MLShom() [7/7]
Create variable/value pair and left concatenate to a homomorphism.
h(var,val,g) (d) = DDD(var,val) ^ g(d). In other words : var – val -> g
- Parameters
-
var | the variable index |
val | the value associated to the variable |
h | the homomorphism to apply on successor node. Default is identity, so is equivalent to a left concatenation of a DDD(var,val). |
◆ ~MLShom()
◆ eval()
The computation function responsible for evaluation over a node.
Users should not directly use this. Normal behavior is to use operator() that encapsulates this call with operation caching.
◆ garbage()
◆ hash()
size_t MLShom::hash |
( |
| ) |
const |
|
inline |
◆ operator()()
◆ operator<()
bool MLShom::operator< |
( |
const MLShom & |
h | ) |
const |
|
inline |
◆ operator==()
bool MLShom::operator== |
( |
const MLShom & |
h | ) |
const |
|
inline |
◆ operator+
By definition, as homomorphism are linear, (h+g) (d) = h(d) + g(d) ; Where g,h are homomorphisms and d is a SDDD.
This commutative operation computes a homomorphism that evaluates as the sum of two homomorphism.
Semantics : (h1 + h2) (d) = h1(d) + h2(d).
◆ concret
The real implementation class.
All true operations are delagated on this pointer. Construction/destruction take care of ensuring concret is only instantiated once in memory.
Referenced by hash(), operator()(), operator<(), and operator==().
◆ id
Elementary homomorphism Identity, defined as a constant.
id(d) = <id, d>
The documentation for this class was generated from the following files: