aboutsummaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/cosine.hpp29
-rw-r--r--include/haar.hpp29
-rw-r--r--include/walsh.hpp43
-rw-r--r--include/walsh2.hpp30
4 files changed, 131 insertions, 0 deletions
diff --git a/include/cosine.hpp b/include/cosine.hpp
new file mode 100644
index 0000000..b9a4804
--- /dev/null
+++ b/include/cosine.hpp
@@ -0,0 +1,29 @@
+/*
+ cosine.hpp
+ Copyright (C) 2019 Richard Knight
+
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
+
+#ifndef COSINE_HPP
+#define COSINE_HPP
+#include <plugin.h>
+void cosine_transform_data (csnd::Vector<MYFLT> d, csnd::Vector<MYFLT> c);
+void cosine_transform_inverse (csnd::Vector<MYFLT> c, csnd::Vector<MYFLT> d);
+
+#endif /* COSINE_HPP */
+
diff --git a/include/haar.hpp b/include/haar.hpp
new file mode 100644
index 0000000..c18477d
--- /dev/null
+++ b/include/haar.hpp
@@ -0,0 +1,29 @@
+/*
+ haar.hpp
+ Copyright (C) 2019 Richard Knight
+
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
+
+#ifndef HAAR_HPP
+#define HAAR_HPP
+#include <plugin.h>
+
+void haar_1d (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+void haar_1d_inverse (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+#endif /* HAAR_HPP */
+
diff --git a/include/walsh.hpp b/include/walsh.hpp
new file mode 100644
index 0000000..b3e3d4b
--- /dev/null
+++ b/include/walsh.hpp
@@ -0,0 +1,43 @@
+/*
+ walsh.hpp
+ Copyright (C) 2019 Richard Knight
+
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
+
+#ifndef WALSH_HPP
+#define WALSH_HPP
+#include <plugin.h>
+void ffwt (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+void fwt (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+void haar (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+void haarin (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+void hnorm (csnd::Vector<MYFLT> x);
+int i4_log_2 ( int i );
+int i4_max ( int i1, int i2 );
+int i4_min ( int i1, int i2 );
+int i4_modp ( int i, int j );
+int i4_power ( int i, int j );
+int i4_wrap ( int ival, int ilo, int ihi );
+void r8vec_copy ( int n, double a1[], csnd::Vector<MYFLT> a2);
+void r8vec_copy ( int n, csnd::Vector<MYFLT> a1, double a2[]);
+double *r8vec_copy_new (csnd::Csound* csound, int n, double a1[] );
+void walsh (csnd::Csound* csound, csnd::Vector<MYFLT> x);
+
+
+#endif /* WALSH_HPP */
+
diff --git a/include/walsh2.hpp b/include/walsh2.hpp
new file mode 100644
index 0000000..e7066ed
--- /dev/null
+++ b/include/walsh2.hpp
@@ -0,0 +1,30 @@
+/*
+ walsh2.cpp
+ Copyright (C) 2019 Richard Knight
+
+
+ This program is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 3 of the License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public License
+ along with this program; if not, write to the Free Software Foundation,
+ Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+
+ */
+#ifndef WALSH2_HPP
+#define WALSH2_HPP
+
+#include <plugin.h>
+
+void fwtanal(csnd::Vector<MYFLT> io);
+void fwtsynth(csnd::Vector<MYFLT> io);
+
+#endif /* WALSH2_HPP */
+