# ppl_Linear_Expression_tag Interface Reference

Types and functions for linear expressions. 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_Linear_Expression (ppl_Linear_Expression_t *ple)
| Creates a new linear expression corresponding to the constant 0 in a zero-dimensional space; writes a handle for the new linear expression at address `ple`.
int | ppl_new_Linear_Expression_with_dimension (ppl_Linear_Expression_t *ple, ppl_dimension_type d)
| Creates a new linear expression corresponding to the constant 0 in a `d`-dimensional space; writes a handle for the new linear expression at address `ple`.
int | ppl_new_Linear_Expression_from_Linear_Expression (ppl_Linear_Expression_t *ple, ppl_const_Linear_Expression_t le)
| Builds a linear expression that is a copy of `le`; writes a handle for the newly created linear expression at address `ple`.
int | ppl_new_Linear_Expression_from_Constraint (ppl_Linear_Expression_t *ple, ppl_const_Constraint_t c)
| Builds a linear expression corresponding to constraint `c`; writes a handle for the newly created linear expression at address `ple`.
int | ppl_new_Linear_Expression_from_Generator (ppl_Linear_Expression_t *ple, ppl_const_Generator_t g)
| Builds a linear expression corresponding to generator `g`; writes a handle for the newly created linear expression at address `ple`.
int | ppl_new_Linear_Expression_from_Congruence (ppl_Linear_Expression_t *ple, ppl_const_Congruence_t c)
| Builds a linear expression corresponding to congruence `c`; writes a handle for the newly created linear expression at address `ple`.
int | ppl_new_Linear_Expression_from_Grid_Generator (ppl_Linear_Expression_t *ple, ppl_const_Grid_Generator_t g)
| Builds a linear expression corresponding to grid generator `g`; writes a handle for the newly created linear expression at address `ple`.
int | ppl_assign_Linear_Expression_from_Linear_Expression (ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src)
| Assigns a copy of the linear expression `src` to `dst`.
int | ppl_delete_Linear_Expression (ppl_const_Linear_Expression_t le)
| Invalidates the handle `le:` this makes sure the corresponding resources will eventually be released.
Functions that Do Not Modify the Linear Expression
int | ppl_Linear_Expression_space_dimension (ppl_const_Linear_Expression_t le, ppl_dimension_type *m)
| Writes to `m` the space dimension of `le`.
int | ppl_Linear_Expression_coefficient (ppl_const_Linear_Expression_t le, ppl_dimension_type var, ppl_Coefficient_t n)
| Copies into `n` the coefficient of variable `var` in the linear expression `le`.
int | ppl_Linear_Expression_inhomogeneous_term (ppl_const_Linear_Expression_t le, ppl_Coefficient_t n)
| Copies into `n` the inhomogeneous term of linear expression `le`.
int | ppl_Linear_Expression_OK (ppl_const_Linear_Expression_t le)
| Returns a positive integer if `le` is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if `le` is broken. Useful for debugging purposes.
int | ppl_Linear_Expression_is_zero (ppl_const_Linear_Expression_t le)
| Returns `true` if and only if `*this` is .
int | ppl_Linear_Expression_all_homogeneous_terms_are_zero (ppl_const_Linear_Expression_t le)
| Returns `true` if and only if all the homogeneous terms of `*this` are .
Functions that May Modify the Linear Expression
int | ppl_Linear_Expression_add_to_coefficient (ppl_Linear_Expression_t le, ppl_dimension_type var, ppl_const_Coefficient_t n)
| Adds `n` to the coefficient of variable `var` in the linear expression `le`. The space dimension is set to be the maximum between `var` + 1 and the old space dimension.
int | ppl_Linear_Expression_add_to_inhomogeneous (ppl_Linear_Expression_t le, ppl_const_Coefficient_t n)
| Adds `n` to the inhomogeneous term of the linear expression `le`.
int | ppl_add_Linear_Expression_to_Linear_Expression (ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src)
| Adds the linear expression `src` to `dst`.
int | ppl_subtract_Linear_Expression_from_Linear_Expression (ppl_Linear_Expression_t dst, ppl_const_Linear_Expression_t src)
| Subtracts the linear expression `src` from `dst`.
int | ppl_multiply_Linear_Expression_by_Coefficient (ppl_Linear_Expression_t le, ppl_const_Coefficient_t n)
| Multiply the linear expression `dst` by `n`.
Input/Output Functions
int | ppl_io_print_Linear_Expression (ppl_const_Linear_Expression_t x)
| Prints `x` to `stdout`.
int | ppl_io_fprint_Linear_Expression (FILE *stream, ppl_const_Linear_Expression_t x)
| Prints `x` to the given output `stream`.
int | ppl_io_asprint_Linear_Expression (char **strp, ppl_const_Linear_Expression_t x)
| Prints `x` to a malloc-allocated string, a pointer to which is returned via `strp`.
int | ppl_Linear_Expression_ascii_dump (ppl_const_Linear_Expression_t x, FILE *stream)
| Dumps an ascii representation of `x` on `stream`.
int | ppl_Linear_Expression_ascii_load (ppl_Linear_Expression_t x, FILE *stream)
| Loads an ascii representation of `x` from `stream`.

## Detailed Description

Types and functions for linear expressions.

The types and functions for linear expression provide an interface towards Linear_Expression.

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

- ppl_c_header.h