preprocessor

CppAD API Preprocessor Symbols

Rule

The CppAD include files defines preprocessor symbols all of which begin with CPPAD_ . Note that there are some old, deprecated preprocessor symbols that begin with CppAD . In this section we list all of the CppAD preprocessor symbols that are part of the CppAD Application Interface (API).

NOMINMAX, windows.h

There is one exception to the rule above, when using the Microsoft Visual Studio compiler and including windows.h , it is done as follows:

# ifndef NOMINMAX
# define NOMINMAX
# endif
# include <windows.h>

Documented Here

CPPAD_DEBUG_AND_RELEASE

This flag is an exception because it is defined (or not) by the user during the inclusion of the CppAD header files; e.g., when using g++ one could put -D CPPAD_DEBUG_AND_RELEASE on the complier command line. If it is defined, less error checking is done and the debug and release versions of CppAD can be mixed in the same program. Of particular note is that thread_alloc does less error checking. For programs that do a lot of memory allocation, this can be a significant time savings when NDEBUG is defined.

CPPAD_NULL

Deprecated 2020-12-03: This preprocessor symbol was used for a null pointer before c++11. Replace it by nullptr .

CPPAD_PACKAGE_STRING

Is a const char* representation of this version of CppAD.

CPPAD_USE_CPLUSPLUS_2011

Deprecated 2020-12-03: Is it OK for CppAD to use C++11 features. This is always 1 (for true).

CPPAD_USE_CPLUSPLUS_2017

Is it OK for CppAD to use C++17 features.

Documented Elsewhere

CPPAD_BOOL_BINARY

CPPAD_BOOL_UNARY

CPPAD_DISCRETE_FUNCTION

CPPAD_MAX_NUM_THREADS

CPPAD_NUMERIC_LIMITS

CPPAD_STANDARD_MATH_UNARY

cppad_tape_addr_type

cppad_tape_id_type

CPPAD_TESTVECTOR

CPPAD_TO_STRING

Deprecated

CppADCreateDiscrete

CPPAD_TRACK_NEW_VEC

CPPAD_TRACK_DEL_VEC

CPPAD_TRACK_EXTEND

CPPAD_TRACK_COUNT

CppADTrackNewVec

CppADTrackDelVec

CppADTrackExtend

CppADTrackCount

CppADCreateBinaryBool

CppADCreateUnaryBool

CPPAD_USER_ATOMIC

CPPAD_CPPADVECTOR

CPPAD_STDVECTOR

CPPAD_EIGENVECTOR

CPPAD_BOOSTVECTOR