CppAD: A C++ Algorithmic Differentiation Package  20130918
Value:
static bool assert_first_call = true;                              \
     if( assert_first_call )                                            \
     {    CPPAD_ASSERT_KNOWN(                                           \
          ! (CppAD::thread_alloc::in_parallel() ),                      \
          "In parallel mode and parallel_setup has not been called."    \
          );                                                            \
          assert_first_call = false;                                    \
     }

Check that the first call to a routine is not during parallel execution mode.

If NDEBUG is defined, this macro has no effect (not even the definition of (assert_first_call). Otherwise, the variable

     static bool assert_first_call

is defined and if the first call is executed in parallel mode, execution is terminated and the source code line number is reported.

Definition at line 189 of file cppad_assert.hpp.

Referenced by CppAD::thread_alloc::capacity_info(), CppAD::CheckSimpleVector(), CppAD::atomic_base< Base >::class_name(), CppAD::atomic_base< Base >::class_object(), CppAD::thread_alloc::get_memory(), CppAD::discrete< Base >::List(), CppAD::NumArg(), CppAD::NumRes(), CppAD::one_element_std_set(), CppAD::Rosen34(), CppAD::Runge45(), CppAD::AD< Base >::tape_handle(), CppAD::AD< Base >::tape_id_handle(), CppAD::AD< Base >::tape_manage(), CppAD::thread_alloc::thread_info(), and CppAD::two_element_std_set().

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines