# free_sph_p/free_sph_np

Cleans the memory allocated for the data structures used by the FFT interface.

## Syntax

void free_sph_p(DFTI_DESCIPTOR* handle_s, DFTI_DESCIPTOR* handle_c, int* ipar, int* stat);

void free_sph_np(DFTI_DESCIPTOR* handle, int* ipar, int* stat);

## Input Parameters

handle_s, handle_c, handle | DESCIPTOR_HANDLE*. Data structures used by the Intel MKL FFT interface (for details, refer to FFT Functions). The structures handle_s and handle_c are used only in free_sph_p, and handle is used only in free_sph_np.
ipar | int array of size 128. Contains integer data to be used by Fast Helmholtz Solver on a sphere (for details, refer to Common Parameters).

## Output Parameters

handle_s, handle_c, handle | Data structures used by the Intel MKL FFT interface. Memory allocated for the structures is released on output.
ipar | Contains integer data to be used by Fast Helmholtz Solver on a sphere. Status of the routine call is written to ipar[0].
stat | int*. Routine completion status, which is also written to ipar[0].

## Description

The routine cleans the memory used by the handle_s, handle_c or handle structures, needed for calling the Intel MKL FFT functions. To release memory allocated for other parameters, include cleaning of the memory in your code.

## Return Values

stat= 0 | The routine successfully completed the task.
stat= -1000 | The routine stopped because of the Intel MKL FFT or TT interface error.
stat= -99999 | The routine failed to complete the task because of a fatal error.

Parent topic: PL Routines for the Spherical Solver