utility

View page source

Some General Purpose Utilities

These routines can be included individually; for example,

# include <cppad/utility/vector.hpp>

only includes the definitions necessary for the CppAD::vector class. They can also be included as a group, separate from the rest of CppAD, using

# include <cppad/utility.hpp>

They will also be included, along with the rest of CppAD, using

# include <cppad/cppad.hpp>

Testing

The routines listed below support numerical correctness and speed testing:

C++ Concepts

We refer to a the set of classes that satisfy certain conditions as a C++ concept. The following concepts are used by the CppAD Template library:

General Numerical Routines

The routines listed below are general purpose numerical routines written with the floating point type a C++ template parameter. This enables them to be used with algorithmic differentiation types, as well as for other purposes.

Miscellaneous

Error Handler

All of the routines in the CppAD namespace use the following general purpose error handler:

The CppAD Vector Template Class

This is a simple implementation of a template vector class (that is easy to view in a C++ debugger):

Multi-Threading Memory Allocation

Sorting Indices

to_string

set_union

Sparse Matrices

Dynamic Libraries