PPL C Language Interface  1.2
ppl_Linear_Expression_tag Interface Reference

Types and functions for linear expressions. More...

#include <ppl_c_header.h>

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 $0$.
 
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 $0$.
 
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: