1 #if !defined  HAVE_DCTDST_H__
2 #define       HAVE_DCTDST_H__
3 // This file is part of the FXT library.
4 // Copyright (C) 2010, 2018 Joerg Arndt
5 // License: GNU General Public License version 3 or later,
6 // see the file COPYING.txt in the main directory.
7 
8 
9 #include "fxttypes.h"
10 
11 //: cosine and sine transforms
12 
13 // dctdst/cosrot.cc:
14 void cos_rot(const double *x, double *y, ulong n);  // aux
15 
16 
17 // dctdst/dct.cc:
18 //void dct(double *x, ulong ldn, double *y=nullptr);
19 //void dct_basis(double *f, ulong n, ulong k);
20 
21 // dctdst/dcth.cc:
22 void dcth(double *x, ulong ldn, double *y=nullptr);
23 void idcth(double *x, ulong ldn, double *y=nullptr);
24 void dcth_basis(double *f, ulong n, ulong k);
25 
26 // dctdst/dctzapata.cc:
27 void dcth_zapata(double *x, ulong ldn, double *y=nullptr);
28 
29 // dctdst/dct4.cc:
30 void dct4(double *f, ulong n);
31 void idct4(double *f, ulong n);
32 void dct4_basis(double *f, ulong n, ulong k);
33 
34 
35 // dctdst/dst.cc:
36 void dst(double *x, ulong ldn, double *y=nullptr);
37 void dst_basis(double *f, ulong n, ulong k);
38 
39 // dctdst/dsth.cc:
40 void dsth(double *x, ulong ldn, double *y=nullptr);
41 void idsth(double *x, ulong ldn, double *y=nullptr);
42 void dsth_basis(double *f, ulong n, ulong k);
43 
44 
45 #endif  // !defined HAVE_DCTDST_H__
46