Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Naming: Free (enum) types: lower case + '_t' (endian_t, lb_endian_t, ↵ | Sven Göthel | 2024-05-12 | 9 | -320/+329 | |
| | | | | os_type_t, abi_type_t, cpu_family_t, ..); Use (new) singleton CpuInfo caching all jau::cpu information | |||||
* | float_math: Fix adeg_to_rad<T>() and rad_to_adeg<T>() .. template meta typo ↵ | Sven Göthel | 2024-05-11 | 1 | -6/+6 | |
| | | | | (used true SFINAE as return value, duh) | |||||
* | debug: Fix fprintf_td(): Use stream arg for elapsed_md portion (not stderr); ↵ | Sven Göthel | 2024-05-11 | 1 | -0/+9 | |
| | | | | Add fprintf_td() variant with given elapsed_ms argument | |||||
* | Fix and enhance sleep*(): Move decl to basic_types.hpp; Add bool ↵ | Sven Göthel | 2024-05-11 | 2 | -154/+196 | |
| | | | | ignore_irq=true and return bool for sleep-completion; Use clock_nanosleep() return value not errno (bug); Add simple milli_sleep() and sleep() | |||||
* | WebAssembly (emscripten) Patches | Sven Göthel | 2024-05-10 | 3 | -16/+52 | |
| | ||||||
* | math: Resolve clang-tidy warnings and add PMVMat4f const getter variants. | Sven Göthel | 2024-05-10 | 3 | -19/+20 | |
| | ||||||
* | math Matrix4f: Fix setToRotationAxis() 0.9f -> zero, typo | Sven Göthel | 2024-05-10 | 1 | -1/+1 | |
| | ||||||
* | math: vec[234][fi]: Add constexpt static const size_t components and ↵ | Sven Göthel | 2024-05-10 | 4 | -0/+24 | |
| | | | | byte_size info for convenience | |||||
* | cpp_lang_util: Prefer using simple consteval/expr functions w/o ↵ | Sven Göthel | 2024-05-10 | 1 | -16/+54 | |
| | | | | meta-template, add is_cxxNN() for C++Version, | |||||
* | base_math: Add sign() for unsigned<T> | Sven Göthel | 2024-05-10 | 1 | -1/+10 | |
| | ||||||
* | cpp_lang_util: Add inline constexpr const bool debug_enabled; ↵ | Sven Göthel | 2024-05-07 | 1 | -0/+6 | |
| | | | | test_math_mat4f_02_mul only issues 1M loops if debug_enabled | |||||
* | Misc fixes occured w/ Direct-BT | Sven Göthel | 2024-05-04 | 2 | -4/+5 | |
| | ||||||
* | Add NativeLinker (os) for RTLD support | Sven Göthel | 2024-05-02 | 2 | -0/+290 | |
| | ||||||
* | string_util: to_string(vector<>): don't append space after delim as it ↵ | Sven Göthel | 2024-05-02 | 1 | -2/+2 | |
| | | | | should be contained if desired; Use default delim `, ` | |||||
* | file_util: Add chdir(); Add API doc on absolute(), i.e. relpath must exist | Sven Göthel | 2024-05-02 | 1 | -6/+10 | |
| | ||||||
* | file_util: robustness: dir_item is empty w/ empty path; visit: Add depth ↵ | Sven Göthel | 2024-05-02 | 1 | -19/+47 | |
| | | | | | | | | | | | | argument to path_visitor and add 'dir_check_entry' traverse_{event, options} to allow visitor to skip a directory (incl. Java) path_visitor returning false on dir_check_entry only causes visitor to skip this directory, for all other events overall traversal ends. depth argument added to path_visitor allows user to act on the recusrive depth info conveniently. Added test case demos a flat directory traversal. | |||||
* | Add jau::os::UserInfo, extracted POSIX code from testsudo_fileutils02 (TODO: ↵ | Sven Göthel | 2024-05-01 | 1 | -0/+100 | |
| | | | | Windows) | |||||
* | string_util to_hexstring(pointer): Use uintptr_t for 32bit platforms (not ↵ | Sven Göthel | 2024-05-01 | 1 | -1/+1 | |
| | | | | uint64_t) | |||||
* | dyn_linker: Use (more natural) 'void*' for libhandle_t and symhandle_t as ↵ | Sven Göthel | 2024-05-01 | 1 | -7/+7 | |
| | | | | used by dlopen/dlsym .. | |||||
* | dyn_linker: Fix C++17 constexpr usage (std::string is constexpr >= C++20 only) | Sven Göthel | 2024-05-01 | 1 | -6/+6 | |
| | ||||||
* | math_error.hpp: Move to jau::math, which also fixed the (doxygen) Math Group ↵ | Sven Göthel | 2024-04-30 | 4 | -13/+13 | |
| | | | | (must reside under one namespace) | |||||
* | Cleanup groups OSSup + Math | Sven Göthel | 2024-04-30 | 2 | -3/+3 | |
| | ||||||
* | os_support: Reuse jau::to_string(vector<T>, ..) | Sven Göthel | 2024-04-30 | 1 | -0/+2 | |
| | ||||||
* | os_support: Complete is_defined_os_type(), add is_qnxnto() | Sven Göthel | 2024-04-30 | 1 | -3/+10 | |
| | ||||||
* | os: dyn_linker: Add DynamicLinker (singleton) handling cross-platform ↵ | Sven Göthel | 2024-04-30 | 1 | -0/+359 | |
| | | | | | | | | | dynamic libraries (WIP) test_os_dynlinker passes on GNU/Linux, other platforms (esp Windows) must be tested. For Windows we also would have other items to port, like jau::fs etc .. in case no POSIX functions are available. | |||||
* | file_util: Add absolute() and isAbsolute(), make test_fileutils* more robust ↵ | Sven Göthel | 2024-04-30 | 2 | -0/+18 | |
| | | | | using test-exe-path -> test_data dir | |||||
* | os_support (new): jau::os: Adding platform info: constexpr os_type + ↵ | Sven Göthel | 2024-04-30 | 1 | -0/+313 | |
| | | | | | | | | abi_type enum class (like endian); get_os_and_arch(), get_platform_info(); Runtime info get_rt_os_info(); constexpr os_type + abi_type enum class utilize predef cc macros like cpu_family. get_os_and_arch() is aligned with JogAmp's os_and_arch naming scheme, compatible. | |||||
* | cpp_lang_util.hpp: API doc: Update predef compiler macros, gcc >= 12 has ↵ | Sven Göthel | 2024-04-30 | 1 | -3/+13 | |
| | | | | buildin bit_cast() | |||||
* | cpuid: complete cpu_family, use constexpr get_cpu_family() using ↵ | Sven Göthel | 2024-04-30 | 1 | -19/+94 | |
| | | | | predef-macros and static_assert on get_arch_psize() / __LP64__ | |||||
* | string_util: Add split_string() , toLowerInPlace() and toLower(), rename ↵ | Sven Göthel | 2024-04-30 | 1 | -1/+8 | |
| | | | | trimCopy() -> trim() | |||||
* | cleanup: Place static_assert() in compilation unit once (outside of ↵ | Sven Göthel | 2024-04-30 | 2 | -4/+10 | |
| | | | | function); to_string(): Pass value for small elements | |||||
* | math: Fix and test Matrix4::mapWinToObj, unit test test_math_mat4f_10_project01 | Sven Göthel | 2024-04-29 | 1 | -2/+2 | |
| | ||||||
* | math: vec[234][fi]: Add begin, cbegin methods and explicit const_pointer and ↵ | Sven Göthel | 2024-04-29 | 4 | -0/+24 | |
| | | | | pointer conversion ops, allowing to access aligned memory like Matrix4 | |||||
* | math: Move AABBox* from jau::math -> jau::math::geom | Sven Göthel | 2024-04-29 | 6 | -10/+11 | |
| | ||||||
* | math: Make PMVMatrix4 a template class, typedef'ed using float to PMVMat4f ↵ | Sven Göthel | 2024-04-28 | 3 | -255/+246 | |
| | | | | (Similar w/ SyncMatrix4 and SyncMatrices4); Update related unit tests | |||||
* | math: Matrix4: Reuse copy methods, incr-pointer instead of array-index | Sven Göthel | 2024-04-28 | 1 | -85/+61 | |
| | ||||||
* | math: Initial PMVMat4f port w/ SyncBuffer impl, misc constexpr fixes | Sven Göthel | 2024-04-28 | 3 | -4/+1434 | |
| | ||||||
* | math sstack: Add MatrixStack<T> | Sven Göthel | 2024-04-28 | 1 | -4/+61 | |
| | ||||||
* | math: frustum: Fix public access + constexpr + drop pointer-offset-param ↵ | Sven Göthel | 2024-04-28 | 1 | -31/+31 | |
| | | | | (was Java'sh API) | |||||
* | math: mat4f: Complete static multi Matrix ops; Misc fixes | Sven Göthel | 2024-04-28 | 1 | -52/+49 | |
| | ||||||
* | math: vec[234][if] + recti: Refine methods, add vec*::scale(), validate net ↵ | Sven Göthel | 2024-04-28 | 5 | -10/+51 | |
| | | | | size (static_assert) besides alignof | |||||
* | functional: Drop 'constexpr' due to malloc usage in delegate_t | Sven Göthel | 2024-04-28 | 1 | -6/+6 | |
| | ||||||
* | math: Mat4f: Use proper Vec3 template type; Started multi Matrix ops | Sven Göthel | 2024-04-26 | 1 | -87/+79 | |
| | ||||||
* | math: Vec[234]: Add add() + mul() w/ component args | Sven Göthel | 2024-04-26 | 4 | -4/+24 | |
| | ||||||
* | math: Mat4f: Refine constexpr, add translate/scale methods. TODO: Static ↵ | Sven Göthel | 2024-04-26 | 1 | -126/+21 | |
| | | | | multi Matrix ops | |||||
* | math: Mat4f: toString() default w/ 13.9f formatting; Reuse load method for ↵ | Sven Göthel | 2024-04-26 | 1 | -6/+2 | |
| | | | | assignment op | |||||
* | math: Mat4f/Quaternion: Use multiple of epsilon max deviation constants | Sven Göthel | 2024-04-26 | 2 | -2/+10 | |
| | ||||||
* | math: float_si_types: Refine types f -> f32, fix si_speedf32_t usage, use ↵ | Sven Göthel | 2024-04-26 | 1 | -16/+16 | |
| | | | | float consts where applicable | |||||
* | Math: Frustum: Simplify setFromMat{4->}(..) | Sven Göthel | 2024-04-25 | 1 | -2/+2 | |
| | ||||||
* | math: Mat4f tests: Add test_math_mat4f_01 (simple); test_math_mat4f_02_perf ↵ | Sven Göthel | 2024-04-25 | 1 | -0/+1 | |
| | | | | | | | | | | | | | | | | | | | | (perfomance) Native C++ Mat4f multiplications beat JOGL's Matrix4f Java implementation by factor >13 (Java-17/C++ -O3), utilizing same code logic. Java: Summary loops 25000000: I4a 1080 ms total, 0.021600 us/mul, I4a / I2 141.732283%, I4a / I4b 99.447514% Summary loops 25000000: I4b 1086 ms total, 0.021720 us/mul, I4b / I2 142.519685%, I4b / I4a 100.555556% C++: Summary loops 300000000: I4a 981 ms total (981,836 us), 1.636394 ns/mul, I4a / I4b 99.785742% Summary loops 300000000: I4b 983 ms total (983,944 us), 1.639908 ns/mul, I4b / I4a 100.214718% Java: 21.600 ns/mul <- 0.021600 us/mul C++: 1.64 ns/mul Java / C++: >13 |