Commit graph

321 commits

Author SHA1 Message Date
99978c3241 Add util::mutexed<T> 2026-06-30 14:40:08 +03:00
e5d356e1fc Remove Boost.Math from COMPONENTS when finding boost in config mode 2026-06-30 13:52:38 +03:00
500646bfe9 Fix util::reversed() to support both begin()/end() methods and free functions 2026-06-30 13:13:54 +03:00
68aedbf2fa Add hash table formatters 2026-06-07 18:48:10 +03:00
005008b720 Find Boost in config mode 2026-04-06 23:04:01 +03:00
d1a3bf15d4 Fix util::ndarray::copy() in case of an empty array 2026-02-20 20:19:32 +03:00
339de6b218 Handle negative values as zeroes in statistics log buckets 2026-02-03 23:44:46 +03:00
7c398e28ff Fix hash_table::insert (lmao) 2025-11-13 12:42:33 +03:00
e40467a8d1 Add util::array - a dynamic array without auto-expansion 2025-10-25 15:20:42 +03:00
b99a4da18f Rename util::array -> util::ndarray 2025-10-25 14:51:30 +03:00
64ffe27c2a Fix abs(fixed_point), lmao 2025-10-19 02:40:35 +03:00
7c5062e081 Add hash_table::reserve 2025-09-16 20:44:42 +03:00
8a739bf637 Fixed-point improvements:
* Mark everything constexpr
* Use unsigned type for multiplication to prevent UB on overflow
* Add fp -> fp conversions
* Add floor & ceil functions
2025-09-14 00:03:07 +03:00
0210b61540 Tweak util::fixed_point comments 2025-09-06 11:22:51 +03:00
3e4d4f39ea Fix NaN's in profiling statistics 2025-09-04 00:54:04 +03:00
905e98070c Fix includes in util/recursive.hpp 2025-08-29 16:39:28 +03:00
d2f35276bf Add util::is_pow2 2025-08-29 16:39:19 +03:00
c7b1bc0b0a Fix throwing key_error in util::hash_table for heterogeneous keys 2025-08-17 21:09:31 +03:00
7b1ed4bd95 Make util::make_uuid use md5 hash 2025-08-06 17:54:29 +03:00
e57b284ffc Add constexpr md5 hash implementation 2025-08-06 17:53:24 +03:00
68ba3698f8 Fix transcendetal functions on util::fixed_point 2025-07-29 22:29:17 +03:00
1f57c76036 Add std::array hash 2025-07-12 01:28:14 +03:00
8e89679219 Remove tests for util::blob copying since the copy operator was removed 2025-05-14 22:52:29 +03:00
e4222f35ff Replace util::blob copy constructor/assignment with .copy() method and mark all appropriate methods noexcept 2025-04-13 12:44:26 +03:00
73abc03ae2 Add explicit util::utf8_range(std::string) constructor 2025-04-13 12:43:56 +03:00
7e2c2a4c6d Implement utf8 encoding and replace std::codecvt with custom code in utf32 <-> utf8 conversions 2025-04-13 12:43:40 +03:00
6cf5eb008b Support operator--() for util::utf8_iterator 2025-04-13 12:42:51 +03:00
42260d4d7d Replace template operator() of util::function with a fixed-arg version to put all implicit conversions & list initializations to the actual call site 2025-03-06 18:20:40 +03:00
4dc8b6a183 Use _WIN32 macro to detect Windows (instead of other macro variants) 2025-03-04 20:00:03 +03:00
d41c53193d Use wide strings in util::executable_path() 2025-03-04 19:59:04 +03:00
72694664de Add util::moving_average::max_count() 2025-02-21 22:26:24 +03:00
6fc476f1f0 Support building without Boost.Stacktrace 2025-01-26 14:45:43 +03:00
2c3565df61 32-bit compilation fixes:
* Use uint64_t instead of size_t as hash return value

 * Expect alignof(uint64_t) <= 8 instead of == 8
2025-01-25 20:35:37 +03:00
a49be3b253 Fix util::hash_map with std::pair as keys 2025-01-21 14:10:30 +03:00
6971b8545a Add util::null_ostream 2024-11-18 16:36:02 +03:00
d66092b86d Add fixed-point arithmetic implementation 2024-09-05 23:16:18 +03:00
954068ba3a Fix merging util::statistics 2024-08-22 19:53:53 +03:00
3dde4d6b55 Remove template dependance on float/double in util::statistics_log_bucket 2024-08-21 19:17:10 +03:00
82f7d5d429 Rename util::begin/end -> xbegin/xend to prevent ambiguity via ADL 2024-08-17 20:19:07 +03:00
ddaf2407a9 Fix math overflow crash in computing profiling statistics 2024-07-29 14:16:51 +03:00
d2ba791be1 Support subscribing to util::signal without the need to keep the subscription token 2024-07-19 21:14:38 +03:00
5df29246a5 Fix util::at(vector) 2024-07-17 19:43:54 +03:00
54fb90214f Add missing non-template methods for hash table 2024-07-11 18:22:08 +03:00
30877401a3 Add log-bucketing statistics in util 2024-06-03 23:25:29 +03:00
6c5815ff76 Add util::spatial_array::empty 2024-06-03 23:25:14 +03:00
488290be4f Refactor util::statistics and use a more robust mean & variance computation algorithm 2024-06-03 21:00:19 +03:00
f8c52bcfe2 Use truncated normal distribution for percentile approximation in util::statistics_lite 2024-06-03 20:32:26 +03:00
22a57f91db Huge refactor: use util::hash_table instead of std::unordered everywhere 2024-06-03 14:36:39 +03:00
e79266d7e2 Make util::hash_table::empty() const 2024-06-03 14:36:09 +03:00
cbd99d1c4d Make util::hash_table more heterogeneous-friendly 2024-06-03 14:35:58 +03:00