Commit graph

200 commits

Author SHA1 Message Date
Ahmet Inan
81a5a8869b write unclamped float per default 2025-07-20 12:05:16 +02:00
Ahmet Inan
c0adfaef64 use l and h to specify ranges to work on v1.1 2024-03-11 11:38:41 +01:00
Ahmet Inan
f83ca91608 use insertion sort for small ranges 2024-03-11 11:27:48 +01:00
Ahmet Inan
cf60e38b9d we ain't come this far to omit sorting 2024-03-11 10:48:56 +01:00
Ahmet Inan
c86f767cac use median of five
Median5 algorithm taken from:

Fast Deterministic Selection
by Andrei Alexandrescu - 2016
2024-03-11 09:17:21 +01:00
Ahmet Inan
c0347030c7 check entire array 2024-03-10 22:53:04 +01:00
Ahmet Inan
c9bc0ffad8 simplified select function 2024-03-10 22:43:36 +01:00
Ahmet Inan
1150d77a27 use three-way partitioning to improve equal keys performance 2024-03-10 12:23:16 +01:00
Ahmet Inan
c88d85b0cb added test for quick select 2024-03-09 21:06:55 +01:00
Ahmet Inan
7d6418220e use median of three to increase our chances 2024-03-09 20:49:52 +01:00
Ahmet Inan
b0c9bc7d41 got rid of the recursion 2024-03-09 18:57:47 +01:00
Ahmet Inan
eb968e50b6 choose the middle value as pivot 2024-03-09 18:37:19 +01:00
Ahmet Inan
6013451ee2 added asserts for k and n 2024-03-09 17:55:32 +01:00
Ahmet Inan
46403a7b0a use quick select to get the median 2024-03-09 15:08:02 +01:00
Ahmet Inan
9646da13e1 added quick select algorithm 2024-03-09 14:58:13 +01:00
Ahmet Inan
fc39f9ef5f copied Makefile over from code repository 2024-02-21 08:20:08 +01:00
Ahmet Inan
a53b33587e added some more operators 2023-04-17 10:36:04 +02:00
Ahmet Inan
419256d348 added empty operator 2022-12-02 12:50:20 +01:00
Ahmet Inan
8e4fd040f9 use -O2 with -ffast-math and -ftree-vectorize 2022-04-07 21:42:21 +02:00
Ahmet Inan
c83add357c made *x and *y args const v1.0 2021-09-11 16:34:35 +02:00
Ahmet Inan
9958f54184 added hierarchical estimation of the y intercept 2021-09-10 23:46:53 +02:00
Ahmet Inan
e90a3b601b added the repeated median estimator of Siegel 2021-09-10 00:09:26 +02:00
Ahmet Inan
5c456aae28 added clamp() 2021-05-07 17:43:17 +02:00
Ahmet Inan
82ce34dea3 use well known order of lerp arguments 2021-05-07 17:18:06 +02:00
Ahmet Inan
a3c8d375c2 use revised value K0 for SRGB 2021-04-16 17:31:44 +02:00
Ahmet Inan
9334e0339e limit reading from input array to 0 .. samples-1 2021-04-12 11:25:50 +02:00
Ahmet Inan
d7acee8494 made methods const 2021-04-01 12:34:11 +02:00
Ahmet Inan
0427f29ce5 fixed bug in Gaussian window introduced 2019
Typo in commit: 98a5a204d1
2021-04-01 11:31:40 +02:00
Ahmet Inan
1aa398c285 added Theil-Sen estimator 2021-03-29 11:19:16 +02:00
Ahmet Inan
8f13d86377 relax test for files with garbage at end 2020-11-03 17:18:24 +01:00
Ahmet Inan
f43b438d63 added least mean squares filter implementations 2020-10-23 11:51:20 +02:00
Ahmet Inan
80894d7207 use Delay in MovExt while avoiding code duplication 2020-10-15 22:30:29 +02:00
Ahmet Inan
b2af3feebd use Stack for MovExt too 2020-10-14 15:05:22 +02:00
Ahmet Inan
98220dc04f use the much faster Stack 2020-10-13 17:12:45 +02:00
Ahmet Inan
77307d70f5 added fixed-size stack implementation 2020-10-13 17:10:59 +02:00
Ahmet Inan
1ae40ccf3b use simple Delay for the window 2020-10-13 16:23:54 +02:00
Ahmet Inan
b934d9fe4e initialize buffer optionally with provided value 2020-10-13 15:49:58 +02:00
Ahmet Inan
4de8fe9af1 removed system includes 2020-10-13 10:47:14 +02:00
Ahmet Inan
ad9407c66e use the std wrappers 2020-10-13 10:26:26 +02:00
Ahmet Inan
0b8fa61da7 added MovExt to avoid code duplication 2020-10-13 08:38:22 +02:00
Ahmet Inan
52d2a5b0f4 added amortized O(1) moving extrema 2020-10-12 23:12:33 +02:00
Ahmet Inan
5824421c73 added clear() 2020-10-11 13:08:15 +02:00
Ahmet Inan
fde7c654b6 added ring buffer based double-ended queue 2020-10-11 10:48:26 +02:00
Ahmet Inan
18a72daa4c initialize buffer with provided neutral element 2020-10-10 23:30:17 +02:00
Ahmet Inan
0ccdcfd979 use Delay 2020-10-09 16:46:18 +02:00
Ahmet Inan
b643eade0d added sliding window accelerator 2020-10-09 16:46:13 +02:00
Ahmet Inan
2509f5293a use double to avoid numerical issues on large arrays 2020-05-19 16:28:03 +02:00
Ahmet Inan
e2eefcb98b need coeffs computed for the input, not output array .. 2020-05-19 16:25:25 +02:00
Ahmet Inan
c77a4a2c54 compute recip from ratio to solve numerical issues 2020-05-19 13:21:43 +02:00
Ahmet Inan
65925d53a3 added reset() 2020-04-30 19:55:52 +02:00