aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/mdct/mdct_ut.cpp
diff options
context:
space:
mode:
authorDaniil Cherednik <dan.cherednik@gmail.com>2024-12-22 13:39:37 +0100
committerDaniil Cherednik <dan.cherednik@gmail.com>2024-12-22 14:44:27 +0100
commiteb33c262156f4feb67c523908add841077574021 (patch)
tree2f1765702fc2021274ace815e471113b29d79dd0 /src/lib/mdct/mdct_ut.cpp
parente2605699b7c79a8cb5d06b0069f32c3b01d4ded4 (diff)
parent74d6e04c21bddd435bd74c34dbe027b883772a76 (diff)
downloadatracdenc-eb33c262156f4feb67c523908add841077574021.tar.gz
Merge branch 'master' into new_psy
Diffstat (limited to 'src/lib/mdct/mdct_ut.cpp')
-rw-r--r--src/lib/mdct/mdct_ut.cpp80
1 files changed, 40 insertions, 40 deletions
diff --git a/src/lib/mdct/mdct_ut.cpp b/src/lib/mdct/mdct_ut.cpp
index 6f49b59..d997b08 100644
--- a/src/lib/mdct/mdct_ut.cpp
+++ b/src/lib/mdct/mdct_ut.cpp
@@ -26,24 +26,24 @@
using std::vector;
using namespace NMDCT;
-static vector<TFloat> mdct(TFloat* x, int N) {
- vector<TFloat> res;
+static vector<float> mdct(float* x, int N) {
+ vector<float> res;
for (int k = 0; k < N; k++) {
- TFloat sum = 0;
+ float sum = 0;
for (int n = 0; n < 2 * N; n++)
- sum += x[n]* cos((M_PI/N) * ((TFloat)n + 0.5 + N/2) * ((TFloat)k + 0.5));
+ sum += x[n]* cos((M_PI/N) * ((float)n + 0.5 + N/2) * ((float)k + 0.5));
res.push_back(sum);
}
return res;
}
-static vector<TFloat> midct(TFloat* x, int N) {
- vector<TFloat> res;
+static vector<float> midct(float* x, int N) {
+ vector<float> res;
for (int n = 0; n < 2 * N; n++) {
- TFloat sum = 0;
+ float sum = 0;
for (int k = 0; k < N; k++)
- sum += (x[k] * cos((M_PI/N) * ((TFloat)n + 0.5 + N/2) * ((TFloat)k + 0.5)));
+ sum += (x[k] * cos((M_PI/N) * ((float)n + 0.5 + N/2) * ((float)k + 0.5)));
res.push_back(sum);
}
@@ -53,12 +53,12 @@ static vector<TFloat> midct(TFloat* x, int N) {
TEST(TMdctTest, MDCT32) {
const int N = 32;
TMDCT<N> transform(N);
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = mdct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = mdct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N);
for (int i = 0; i < res1.size(); i++) {
@@ -69,12 +69,12 @@ TEST(TMdctTest, MDCT32) {
TEST(TMdctTest, MDCT64) {
const int N = 64;
TMDCT<N> transform(N);
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = mdct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = mdct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N);
for (int i = 0; i < res1.size(); i++) {
@@ -85,12 +85,12 @@ TEST(TMdctTest, MDCT64) {
TEST(TMdctTest, MDCT128) {
const int N = 128;
TMDCT<N> transform(N);
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = mdct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = mdct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N * 4);
for (int i = 0; i < res1.size(); i++) {
@@ -101,12 +101,12 @@ TEST(TMdctTest, MDCT128) {
TEST(TMdctTest, MDCT256) {
const int N = 256;
TMDCT<N> transform(N);
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = mdct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = mdct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N * 4);
for (int i = 0; i < res1.size(); i++) {
@@ -117,14 +117,14 @@ TEST(TMdctTest, MDCT256) {
TEST(TMdctTest, MDCT256_RAND) {
const int N = 256;
TMDCT<N> transform(N);
- vector<TFloat> src(N);
- TFloat m = 0.0;
+ vector<float> src(N);
+ float m = 0.0;
for (int i = 0; i < N; i++) {
src[i] = rand();
m = std::max(m, src[i]);
}
- const vector<TFloat> res1 = mdct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = mdct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(m * 8);
for (int i = 0; i < res1.size(); i++) {
@@ -135,12 +135,12 @@ TEST(TMdctTest, MDCT256_RAND) {
TEST(TMdctTest, MIDCT32) {
const int N = 32;
TMIDCT<N> transform;
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N/2; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = midct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = midct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N);
for (int i = 0; i < N; i++) {
@@ -151,12 +151,12 @@ TEST(TMdctTest, MIDCT32) {
TEST(TMdctTest, MIDCT64) {
const int N = 64;
TMIDCT<N> transform;
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N/2; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = midct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = midct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N);
for (int i = 0; i < N; i++) {
@@ -167,12 +167,12 @@ TEST(TMdctTest, MIDCT64) {
TEST(TMdctTest, MIDCT128) {
const int N = 128;
TMIDCT<N> transform(N);
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N/2; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = midct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = midct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N);
for (int i = 0; i < N; i++) {
@@ -183,12 +183,12 @@ TEST(TMdctTest, MIDCT128) {
TEST(TMdctTest, MIDCT256) {
const int N = 256;
TMIDCT<N> transform(N);
- vector<TFloat> src(N);
+ vector<float> src(N);
for (int i = 0; i < N/2; i++) {
src[i] = i;
}
- const vector<TFloat> res1 = midct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = midct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(N * 2);
for (int i = 0; i < N; i++) {
@@ -199,14 +199,14 @@ TEST(TMdctTest, MIDCT256) {
TEST(TMdctTest, MIDCT256_RAND) {
const int N = 256;
TMIDCT<N> transform(N);
- vector<TFloat> src(N);
- TFloat m = 0.0;
+ vector<float> src(N);
+ float m = 0.0;
for (int i = 0; i < N/2; i++) {
src[i] = rand();
m = std::max(m, src[i]);
}
- const vector<TFloat> res1 = midct(&src[0], N/2);
- const vector<TFloat> res2 = transform(&src[0]);
+ const vector<float> res1 = midct(&src[0], N/2);
+ const vector<float> res2 = transform(&src[0]);
EXPECT_EQ(res1.size(), res2.size());
auto eps = CalcEps(m * 4);
for (int i = 0; i < N; i++) {