feat: snap sample selection boundaries to deterministic nearby zero crossings

This commit is contained in:
Johannes Findeisen 2026-11-06 01:08:30 +01:00
commit edeeb8e8bb
8 changed files with 37 additions and 5 deletions

View file

@ -59,5 +59,10 @@ int main(void)
assert(xtc_sample_audible_bounds(s,0,8,.25,2,&b,&e)==XTC_OK && b==0 && e==8);
b=e=999;assert(xtc_sample_audible_bounds(s,4,6,0,0,&b,&e)==XTC_ERR_NOT_FOUND && b==999 && e==999);
assert(xtc_sample_audible_bounds(s,0,8,NAN,0,&b,&e)==XTC_ERR_INVALID_ARGUMENT && b==999);}
{size_t crossing=999;assert(xtc_sample_zero_crossing(s,1,1,&crossing)==XTC_OK && crossing==0);
assert(xtc_sample_zero_crossing(s,6,0,&crossing)==XTC_ERR_NOT_FOUND && crossing==0);
assert(xtc_sample_zero_crossing(s,6,1,&crossing)==XTC_OK && crossing==5);
assert(xtc_sample_zero_crossing(s,8,1,&crossing)==XTC_OK && crossing==7);
assert(xtc_sample_zero_crossing(s,0,65537,&crossing)==XTC_ERR_INVALID_ARGUMENT && crossing==7);}
xtc_sample_destroy(s);assert(unlink(path)==0 && rmdir(root)==0);puts("Sample editor core tests passed.");return 0;
}