# ppl_Generator_tag Interface Reference

Types and functions for generators. 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_Generator (ppl_Generator_t *pg, ppl_const_Linear_Expression_t le, enum ppl_enum_Generator_Type t, ppl_const_Coefficient_t d)
| Creates a new generator of direction `le` and type `t`. If the generator to be created is a point or a closure point, the divisor `d` is applied to `le`. For other types of generators `d` is simply disregarded. A handle for the new generator is written at address `pg`. The space dimension of the new generator is equal to the space dimension of `le`.
int | ppl_new_Generator_zero_dim_point (ppl_Generator_t *pg)
| Creates the point that is the origin of the zero-dimensional space . Writes a handle for the new generator at address `pg`.
int | ppl_new_Generator_zero_dim_closure_point (ppl_Generator_t *pg)
| Creates, as a closure point, the point that is the origin of the zero-dimensional space . Writes a handle for the new generator at address `pg`.
int | ppl_new_Generator_from_Generator (ppl_Generator_t *pg, ppl_const_Generator_t g)
| Builds a generator that is a copy of `g`; writes a handle for the newly created generator at address `pg`.
int | ppl_assign_Generator_from_Generator (ppl_Generator_t dst, ppl_const_Generator_t src)
| Assigns a copy of the generator `src` to `dst`.
int | ppl_delete_Generator (ppl_const_Generator_t g)
| Invalidates the handle `g:` this makes sure the corresponding resources will eventually be released.
Functions that Do Not Modify the Generator
int | ppl_Generator_space_dimension (ppl_const_Generator_t g, ppl_dimension_type *m)
| Writes to `m` the space dimension of `g`.
int | ppl_Generator_type (ppl_const_Generator_t g)
| Returns the type of generator `g`.
int | ppl_Generator_coefficient (ppl_const_Generator_t g, ppl_dimension_type var, ppl_Coefficient_t n)
| Copies into `n` the coefficient of variable `var` in generator `g`.
int | ppl_Generator_divisor (ppl_const_Generator_t g, ppl_Coefficient_t n)
| If `g` is a point or a closure point assigns its divisor to `n`.
int | ppl_Generator_OK (ppl_const_Generator_t g)
| Returns a positive integer if `g` is well formed, i.e., if it satisfies all its implementation invariants; returns 0 and perhaps makes some noise if `g` is broken. Useful for debugging purposes.
Input/Output Functions
int | ppl_io_print_Generator (ppl_const_Generator_t x)
| Prints `x` to `stdout`.
int | ppl_io_fprint_Generator (FILE *stream, ppl_const_Generator_t x)
| Prints `x` to the given output `stream`.
int | ppl_io_asprint_Generator (char **strp, ppl_const_Generator_t x)
| Prints `x` to a malloc-allocated string, a pointer to which is returned via `strp`.
int | ppl_Generator_ascii_dump (ppl_const_Generator_t x, FILE *stream)
| Dumps an ascii representation of `x` on `stream`.
int | ppl_Generator_ascii_load (ppl_Generator_t x, FILE *stream)
| Loads an ascii representation of `x` from `stream`.

## Detailed Description

Types and functions for generators.

The types and functions for generators provide an interface towards Generator.

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

- ppl_c_header.h