CppAD: A C++ Algorithmic Differentiation Package
20130918
|
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().