# ppl_Congruence_tag Interface Reference

Types and functions for congruences. 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 (ppl_Congruence_t *pc, ppl_const_Linear_Expression_t le, ppl_const_Coefficient_t m)
| Creates the new congruence and writes a handle for it at address `pc`. The space dimension of the new congruence is equal to the space dimension of `le`.
int | ppl_new_Congruence_zero_dim_false (ppl_Congruence_t *pc)
| Creates the unsatisfiable (zero-dimension space) congruence and writes a handle for it at address `pc`.
int | ppl_new_Congruence_zero_dim_integrality (ppl_Congruence_t *pc)
| Creates the true (zero-dimension space) congruence , also known as integrality congruence. A handle for the newly created congruence is written at address `pc`.
int | ppl_new_Congruence_from_Congruence (ppl_Congruence_t *pc, ppl_const_Congruence_t c)
| Builds a congruence that is a copy of `c`; writes a handle for the newly created congruence at address `pc`.
int | ppl_assign_Congruence_from_Congruence (ppl_Congruence_t dst, ppl_const_Congruence_t src)
| Assigns a copy of the congruence `src` to `dst`.
int | ppl_delete_Congruence (ppl_const_Congruence_t c)
| Invalidates the handle `c:` this makes sure the corresponding resources will eventually be released.
Functions that Do Not Modify the Congruence
int | ppl_Congruence_space_dimension (ppl_const_Congruence_t c, ppl_dimension_type *m)
| Writes to `m` the space dimension of `c`.
int | ppl_Congruence_coefficient (ppl_const_Congruence_t c, ppl_dimension_type var, ppl_Coefficient_t n)
| Copies into `n` the coefficient of variable `var` in congruence `c`.
int | ppl_Congruence_inhomogeneous_term (ppl_const_Congruence_t c, ppl_Coefficient_t n)
| Copies into `n` the inhomogeneous term of congruence `c`.
int | ppl_Congruence_modulus (ppl_const_Congruence_t c, ppl_Coefficient_t m)
| Copies into `m` the modulus of congruence `c`.
int | ppl_Congruence_OK (ppl_const_Congruence_t c)
| Returns a positive integer if `c` is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if `c` is broken. Useful for debugging purposes.
Input/Output Functions
int | ppl_io_print_Congruence (ppl_const_Congruence_t x)
| Prints `x` to `stdout`.
int | ppl_io_fprint_Congruence (FILE *stream, ppl_const_Congruence_t x)
| Prints `x` to the given output `stream`.
int | ppl_io_asprint_Congruence (char **strp, ppl_const_Congruence_t x)
| Prints `x` to a malloc-allocated string, a pointer to which is returned via `strp`.
int | ppl_Congruence_ascii_dump (ppl_const_Congruence_t x, FILE *stream)
| Dumps an ascii representation of `x` on `stream`.
int | ppl_Congruence_ascii_load (ppl_Congruence_t x, FILE *stream)
| Loads an ascii representation of `x` from `stream`.

## Detailed Description

Types and functions for congruences.

The types and functions for congruences provide an interface towards Congruence.

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

- ppl_c_header.h