v0.4.0
Add a converter command line application and fix a few slow conversion issues and some other fuzz issues that came up recently, add isnormal operation for measurements, better test coverage for fixed_precise_measurement, some additional tests and static analysis checks.
Changed
- Added several tests run under Azure to remove deprecated image and add some new tests #40
- clears up several warnings from clang-tidy #41
- the fuzzer now uses fuzz_measurement #42
- update clang format to limit line length to 80 and allow reflowing comments #43
- add clang-tidy checks for the tests and fix a few issues. #47
Fixed
- A few timeouts on the fuzzer- the fix was to generalize the multiplier insertion after ^ to accept multiple digits after the ^ instead of just ignoring it after more than one. #34
- An asymmetry was observed in the unit equality from on the fuzzers, this resulted in some modifications of the
cround_equal
andcround_precice_equals
functions. Also noted that the functions weren't aborting on exact floating point equality so were doing quite a bit of extra calculations. #34 - A timeout issue from fuzzing having to do with not injecting multiplies after
[]
in some circumstances. The fix was to be a little more refined as to which point to not inject the*
and to do it in multiple stages so as to not rely on the partitioner so much. #35 fixed_measurement
andfixed_precise_measurement
had incorrect subtraction operation in a few overloads. #39- fixed a few initial issues from fuzz_measurement #42
- Some more fuzzing generated issues with cascading powers #45
- A number of additional clang-tidy checks were added and the resulting warnings fixed #46
- An issue from the fuzzer dealing with equation type units #51
Added
- added a converter command line application that can convert units on the command line #35
- Added a file operation that can load user defined units from a file #36
- Added
is_valid
methods for all measurement types #36 - Added addUserDefinedInputUnit to add user defined units only on the input #36
- The webserver gained a
to_string
option to use the internal to_string operations to simplify the measurement and units #37 - The webserver and the converter gained an ability to handle
*
and<base>
as the input unit to convert the measurement to base units. #37 - Added
to_string
operation for uncertain_measurements #38 - Added
isnormal
operation for measurement types #39 - Added
UNITS_CLANG_TIDY
option to run tests with Clang tidy #41 - Added fuzz_measurement fuzzer to test measurement_from_string #42
- Added cpplint test to azure #43
- Added a number of additional units from UDunits #44
- Added several CI checks including CPPlint, and a series of CMAKE checks, and formatting checks #48,#49
- Added a series of additional tests for coverage #50