lines 648-717 of file: include/cppad/utility/omp_alloc.hpp {xrst_begin omp_efficient app} Check If A Memory Allocation is Efficient for Another Use ######################################################### Removed ******* This function has been removed because speed tests seem to indicate it is just as fast, or faster, to free and then reallocate the memory. Syntax ****** # ``include `` *flag* = ``omp_alloc::efficient`` ( *v_ptr* , *num_bytes* ) Purpose ******* Check if memory that is currently in use is an efficient allocation for a specified number of bytes. v_ptr ***** This argument has prototype ``const void`` * *v_ptr* . It must be a pointer to memory that is currently in use; i.e. obtained by a previous call to :ref:`omp_get_memory-name` and not yet returned. num_bytes ********* This argument has prototype ``size_t`` *num_bytes* It specifies the number of bytes of the memory allocated by *v_ptr* that we want to use. flag **** The return value has prototype ``bool`` *flag* It is true, a call to ``get_memory`` with :ref:`omp_get_memory@min_bytes` equal to *num_bytes* would result in a value for :ref:`omp_get_memory@cap_bytes` that is the same as when ``v_ptr`` was returned by ``get_memory`` ; i.e., *v_ptr* is an efficient memory block for *num_bytes* bytes of information. Thread ****** Either the :ref:`current thread` must be the same as during the corresponding call to :ref:`omp_get_memory-name` , or the current execution mode must be sequential (not :ref:`parallel` ). NDEBUG ****** If ``NDEBUG`` is defined, *v_ptr* is not checked (this is faster). Otherwise, a list of in use pointers is searched to make sure that *v_ptr* is in the list. {xrst_end omp_efficient}