Conversation
Codecov Report❌ Patch coverage is Additional details and impacted files@@ Coverage Diff @@
## main #107 +/- ##
==========================================
+ Coverage 75.29% 75.80% +0.50%
==========================================
Files 597 602 +5
Lines 60462 60841 +379
==========================================
+ Hits 45527 46121 +594
+ Misses 14935 14720 -215
... and 2 files with indirect coverage changes Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
|
@copilot Implement yup_simd module unit tests that are meaningful and that exercise all the changed classes extensively, try to aim at increasing coverage near 100% |
Implemented comprehensive unit tests for all
|
Initial implementation of the
yup_simdmodule, providing SIMD-accelerated operations for audio and graphics processing.Changes Made
SIMDRegister: Template SIMD register wrapper overxsimd, with type aliasesFloat4,Float8,Double2,Double4and support for arithmetic operators, reductions (sum,hmax),mulAdd, aligned/unaligned load and store.AffineTransformOperations: SIMD-accelerated 2D affine transform of point arrays (separate and in-place variants).ColorVectorOperations: SIMD-accelerated pixel operations —premultiplyARGB,premultiplyRGBA, format conversions (ARGB→RGBA, grayscale→RGBA, RGB→RGBA), andlerpRows.ComplexVectorOperations: SIMD-accelerated complex multiplication, multiply-accumulate, and power spectrum (AVX+FMA, SSE, and NEON paths).FloatVectorOperations: SIMD-accelerated float/double array operations (add, subtract, multiply, divide, clip, min, max, abs, negate, reductions, conversions, denormal handling).Vec2f/Vec4f: Lightweight SIMD-backed vector types for 2D geometry and RGBA colour.Testing
Comprehensive unit tests added for all classes in
tests/yup_simd/, targeting near-100% coverage:yup_SIMDRegister.cpp: ~35 tests covering all methods and type aliases including partial batch sizes.yup_AffineTransformOperations.cpp: 9 tests with a scalar reference implementation for correctness verification (separate/in-place, identity, translation, scale, edge cases).yup_ColorVectorOperations.cpp: 25+ tests covering all conversion functions with edge cases (alpha=0/255, zero-pixel no-ops, lerp at t=0/0.5/1).yup_ComplexVectorOperations.cpp: 17 tests coveringmultiply,multiplyAccumulate, andpowerSpectrumwith single pairs, unit vectors, Pythagorean triples, and large buffers.yup_Vec.cpp: 37 tests forVec2fandVec4fcovering arithmetic, dot product, length, normalization, lerp, premultiplied alpha, and load/store.tests/CMakeLists.txt:yup_simdadded totarget_modulesso all tests are compiled and run.