#include "test_common.hpp" #include #include #include #include int test_buffer_1() { std::cout << "----------------------------------------------" << std::endl; std::cout << "Start test_buffer_1" << std::endl; std::cout << "----------------------------------------------" << std::endl; dsp::Buffer buffer(10); printf("Buffer capacity = %zu\n", buffer.capacity()); for (int i=0; i < 10; i++) { buffer[i] = i+1; } buffer += 5; for (int i=-5; i < 5; i++) { int v = buffer[i]; printf("i=%d: v=%d\n", i, v); } auto v1 = dsp::BufferView(buffer, 0); auto v2 = dsp::BufferView(buffer, -5); for(int i=0; i < buffer.capacity(); i++) { std::cout << buffer[i] << std::endl; } return 0; } int test_buffer_2() { std::cout << "----------------------------------------------" << std::endl; std::cout << "Start test_buffer_2" << std::endl; std::cout << "----------------------------------------------" << std::endl; dsp::Buffer buffer(10); printf("Buffer capacity = %zu\n", buffer.capacity()); for (int i=0; i < 10; i++) { buffer[i] = i+1; } buffer += 5; for (int i=-5; i < 5; i++) { int v = buffer[i]; printf("i=%d: v=%d\n", i, v); } buffer.reset(); const auto v1 = dsp::Buffer(buffer, -1); const auto v2 = dsp::Buffer(buffer, -5); for(int i=0; i < buffer.capacity(); i++) { std::cout << buffer[i] << std::endl; } std::cout << "print(buffer, 10);" << std::endl; print(buffer, 10); std::cout << "print(v1, 10);" << std::endl; print(v1, 10); std::cout << "print(v2, 10);" << std::endl; print(v2, 10); return 0; } int test_buffer_3() { std::cout << "----------------------------------------------" << std::endl; std::cout << "Start test_buffer_3" << std::endl; std::cout << "----------------------------------------------" << std::endl; dsp::Buffer buffer(50); printf("Buffer capacity = %zu\n", buffer.capacity()); for (int i=0; i < buffer.capacity(); i++) { buffer[i] = i; } 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(buffer, offset, incr); for(int i=0; i < v1.capacity()/incr; i++) { std::cout << v1[i] << std::endl; } } return 0; } int test_buffer() { test_buffer_1(); test_buffer_2(); test_buffer_3(); return 0; }