Files
dsp/tests/test_buffer_multi.cpp
T
jens 681290c9ae - refactored
- BufferMulti numChannels is template parameter
2025-11-09 13:20:16 +01:00

199 lines
3.8 KiB
C++

#include "test_common.hpp"
#include <delay/buffer_multi.hpp>
#include <delay/buffer.hpp>
#include <cstdio>
#include <iostream>
#include <ostream>
int test_buffer_multi_1()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_multi_1()" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::BufferMulti<int, 5>buffer(10);
printf("Buffer capacity = %zu\n", buffer.capacity());
for (int i=0; i < 10; i++)
{
for (int c=0; c < 5; c++)
{
buffer[c][0] = i+100;
}
buffer += 1;
}
for (int c=0; c < 5; c++)
{
buffer[c].reset();
}
for (int i=0; i < 10; i++)
{
for (int c=0; c < 5; c++)
{
int v = buffer[c][i];
printf("c=%d: i=%d: v=%d\n", c, i, v);
}
}
return 0;
}
int test_buffer_multi_2()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_multi_2()" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::BufferMulti<int, 5>buffer(3);
printf("Buffer capacity = %zu\n", buffer.capacity());
for (int i=0; i < 10; i++)
{
for (int c=0; c < 5; c++)
{
buffer[c][0] = i+100;
int v = buffer[c][-2];
printf("c=%d: i=%d: v=%d\n", c, i, v);
}
buffer += 1;
}
#if 0
buffer.reset();
for (int i=0; i < 10; i++)
{
for (int c=0; c < 5; c++)
{
int v = buffer.at(c, i);
printf("c=%d: i=%d: v=%d\n", c, i, v);
}
}
#endif
return 0;
}
int test_buffer_multi_3()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_multi_3()" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::BufferMulti<int, 5>buffer(10);
printf("Buffer capacity = %zu\n", buffer.capacity());
for (int i=0; i < 20; i++)
{
for (int c=0; c < 5; c++)
{
buffer[c][0] = i+100;
int v = buffer[c][-c];
printf("c=%d: i=%d: v=%d\n", c, i, v);
}
}
return 0;
}
int test_buffer_multi_4()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_multi_4()" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::BufferMulti<int, 5>buffer(10);
printf("Buffer capacity = %zu\n", buffer.capacity());
dsp::Buffer<int> *mbv[6];
for (int c=0; c <= 5; c++)
{
mbv[c] = new dsp::Buffer<int>(buffer[c], -c);
}
for (int i=0; i < 10; i++)
{
for (int c=0; c < 5; c++)
{
buffer[c][0] = i+100;
}
buffer += 1;
}
buffer.reset();
for (int c=0; c < 5; c++)
{
print(*mbv[c], 10);
}
return 0;
}
int test_buffer_multi_5()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_multi_5()" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::BufferMulti<int, 5>buffer(10);
printf("Buffer capacity = %zu\n", buffer.capacity());
for (int i=0; i < 10; i++)
{
buffer = i+100;
buffer += 1;
}
buffer.reset();
for (int i=0; i < 10; i++)
{
int qbuf[5];
buffer.quer(qbuf, i);
print(qbuf, 5);
}
return 0;
}
int test_buffer_multi_6()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_multi_6()" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::BufferMulti<int, 5>buffer(10);
printf("Buffer capacity = %zu\n", buffer.capacity());
for (int i=0; i < 10; i++)
{
buffer = i+100;
buffer += 1;
}
buffer.reset();
int qbuf[5];
int delays[] = {-2, -1, -4, -5, 0};
for (int i=0; i < 10; i++)
{
buffer.quer(qbuf, delays);
print(qbuf, 5);
buffer += 1;
}
return 0;
}
int test_buffer_multi()
{
test_buffer_multi_1();
test_buffer_multi_2();
test_buffer_multi_3();
test_buffer_multi_4();
test_buffer_multi_5();
test_buffer_multi_6();
return 0;
}