- added mix
- redesigned multi buffer
This commit is contained in:
@@ -13,7 +13,7 @@ CXXFLAGS += -std=c++20
|
||||
|
||||
INCLUDES += -I $(realpath .) -I $(realpath ../../)
|
||||
|
||||
CXX_SRCS := test_main.cpp test_buffer.cpp test_buffer_multi.cpp
|
||||
CXX_SRCS := test_main.cpp test_buffer.cpp test_buffer_multi.cpp test_mix.cpp
|
||||
|
||||
LIBS := -lstdc++
|
||||
|
||||
|
||||
@@ -13,12 +13,12 @@ template<typename T>
|
||||
void print(const dsp::Buffer<T> &v, size_t size, std::string name=std::string(""))
|
||||
{
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
std::cout << "- " << name << std::endl;
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
std::cout << "- " << name << ", " << size << std::endl;
|
||||
for(int i=0; i < size; i++)
|
||||
{
|
||||
std::cout << v[i] << std::endl;
|
||||
std::cout << v[i] << " ";
|
||||
}
|
||||
std::cout << std::endl;
|
||||
}
|
||||
|
||||
template<typename T>
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
extern void test_buffer();
|
||||
extern void test_buffer_multi();
|
||||
extern void test_mix();
|
||||
|
||||
int main()
|
||||
{
|
||||
test_buffer();
|
||||
// test_buffer_multi();
|
||||
|
||||
test_buffer_multi();
|
||||
test_mix();
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
#include "delay/buffer_multi.hpp"
|
||||
#include "test_common.hpp"
|
||||
#include <delay/buffer.hpp>
|
||||
#include <mix.hpp>
|
||||
|
||||
#include <cstdio>
|
||||
#include <iostream>
|
||||
|
||||
|
||||
int test_mix_1()
|
||||
{
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
std::cout << "Start test_mix_1::shuffle" << std::endl;
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
|
||||
{
|
||||
dsp::Buffer<int> r_buf(5);
|
||||
dsp::Buffer<int> t_buf{105, 106, 107, 108, 109};
|
||||
t_buf = {105, 106, 107, 108, 109};
|
||||
|
||||
dsp::Buffer<int> s_spec = {1, 3, 2, 4, 0};
|
||||
Shuffle<int>::outOfPlace(t_buf, r_buf, s_spec);
|
||||
print(r_buf, 5, "r-buf");
|
||||
}
|
||||
{
|
||||
dsp::BufferMulti<int> r_buf(5, 5);
|
||||
dsp::BufferMulti<int> t_buf{5, 5};
|
||||
t_buf[0] = {105, 106, 107, 108, 109};
|
||||
t_buf[1] = {205, 206, 207, 208, 209};
|
||||
t_buf[2] = {305, 306, 307, 308, 309};
|
||||
t_buf[3] = {405, 406, 407, 408, 409};
|
||||
t_buf[4] = {505, 506, 507, 508, 509};
|
||||
print(t_buf[0], 5, "t-buf 0");
|
||||
print(t_buf[1], 5, "t-buf 1");
|
||||
|
||||
dsp::Buffer<int> s_spec = {-1, 0, -3, 2, -4};
|
||||
Shuffle<int>::outOfPlace(t_buf, r_buf, s_spec);
|
||||
print(r_buf[0], 5, "r-buf 0");
|
||||
print(r_buf[1], 5, "r-buf 1");
|
||||
print(r_buf[2], 5, "r-buf 2");
|
||||
print(r_buf[3], 5, "r-buf 3");
|
||||
print(r_buf[4], 5, "r-buf 4");
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_mix_2()
|
||||
{
|
||||
dsp::BufferMulti<int> r_buf(5, 20);
|
||||
|
||||
for (int i=0; i < r_buf.capacity(); i++)
|
||||
{
|
||||
r_buf = 100 +i ;
|
||||
++r_buf;
|
||||
}
|
||||
|
||||
r_buf.reset();
|
||||
for (int c=0; c < r_buf.numChannels(); c++)
|
||||
{
|
||||
print(r_buf[c], r_buf.capacity(), "r-buf");
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
}
|
||||
|
||||
for (int c=0; c < r_buf.numChannels(); c++)
|
||||
{
|
||||
dsp::Buffer<int> v(r_buf[c], c);
|
||||
print(v, r_buf.capacity(), "v-buf");
|
||||
std::cout << "----------------------------------------------" << std::endl;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int test_mix()
|
||||
{
|
||||
test_mix_1();
|
||||
test_mix_2();
|
||||
return 0;
|
||||
}
|
||||
Reference in New Issue
Block a user