# ppl_Congruence_System_tag Interface Reference

Types and functions for congruence systems. More...

`#include <ppl_c_header.h>`

List of all members.

## Related Functions

(Note that these are not member functions.)
Constructors, Assignment and Destructor
int | ppl_new_Congruence_System (ppl_Congruence_System_t *pcs)
| Builds an empty system of congruences and writes a handle to it at address `pcs`.
int | ppl_new_Congruence_System_zero_dim_empty (ppl_Congruence_System_t *pcs)
| Builds a zero-dimensional, unsatisfiable congruence system and writes a handle to it at address `pcs`.
int | ppl_new_Congruence_System_from_Congruence (ppl_Congruence_System_t *pcs, ppl_const_Congruence_t c)
| Builds the singleton congruence system containing only a copy of congruence `c`; writes a handle for the newly created system at address `pcs`.
int | ppl_new_Congruence_System_from_Congruence_System (ppl_Congruence_System_t *pcs, ppl_const_Congruence_System_t cs)
| Builds a congruence system that is a copy of `cs`; writes a handle for the newly created system at address `pcs`.
int | ppl_assign_Congruence_System_from_Congruence_System (ppl_Congruence_System_t dst, ppl_const_Congruence_System_t src)
| Assigns a copy of the congruence system `src` to `dst`.
int | ppl_delete_Congruence_System (ppl_const_Congruence_System_t cs)
| Invalidates the handle `cs:` this makes sure the corresponding resources will eventually be released.
Functions that Do Not Modify the Congruence System
int | ppl_Congruence_System_space_dimension (ppl_const_Congruence_System_t cs, ppl_dimension_type *m)
| Writes to `m` the dimension of the vector space enclosing `cs`.
int | ppl_Congruence_System_empty (ppl_const_Congruence_System_t cs)
| Returns a positive integer if `cs` contains no (non-trivial) congruence; returns 0 otherwise.
int | ppl_Congruence_System_begin (ppl_const_Congruence_System_t cs, ppl_Congruence_System_const_iterator_t cit)
| Assigns to `cit` a const iterator "pointing" to the beginning of the congruence system `cs`.
int | ppl_Congruence_System_end (ppl_const_Congruence_System_t cs, ppl_Congruence_System_const_iterator_t cit)
| Assigns to `cit` a const iterator "pointing" past the end of the congruence system `cs`.
int | ppl_Congruence_System_OK (ppl_const_Congruence_System_t cs)
| Returns a positive integer if `cs` is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if `cs` is broken. Useful for debugging purposes.
Functions that May Modify the Congruence System
int | ppl_Congruence_System_clear (ppl_Congruence_System_t cs)
| Removes all the congruences from the congruence system `cs` and sets its space dimension to 0.
int | ppl_Congruence_System_insert_Congruence (ppl_Congruence_System_t cs, ppl_const_Congruence_t c)
| Inserts a copy of the congruence `c` into `cs`; the space dimension is increased, if necessary.
Input/Output Functions
int | ppl_io_print_Congruence_System (ppl_const_Congruence_System_t x)
| Prints `x` to `stdout`.
int | ppl_io_fprint_Congruence_System (FILE *stream, ppl_const_Congruence_System_t x)
| Prints `x` to the given output `stream`.
int | ppl_io_asprint_Congruence_System (char **strp, ppl_const_Congruence_System_t x)
| Prints `x` to a malloc-allocated string, a pointer to which is returned via `strp`.
int | ppl_Congruence_System_ascii_dump (ppl_const_Congruence_System_t x, FILE *stream)
| Dumps an ascii representation of `x` on `stream`.
int | ppl_Congruence_System_ascii_load (ppl_Congruence_System_t x, FILE *stream)
| Loads an ascii representation of `x` from `stream`.

## Detailed Description

Types and functions for congruence systems.

The types and functions for congruence systems provide an interface towards Congruence_System.

The documentation for this interface was generated from the following file:

- ppl_c_header.h