Switch branches/tags
Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
..
Failed to load latest commit information.
hanoi
morpion
.gitignore
Makefile.am
PermuteVar.cpp
PermuteVar.hh
PlusPlus.cpp
PlusPlus.hh
README
SetVar.cpp
SetVar.hh
SwapMLHom.cpp
SwapMLHom.hh
tst1.cpp
tst10.cpp
tst11.cpp
tst12.cpp
tst13.cpp
tst14.cpp
tst15.cpp
tst2.cpp
tst3.cpp
tst4.cpp
tst5.cpp
tst6.cpp
tst7.cpp
tst8.cpp
tst9.cpp

README

This folder contains simple examples designed to get you started with libDDD.

The Makefile.am shows how to set flags to compile on either the debug version (libddd_d.a compiled with -g -o0) or the standard optimized libddd.a.

** tst1 : 

A simple example exhibiting terminal constants, definition of DDD variables, and use of the basic set theory operators over DDD.

** tst2 :

This example introduces some library provided homomorphisms for concatenation, use of constants...

** tst3 :

This examples shows how to define a custom homomorphism to increment a variable.

** tst4 :

A variant over the previous example which increments all variables.

** tst5 :

An example of a more complex homomorphism combination to assign the value of a variable to another using swap, up and down. (see icatpn'02 paper for a description).

** tst6 :

A variant over the previous to swap the value of two variables in a single pass.

** tst7 :

A simple example showing how to invoke the garbage collector.

** tst8 :

A simple example exhibiting how to carry operations inside homomorphisms.
It also shows how to use Statistics class to produce tables of stats. 

** tst9 :

A small test, that raised a bug in an old version of the library.
// FIXME : we should move this from demo/ to test/ folder.

** tst10 :

A small example showing the use of  a fixpoint to produce a saturation effect.
This example does not use skip_variable of auto-saturation (available with libDDD >= 1.4)

** tst11 :

A complex test, added by V. Beaudenon, that raised a bug in an old version of the library.
// FIXME : we should move this from demo/ to test/ folder.

** tst12 :

A example exhibiting the use of edge valued DDD in EVDDD mode.
It also shows how to use the dotExporter functionality to produce dot graphs of DDD.

This example is meant to be compared with the behavior of tst13.
// FIXME : tst12 and tst13 could use more comments.

** tst13 :

The same example exhibiting the use of edge valued DDD in EVDDD mode.
We use the library defined special variable DISTANCE to indicate we use distance nodes.
You must edit Makefile.am to build tst13, and also build libddd_ev.a which is not built by default, by editing src/Makefile.am.