These are general functions concerning memory handling (see Memory Handling, for more information).
void
mpfr_free_cache (void)
¶Free all caches and pools used by MPFR internally (those local to the
current thread and those shared by all threads).
You should call this function before terminating a thread, even if you did
not call mpfr_const_*
functions directly (they could have been called
internally).
void
mpfr_free_cache2 (mpfr_free_cache_t way)
¶Free various caches and pools used by MPFR internally, as specified by way, which is a set of flags:
MPFR_FREE_LOCAL_CACHE
is set;
MPFR_FREE_GLOBAL_CACHE
is set.
The other bits of way are currently ignored and are reserved for future use; they should be zero.
Note: mpfr_free_cache2 (MPFR_FREE_LOCAL_CACHE | MPFR_FREE_GLOBAL_CACHE)
is currently equivalent to mpfr_free_cache()
.
void
mpfr_free_pool (void)
¶Free the pools used by MPFR internally.
Note: This function is automatically called after the thread-local caches
are freed (with mpfr_free_cache
or mpfr_free_cache2
).
int
mpfr_mp_memory_cleanup (void)
¶This function should be called before calling mp_set_memory_functions
.
See Memory Handling, for more information.
Zero is returned in case of success, non-zero in case of error.
Errors are currently not possible, but checking the return value
is recommended for future compatibility.