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

113 lines
2.4 KiB
C++

#include "test_common.hpp"
#include <delay/buffer.hpp>
#include <cstdio>
#include <iostream>
int test_buffer_1()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_1" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::Buffer<int> buffer(10);
for (int i=0; i < buffer.capacity(); i++)
{
buffer[i] = i+100;
}
buffer += 5;
{
dsp::Buffer<int> t_buf{105, 106, 107, 108, 109};
check(buffer, t_buf, t_buf.capacity());
}
dsp::Buffer<int> res_buf(5);
for (int i=0; i < res_buf.capacity(); i++)
{
int v = buffer[i-5];
res_buf[i] = v;
}
{
dsp::Buffer<int> t_buf{100, 101, 102, 103, 104};
check(res_buf, t_buf);
}
buffer.reset();
{
dsp::Buffer<int> t_buf{100, 101, 102, 103, 104, 105, 106, 107, 108, 109};
check(dsp::Buffer<int>(buffer, 0), t_buf);
}
{
dsp::Buffer<int> t_buf{0, 0, 0, 0, 0, 100, 101, 102, 103, 104};
check(dsp::Buffer<int>(buffer, -5), t_buf);
}
return 0;
}
int test_buffer_2()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_2" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::Buffer<int> buffer(10);
for (int i=0; i < buffer.capacity(); i++)
{
buffer[i] = i+100;
}
{
dsp::Buffer<int> t_buf{0, 100, 101, 102, 103, 104, 105, 106, 107, 108};
check(dsp::Buffer<int>(buffer, -1), t_buf);
}
{
dsp::Buffer<int> t_buf{0, 0, 0, 0, 0, 100, 101, 102, 103, 104};
check(dsp::Buffer<int>(buffer, -5), t_buf);
}
return 0;
}
int test_buffer_3()
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "Start test_buffer_3" << std::endl;
std::cout << "----------------------------------------------" << std::endl;
dsp::Buffer<int> buffer(50);
for (int i=0; i < buffer.capacity(); i++)
{
buffer[i] = i+100;
}
buffer.reset();
uint incr = 5;
for (int offset=0; offset < 5; offset++)
{
std::cout << "----------------------------------------------" << std::endl;
std::cout << "offset = " << offset << std::endl;
std::cout << "----------------------------------------------" << std::endl;
auto v1 = dsp::Buffer<int>(buffer, offset, incr);
for(int i=0; i < v1.capacity(); i++)
{
std::cout << v1[i] << std::endl;
}
}
return 0;
}
int test_buffer()
{
test_buffer_1();
test_buffer_2();
test_buffer_3();
return 0;
}