aboutsummaryrefslogtreecommitdiffstats
path: root/Transceiver52M/common
diff options
context:
space:
mode:
Diffstat (limited to 'Transceiver52M/common')
-rw-r--r--Transceiver52M/common/convert.h7
-rw-r--r--Transceiver52M/common/convert_base.c34
2 files changed, 41 insertions, 0 deletions
diff --git a/Transceiver52M/common/convert.h b/Transceiver52M/common/convert.h
index 1d3a180..73402b0 100644
--- a/Transceiver52M/common/convert.h
+++ b/Transceiver52M/common/convert.h
@@ -2,7 +2,14 @@
#define _CONVERT_H_
void convert_float_short(short *out, const float *in, float scale, int len);
+
void convert_short_float(float *out, const short *in, int len);
+
+void base_convert_float_short(short *out, const float *in,
+ float scale, int len);
+
+void base_convert_short_float(float *out, const short *in, int len);
+
void convert_init(void);
#endif /* _CONVERT_H_ */
diff --git a/Transceiver52M/common/convert_base.c b/Transceiver52M/common/convert_base.c
new file mode 100644
index 0000000..5251fb8
--- /dev/null
+++ b/Transceiver52M/common/convert_base.c
@@ -0,0 +1,34 @@
+/*
+ * Conversion
+ * Copyright (C) 2012, 2013 Thomas Tsou <tom@tsou.cc>
+ *
+ * This library 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 2.1 of the License, or (at your option) any later version.
+ *
+ * This library 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 library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+#include "convert.h"
+
+void base_convert_float_short(short *out, const float *in,
+ float scale, int len)
+{
+ for (int i = 0; i < len; i++)
+ out[i] = in[i] * scale;
+}
+
+void base_convert_short_float(float *out, const short *in, int len)
+{
+ for (int i = 0; i < len; i++)
+ out[i] = in[i];
+}
+