barvinok is a library for counting the number of integer points
in parametric and non-parametric polytopes.
For parametric polytopes an explicit function
in the shape of a piece-wise step-polynomial is constructed.
This is a generalization of both Ehrhart quasi-polynomials
and vector partition functions.
Alternatively, a generalized Ehrhart series can be constructed as well.

It uses Barvinok's decomposition
which has also been (previously) implemented in
LattE.

From release 0.22 until release 0.30, the barvinok distribution included
the bernstein
library for computing bounds on polynomials over parametric polytopes.
This functionality has now been taken over by the
isl library.

Since release 0.25, the library can also compute the sum
of a polynomial over the integer points in a parametric polygon
using local Euler-Maclaurin formulae.
The original implementation of this algorithm in Maple
can be found
here.

Since release 0.30, the barvinok distribution includes
the isl library.