Commit Graph

36 Commits

Author SHA1 Message Date
Mateusz Pusz
8ea346be1c refactor: 💥 header files with the entire system definitions moved up in the directory tree 2024-04-25 16:34:11 +02:00
Mateusz Pusz
c066104af7 refactor: 💥 framework.h introduced + IWYU 2024-04-24 21:09:29 +02:00
Johel Ernesto Guerrero Peña
7cb2099af5 feat: add module mp_units 2024-01-06 08:51:00 +01:00
Mateusz Pusz
ae92b49775 refactor: op[U] for quantity and quantity_point replaced with .in(U)
Resolves #469
2023-08-23 16:46:15 +02:00
Mateusz Pusz
52ce2b21f7 refactor: iostream.h renamed to ostream.h 2023-06-23 15:03:04 +02:00
Mateusz Pusz
6db8012513 fix(example): name hiding in capacitor_time_curve resolved 2023-06-16 17:19:21 +03:00
Mateusz Pusz
7d9ae3ec31 refactor: mp_units subdirectory renamed to mp-units 2023-05-25 12:47:10 +02:00
Mateusz Pusz
a4171e2fb6 docs: some comments and TODOs added 2023-05-25 12:15:52 +02:00
Mateusz Pusz
318b9e260b refactor(example): small refactoring of examples 2023-04-21 15:18:09 +01:00
Mateusz Pusz
e98215c347 refactor: examples refactored to benefit from the latest features 2023-02-14 12:58:54 +01:00
Mateusz Pusz
859bc20fdc refactor: all examples refactored to use a simplified quantity creation 2023-02-08 21:47:48 -08:00
Mateusz Pusz
83aee04da0 refactor: quantity_io.h renamed to iostream.h 2023-02-03 16:57:48 +01:00
Mateusz Pusz
b4f47c3fef feat: value_cast support added
Resolves #239 and #120
2023-02-03 11:08:13 +01:00
Mateusz Pusz
2cf736a1e6 feat: preventing possible future units crash when using namespace std;
Resolves #317
2022-12-29 20:18:48 +01:00
Mateusz Pusz
6b72dd39c1 refactor: headers with system definitions moved to _systems_ subdirectory 2022-12-29 19:27:54 +01:00
Mateusz Pusz
858cbb472f refactor: First examples refactored to a new quantity creation syntax 2022-12-22 18:06:20 +01:00
Mateusz Pusz
f06e8898ae refactor: capacitor_time_curve refactored for V2 2022-12-20 10:43:55 +01:00
Mateusz Pusz
b982921d27 refactor: References are now guarded UNITS_REFERENCES with (ON by default) + examples duplicated to subdirectories
Now References can be disabled to meassure a compile time impact. Also the same examples are now provided in two subdirectories to be able to easily compare the pros and cons of every quantity construction technique.
2021-04-06 15:57:28 +02:00
Mateusz Pusz
e1d8d6b81d fix: Fixed shadowing warnings on clang 2021-04-02 19:31:36 +02:00
Mateusz Pusz
1a5b4fc85e refactor: UDLs support switched off by default 2021-04-02 18:56:28 +02:00
Mateusz Pusz
37cfc53d1d refactor: IWYU applied to the source files
`alternative_namespaces` examples left out as I consider them a subject for removal in the nearest future.
2021-03-30 13:21:05 +02:00
Mateusz Pusz
bbbb77286c refactor: physical replaced with isq
Refers to #249
2021-03-16 12:03:25 +01:00
Mateusz Pusz
23720d055e refactor: Refactored the library file tree
Resolves #249
2021-03-16 09:32:28 +01:00
Mateusz Pusz
cff718301c refactor: quantity_io added 2020-12-28 15:18:36 +01:00
Mateusz Pusz
6e510b3a2a refactor: modules-like behavior for systems removed to improve broken compile-time
Reffers to #32
2020-09-13 00:11:02 +02:00
Mateusz Pusz
2a56438f1c refactor: file tree with systems defninitions refactored to limit ODR issues
Relates to #32 as with this commit we created something like modules for derived quantities
2020-09-11 18:11:25 +02:00
Mateusz Pusz
9527b39005 refactor: 💥 q_* UDL renamed to _q_*
We had some fun exploring the STD UDLs for potential collisions,
we have learnt our lesson and know how to proceed.
Now is high time to start behaving and obeying C++ rules.
2020-09-09 19:20:35 +02:00
Mateusz Pusz
4bb51586dc refactor: got rid of gcc-9 backlog
BREAKING CHANGE: gcc-9.3 no longer supported
2020-09-08 13:09:34 +02:00
Mateusz Pusz
563b358d5e feat!: 💥 dimensionless quantities refactored
Dimensionless quantities are now represented by quantity types rather
than by plain representation types. Only dimensionless quantities with
`unitless` unit are implicitly convertible from representation types.

`units::exp()` now is a function doing std::exp() on a representation
type (previous `units::exp` class template was renamed to
`units::exponent`).

BREAKING_CHANGE: gcc-9.3 support removed
BREAKING_CHANGE: `exp` and `Exp` renamed to `exponent` and `Exponent`
Resolves #27
Resolves #42
2020-09-08 11:02:16 +02:00
Mateusz Pusz
7e935a4108 Physical units put in the physical namespace (I am sorry) 2020-05-08 22:39:24 +02:00
Mateusz Pusz
af6358fbdb gcc-9 compilation fixed 2020-03-05 11:40:05 +01:00
Mateusz Pusz
4b33c0f7c5 Examples with an alternate way to create quantities refactored
- examples modified to provide a unified library look-and-feel
- originals moved to a dedicated subdirectory for further reference and comparison
2020-03-01 14:44:45 +01:00
Mateusz Pusz
18620044c5 All UDLs are now prefixed with q_ 2020-02-17 15:56:06 +01:00
Mateusz Pusz
15e656aba6 clang-format on new examples 2020-01-14 12:50:30 +01:00
Andy Little
024f5a9c83 change const order
move in,ft,fathom,ft2,ft3,mph from us to international namespace
TODO distinguish units with different names for same values
2020-01-12 21:34:36 +01:00
Andy Little
868842bd46 Third party examples : add box example
Add si::density quantity header .
Add si::resistance quantity header.
Update si::capacitance header with mF, uF, nF, pF.
Update si::voltage header with mV, uV, nV,pV
Third party example : add capacitor time curve example
Add incoherent length units, TODO  move them out from si header.
Third party examples : add clcpp_response showing effectivenes of typed units for physical quantity library
Third party examples : add conversion factor example
Add third party examples to cmake

Third party examples : box example : Add air_density constant for clarity remove explicit this-> and tidy up.
Third party examples : in clcpp response example, change base unit from km to m for single type or all units example.
Third party examples : conversion_factor , add inline constexpr to units_str function.
Third party examples : box_example, change quantity::unit syntax to quantity::unit<> to allow generic(default double) value_type.
examples : remove examples from third party to main examples directory. Update cmake.
physical/si/resistance.hpp : remove underscores from kiloohm etc, UDL collision with 'R' so prefix with underscore
2020-01-12 21:34:36 +01:00