35static const float m1_0[] = { 1, 3, 4, 0,
41static const float m2_0[] = { 1, 6, 98, 54,
47TEST_CASE(
"Test 05 Perf01",
"[mat4f][linear_algebra][math]" ) {
55 const uint64_t tI5Max = 1000;
69 for(
size_t i=0; i<warmups; i++) {
77 for(
size_t i=0; i<
loops; i++) {
87 for(
size_t i=0; i<warmups; i++) {
97 for(
size_t i=0; i<
loops; i++) {
113 while( td_5 < tI5Max ) {
130 while( td_5 < tI5Max ) {
146 printf(
"Checkmark %f\n", dr);
147 printf(
"Summary loops %6zu: I4a %6s ms total (%s us), %f ns/mul, I4a / I4b %f%%\n",
loops,
150 printf(
"Summary loops %6zu: I4b %6s ms total (%s us), %f ns/mul, I4b / I4a %f%%\n",
loops,
155 printf(
"Summary loops %6zu: I5a %6s ms total, %f ns/mul, I5a / I5b %f%%\n", loops5a,
158 printf(
"Summary loops %6zu: I5b %6s ms total, %f ns/mul, I5b / I5a %f%%\n", loops5b,
bool catch_perf_analysis
Run w/ command-line arg '–perf_analysis'.
constexpr double to_double() const noexcept
Returns the converted fraction to lossy double.
constexpr int_type to_ms() const noexcept
Convenient shortcut to to_num_of(1_ms)
constexpr int_type to_us() const noexcept
Convenient shortcut to to_num_of(1_us)
constexpr int_type to_ns() const noexcept
Convenient shortcut to to_num_of(1_ns)
Basic 4x4 value_type matrix implementation using fields for intensive use-cases (host operations).
value_type determinant() const noexcept
Returns the determinant of this matrix.
constexpr Matrix4 & mul(const Matrix4 &b) noexcept
Multiply matrix: [this] = [this] x [b].
constexpr Matrix4 & load(const_iterator src) noexcept
Load the values of the given matrix src to this matrix w/o boundary check.
consteval_cxx20 bool is_debug_enabled() noexcept
Returns true if compiled with debug information and w/o optimization, i.e.
bool to_fraction_i64(fraction_i64 &result, const std::string &value, const fraction_i64 &min_allowed, const fraction_i64 &max_allowed) noexcept
Stores the fraction_i64 value of the given string value in format <num>/<denom>, which may contain wh...
fraction_timespec getMonotonicTime() noexcept
Returns current monotonic time since Unix Epoch 00:00:00 UTC on 1970-01-01.
std::string to_decstring(const value_type &v, const char separator=',', const nsize_t width=0) noexcept
Produce a decimal string representation of an integral integer value.
constexpr const jau::fraction_i64 zero(0l, 1lu)
zero is 0/1
__pack(...): Produces MSVC, clang and gcc compatible lead-in and -out macros.
uint64_t getCurrentMilliseconds() noexcept
Returns current monotonic time in milliseconds.
Timespec structure using int64_t for its components in analogy to struct timespec_t on 64-bit platfor...
static const Mat4f m1(m1_0)
static const float m2_0[]
TEST_CASE("Test 05 Perf01", "[mat4f][linear_algebra][math]")
static const float m1_0[]
static const Mat4f m2(m2_0)
int printf(const char *format,...)
Operating Systems predefined macros.