From 87598b5d65a36851d9c44b8ecc4e251e17cd98ee Mon Sep 17 00:00:00 2001 From: Jens Ahrensfeld Date: Thu, 30 Oct 2025 19:03:25 +0100 Subject: [PATCH] improved buffer tests --- delay/buffer.hpp | 3 +- delay/buffer_multi.hpp | 2 +- delay/buffer_view.hpp | 2 +- delay/tests/test_buffer.cpp | 23 ++++----- delay/tests/test_buffer_multi.cpp | 83 +++++++++++++++++++++++++++---- 5 files changed, 85 insertions(+), 28 deletions(-) diff --git a/delay/buffer.hpp b/delay/buffer.hpp index 200fb73..2d59aba 100644 --- a/delay/buffer.hpp +++ b/delay/buffer.hpp @@ -19,7 +19,7 @@ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * File: dsp_ringbuffer.hpp + * File: buffer.hpp.hpp * Author Jens Ahrensfeld on 26.10.2025. */ @@ -31,7 +31,6 @@ #include #include #include -#include namespace dsp { diff --git a/delay/buffer_multi.hpp b/delay/buffer_multi.hpp index 3383b30..2c3b6df 100644 --- a/delay/buffer_multi.hpp +++ b/delay/buffer_multi.hpp @@ -19,7 +19,7 @@ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * File: dsp_ringbuffer.hpp + * File: buffer_multi.hpp * Author Jens Ahrensfeld on 26.10.2025. */ diff --git a/delay/buffer_view.hpp b/delay/buffer_view.hpp index 0d002e3..9d83145 100644 --- a/delay/buffer_view.hpp +++ b/delay/buffer_view.hpp @@ -19,7 +19,7 @@ * IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - * File: dsp_ringbuffer.hpp + * File: buffer_view.hpp * Author Jens Ahrensfeld on 26.10.2025. */ diff --git a/delay/tests/test_buffer.cpp b/delay/tests/test_buffer.cpp index 3e35271..3c7bb55 100644 --- a/delay/tests/test_buffer.cpp +++ b/delay/tests/test_buffer.cpp @@ -19,16 +19,11 @@ void print(dsp::BufferView &v, size_t size) } -static void info() +int test_buffer_1() { std::cout << "----------------------------------------------" << std::endl; - std::cout << "Start test_buffer()" << std::endl; + std::cout << "Start test_buffer_1" << std::endl; std::cout << "----------------------------------------------" << std::endl; -} - -int test_buffer() -{ - info(); dsp::Buffer buffer(10); printf("Buffer capacity = %zu\n", buffer.capacity()); @@ -45,18 +40,18 @@ int test_buffer() } auto v1 = dsp::BufferView(buffer, 0); - auto v2 = dsp::BufferView(buffer, 5); - - buffer.reset(); - v1[5] = 55; - print(v1, 10); - v2[2] = 77; - print(v2,10); + auto v2 = dsp::BufferView(buffer, -5); for(const auto&i : buffer) { std::cout << i+100 << std::endl; } + return 0; +} + +int test_buffer() +{ + test_buffer_1(); return 0; } \ No newline at end of file diff --git a/delay/tests/test_buffer_multi.cpp b/delay/tests/test_buffer_multi.cpp index dbe0b61..fe81f02 100644 --- a/delay/tests/test_buffer_multi.cpp +++ b/delay/tests/test_buffer_multi.cpp @@ -3,17 +3,14 @@ #include -static void info() -{ - std::cout << "----------------------------------------------" << std::endl; - std::cout << "Start test_buffer_multi()" << std::endl; - std::cout << "----------------------------------------------" << std::endl; -} -int test_buffer_multi() +int test_buffer_multi_1() { - info(); - dsp::BufferMultibuffer(5, 20); + std::cout << "----------------------------------------------" << std::endl; + std::cout << "Start test_buffer_multi_1()" << std::endl; + std::cout << "----------------------------------------------" << std::endl; + + dsp::BufferMultibuffer(5, 10); printf("Buffer capacity = %zu\n", buffer.capacity()); for (int i=0; i < 10; i++) @@ -41,4 +38,70 @@ int test_buffer_multi() } return 0; -} \ No newline at end of file +} + +int test_buffer_multi_2() +{ + std::cout << "----------------------------------------------" << std::endl; + std::cout << "Start test_buffer_multi_2()" << std::endl; + std::cout << "----------------------------------------------" << std::endl; + + dsp::BufferMultibuffer(5, 3); + printf("Buffer capacity = %zu\n", buffer.capacity()); + + for (int i=0; i < 10; i++) + { + for (int c=0; c < 5; c++) + { + buffer.at(c, 0) = i+1; + int v = buffer.at(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::BufferMultibuffer(5, 10); + printf("Buffer capacity = %zu\n", buffer.capacity()); + + for (int i=0; i < 20; i++) + { + for (int c=0; c < 5; c++) + { + buffer.at(c, 0) = i+1; + int v = buffer.at(c, -c); + printf("c=%d: i=%d: v=%d\n", c, i, v); + } + buffer += 1; + } + return 0; +} + +int test_buffer_multi() +{ + test_buffer_multi_1(); + test_buffer_multi_2(); + test_buffer_multi_3(); + + return 0; +}