# DefiniteIntegrationTools(R, F)¶

- R: Join(GcdDomain, Comparable, RetractableTo Integer, LinearlyExplicitOver Integer)
- F: Join(TranscendentalFunctionCategory, AlgebraicallyClosedField, FunctionSpace R)

DefiniteIntegrationTools provides common tools used by the definite integration of both rational and elementary functions.

- checkForZero: (Polynomial R, Symbol, OrderedCompletion F, OrderedCompletion F, Boolean) -> Union(Boolean, failed)
`checkForZero(p, x, a, b, incl?)`

is`true`

if`p`

has a zero for`x`

between a and`b`

,`false`

otherwise, “failed” if this cannot be determined. Check for a and`b`

inclusive if incl? is`true`

, exclusive otherwise.

- checkForZero: (SparseUnivariatePolynomial F, OrderedCompletion F, OrderedCompletion F, Boolean) -> Union(Boolean, failed)
`checkForZero(p, a, b, incl?)`

is`true`

if`p`

has a zero between a and`b`

,`false`

otherwise, “failed” if this cannot be determined. Check for a and`b`

inclusive if incl? is`true`

, exclusive otherwise.

- computeInt: (Kernel F, F, OrderedCompletion F, OrderedCompletion F, Boolean) -> Union(OrderedCompletion F, failed)
`computeInt(x, g, a, b, eval?)`

returns the integral of`f`

for`x`

between a and`b`

, assuming that`g`

is an indefinite integral of`f`

and`f`

has no pole between a and`b`

. If`eval?`

is`true`

, then`g`

can be evaluated safely at`a`

and`b`

, provided that they are finite values. Otherwise, limits must be computed.