| 
| template<typename T >  | 
| T  | cos (T)=delete | 
|   | 
| template<typename T >  | 
| T  | sin (T)=delete | 
|   | 
| template<typename T >  | 
| T  | sqrt (T)=delete | 
|   | 
| void *  | aligned_alloc (size_t align, size_t size) | 
|   | 
| void  | aligned_dealloc (void *ptr) | 
|   | 
| template<typename T >  | 
| void  | PM (T &a, T &b, T c, T d) | 
|   | 
| template<typename T >  | 
| void  | PMINPLACE (T &a, T &b) | 
|   | 
| template<typename T >  | 
| void  | MPINPLACE (T &a, T &b) | 
|   | 
| template<typename T >  | 
| cmplx< T >  | conj (const cmplx< T > &a) | 
|   | 
| template<bool fwd, typename T , typename T2 >  | 
| void  | special_mul (const cmplx< T > &v1, const cmplx< T2 > &v2, cmplx< T > &res) | 
|   | 
| template<typename T >  | 
| void  | ROT90 (cmplx< T > &a) | 
|   | 
| template<bool fwd, typename T >  | 
| void  | ROTX90 (cmplx< T > &a) | 
|   | 
| template<typename T >  | 
| std::shared_ptr< T >  | get_plan (size_t length) | 
|   | 
| template<typename T >  | 
| arr< char >  | alloc_tmp (const shape_t &shape, size_t axsize, size_t elemsize) | 
|   | 
| template<typename T >  | 
| arr< char >  | alloc_tmp (const shape_t &shape, const shape_t &axes, size_t elemsize) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_input (const multi_iter< vlen > &it, const cndarr< cmplx< T > > &src, cmplx< vtype_t< T > > *dst) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_input (const multi_iter< vlen > &it, const cndarr< T > &src, vtype_t< T > *dst) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_input (const multi_iter< vlen > &it, const cndarr< T > &src, T *dst) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_output (const multi_iter< vlen > &it, const cmplx< vtype_t< T > > *src, ndarr< cmplx< T > > &dst) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_output (const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_output (const multi_iter< vlen > &it, const T *src, ndarr< T > &dst) | 
|   | 
| template<typename Tplan , typename T , typename T0 , typename Exec >  | 
| void  | general_nd (const cndarr< T > &in, ndarr< T > &out, const shape_t &axes, T0 fct, size_t nthreads, const Exec &exec, const bool allow_inplace=true) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_hartley (const multi_iter< vlen > &it, const vtype_t< T > *src, ndarr< T > &dst) | 
|   | 
| template<typename T , size_t vlen>  | 
| void  | copy_hartley (const multi_iter< vlen > &it, const T *src, ndarr< T > &dst) | 
|   | 
| template<typename T >  | 
| void  | general_r2c (const cndarr< T > &in, ndarr< cmplx< T > > &out, size_t axis, bool forward, T fct, size_t nthreads) | 
|   | 
| template<typename T >  | 
| void  | general_c2r (const cndarr< cmplx< T > > &in, ndarr< T > &out, size_t axis, bool forward, T fct, size_t nthreads) | 
|   | 
| template<typename T >  | 
| void  | c2c (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const std::complex< T > *data_in, std::complex< T > *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | dct (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, int type, const T *data_in, T *data_out, T fct, bool ortho, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | dst (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, int type, const T *data_in, T *data_out, T fct, bool ortho, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | r2c (const shape_t &shape_in, const stride_t &stride_in, const stride_t &stride_out, size_t axis, bool forward, const T *data_in, std::complex< T > *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | r2c (const shape_t &shape_in, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const T *data_in, std::complex< T > *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | c2r (const shape_t &shape_out, const stride_t &stride_in, const stride_t &stride_out, size_t axis, bool forward, const std::complex< T > *data_in, T *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | c2r (const shape_t &shape_out, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool forward, const std::complex< T > *data_in, T *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | r2r_fftpack (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, bool real2hermitian, bool forward, const T *data_in, T *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | r2r_separable_hartley (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, size_t nthreads=1) | 
|   | 
| template<typename T >  | 
| void  | r2r_genuine_hartley (const shape_t &shape, const stride_t &stride_in, const stride_t &stride_out, const shape_t &axes, const T *data_in, T *data_out, T fct, size_t nthreads=1) | 
|   |