\(\newcommand{\W}[1]{ \; #1 \; }\) \(\newcommand{\R}[1]{ {\rm #1} }\) \(\newcommand{\B}[1]{ {\bf #1} }\) \(\newcommand{\D}[2]{ \frac{\partial #1}{\partial #2} }\) \(\newcommand{\DD}[3]{ \frac{\partial^2 #1}{\partial #2 \partial #3} }\) \(\newcommand{\Dpow}[2]{ \frac{\partial^{#1}}{\partial {#2}^{#1}} }\) \(\newcommand{\dpow}[2]{ \frac{ {\rm d}^{#1}}{{\rm d}\, {#2}^{#1}} }\)
utility¶
View page sourceSome 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:
NearEqual |
|
time_test |
|
speed_test |
|
SpeedTest |
|
test_boolofvoid |
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:
NumericType |
|
CheckNumericType |
|
SimpleVector |
|
CheckSimpleVector |
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.
nan |
|
pow_int |
|
Poly |
|
lu_det_and_solve |
Compute Determinants and Solve Equations by LU Factorization |
RombergOne |
|
RombergMul |
|
Runge45 |
|
Rosen34 |
|
OdeErrControl |
|
OdeGear |
|
OdeGearControl |
Miscellaneous¶
Error Handler¶
All of the routines in the CppAD namespace use the following general purpose error handler:
ErrorHandler |
The CppAD Vector Template Class¶
This is a simple implementation of a template vector class (that is easy to view in a C++ debugger):
CppAD_vector |
Multi-Threading Memory Allocation¶
thread_alloc |
Sorting Indices¶
index_sort |
to_string¶
to_string |
set_union¶
set_union |
Sparse Matrices¶
sparse_rc |
|
sparse_rcv |
|
sparse2eigen |
Dynamic Libraries¶
create_dll_lib |
|
link_dll_lib |