Commit Graph
375 Commits
Author SHA1 Message Date
Mateusz Pusz 1cec3d4867 refactor: _chrono.h_, _math.h_, and _random.h_ move to utlitity CMake module 2022-12-25 17:20:44 +01:00
Mateusz Pusz 07687f9ef6 refactor: _generic/dimensionless.h_ removed (units added to _unit.h_) 2022-12-25 17:14:54 +01:00
Mateusz Pusz 770b9ab6ee refactor: basic_concepts removed 2022-12-23 19:21:35 +01:00
Mateusz Pusz b9f2b7fe9d refactor: std::chrono support refactored for V2 2022-12-23 19:21:01 +01:00
Mateusz Pusz a45088b859 refactor: quantity_point refactored for V2 2022-12-23 19:20:34 +01:00
Mateusz Pusz 4efbf81814 docs: another small cleanup of quantity 2022-12-23 19:16:23 +01:00
Mateusz Pusz 9ad2cd5986 fix: QUANTITY_SPEC macros now use units:: namespace 2022-12-23 18:04:40 +01:00
Mateusz Pusz dd8fb22e6e feat: quantity is now a structural type
Resolves #411
2022-12-23 18:03:15 +01:00
Mateusz Pusz e2a2076c8d style: quantity header cleanup 2022-12-23 18:01:51 +01:00
Mateusz Pusz c056f4535c refactor: quantity_like types refactored 2022-12-23 17:58:57 +01:00
Mateusz Pusz a62c388d05 refactor: make_quantity helper not needed with the new syntax 2022-12-23 16:29:39 +01:00
Mateusz Pusz 0fc05850c8 refactor: trigonometric functions refactored for isq::angular_measure 2022-12-23 16:27:12 +01:00
Mateusz Pusz 62c3e5f2b6 fix: hypot implementation fixed 2022-12-23 13:44:40 +01:00
Mateusz Pusz 0caf998df1 refactor: reference::operator() return type constraints improved 2022-12-22 21:28:49 +01:00
Mateusz Pusz e61bfafd29 fix: consteval replaced with constexpr for quantity_spec::operator() 2022-12-22 21:28:03 +01:00
Mateusz Pusz 57d655062c refactor: quantity_spec::operator[] return type constraints improved 2022-12-22 21:26:51 +01:00
Mateusz Pusz 0a1ee606f3 feat: new quantity creation syntax support added 2022-12-22 17:50:41 +01:00
Mateusz Pusz be58a6e03a refactor: quantity_spec::operator[] return type constrained with Reference concept 2022-12-22 16:48:28 +01:00
Mateusz Pusz a32eb712da refactor: quantity_spec::operator[] made consteval 2022-12-22 15:58:37 +01:00
Mateusz Pusz 1ff048a70e refactor: unused reference operator removed 2022-12-22 15:56:14 +01:00
Mateusz Pusz 915ca82a0b refactor: __cpp_explicit_this_parameter implementation of number() added 2022-12-20 17:23:29 +01:00
Mateusz Pusz c51f6a9d29 refactor: RepresentationOf concept usage added + quantity concepts cleanup 2022-12-20 17:22:51 +01:00
Mateusz Pusz 979a00e704 fix: get_canonical_unit() fixed for powers of derived quantities 2022-12-19 20:35:22 +01:00
Mateusz Pusz 7a26125e16 refactor: public headers cleanup
Public headers should be only the ones that a user may have a need to actually include in his/her code.
2022-12-19 14:55:54 +01:00
Mateusz Pusz f1f1009c3f feat: is_scalar, is_vector, and is_tensor customization points added 2022-12-19 13:39:21 +01:00
Mateusz Pusz a96c34c17a fix: exp() implementation fixed 2022-12-19 12:49:15 +01:00
Mateusz Pusz 81a02837aa refactor: quantity_kind removed 2022-12-19 12:00:54 +01:00
Mateusz Pusz f37ec4c62b refactor: missing nodiscards added to functions in _unit.h_ 2022-12-16 18:18:14 +01:00
Mateusz Pusz 7889ab8f05 fix: missing TYPENAMEs added 2022-12-16 18:17:06 +01:00
Mateusz Pusz c266db9c24 fix: expression template two power simplification fixed 2022-12-16 18:16:41 +01:00
Mateusz Pusz 92c70f1a4e feat: quantity_spec support added 2022-12-16 18:15:48 +01:00
Mateusz Pusz d9b227ad30 feat: units now allow inheritance
For example to define `cgs::second` based on `si::second`
2022-12-04 15:04:37 +01:00
Mateusz Pusz 791cec3fad docs: missing comment added 2022-11-30 18:00:34 +01:00
Mateusz Pusz 02bf514355 feat: equality comparison support added for references 2022-11-30 18:00:04 +01:00
Mateusz Pusz 77a124a3d9 feat: quantity_of and weak_quantity_of now support references 2022-11-30 17:57:27 +01:00
Mateusz Pusz 872caf460a refactor: quantity_cast refactored 2022-11-30 17:54:13 +01:00
Mateusz Pusz 1fbaeb4ffc feat: magnitude now uses treat_as_floating_point 2022-11-30 10:13:04 +01:00
Mateusz Pusz 5cbe322c82 feat: common_reference, common_dimension, and common_units now take variadic list of arguments 2022-11-30 10:11:52 +01:00
Mateusz Pusz f8add08484 refactor: quantity_equivalent_to renamed to weak_quantity_of 2022-11-10 16:48:22 -10:00
Mateusz Pusz eee6f7ed87 style: core code reformatted with clang-format-16 2022-11-10 16:46:56 -10:00
Mateusz Pusz 9ca15c3023 feat: operator[] added for quantity 2022-11-10 16:41:28 -10:00
Mateusz Pusz d75f22ecc4 feat: constant_unit support added 2022-11-10 09:55:43 -10:00
Mateusz Pusz 3d536fb82b refactor: Unicode symbols directly provided in the code 2022-11-09 22:53:27 -10:00
Mateusz Pusz 5ab79f0c63 feat: quantity_equivalent_to concept added 2022-11-09 22:50:54 -10:00
Mateusz Pusz 411f7a0bb7 refactor: magnitude_text() moved to the magnitude header file 2022-11-09 22:50:19 -10:00
Mateusz Pusz f01aa8530a fix: magnitudes fixed 2022-11-09 22:49:36 -10:00
Mateusz Pusz f2e63fdeb1 refactor: std::common_type usage replaced with dedicated functions for units, dimensions, and references 2022-11-09 18:39:51 -10:00
Mateusz Pusz 649252d691 refactor: system_reference moved to a dedicated header file 2022-11-09 18:33:39 -10:00
Mateusz Pusz 61b88b919f refactor: convertible() renamed to interconvertible() 2022-11-08 10:57:05 -10:00
Mateusz Pusz 3d1f339115 refactor: reference now takes NTTPs rather then types
Even though it makes error logs a bit more obscure it simplifies coding a lot.
2022-11-08 10:37:41 -10:00