Age | Commit message (Collapse) | Author | |
---|---|---|---|
2025-05-30 | ExpressionParser: use correct operand order | Adrien Hopkins | |
Most of the internal problems with the expression parser happened because I was accepting the arguments for binary operators in the wrong order. For example, '2 - 1' became '1 2 -', not '2 1 -'. The likely cause of this error is the following sequence of events: - In commit 6dbd32cd, I created the code for interpreting RPN. I accepted two arguments from the stack (o1 and o2), then performed o1 <op> o2. However, because stacks are in LIFO order, I should have actually done o2 <op> o1. - Later, in commit 94349688, I created the code for converting an infix expression to RPN. Creating the expressions in the correct order did not work, because my interpreter used the incorrect order. To 'fix' this problem, I created the expressions in the incorrect order. I did not notice any discrepancy, probably because I was not testing the individual methods, only the two-step whole (which found no errors). | |||
2025-05-17 | Setup automated javadoc | Adrien Hopkins | |
./gradlew javadoc | |||
2025-04-30 | Add more UnitDatabase tests | Adrien Hopkins | |
2025-04-20 | Improve Metric base units SuppressWarnings message | Adrien Hopkins | |
2025-03-21 | Add tests for NameSymbol | Adrien Hopkins | |
2025-03-07 | convertToMulti: Compare unit bases to this.base | Adrien Hopkins | |
This is a necessary precondition for the conversion methods used later on in convertToMutliple, and it is simpler than the existing method. I can also be sure it works, due to the tests I just wrote. | |||
2025-02-23 | Bump version number to 1.0.0b1v1.0.0b1 | Adrien Hopkins | |
Compared to version 0.5.0, this release: - allows conversion to sums of units (e.g. 4/3 ft → 1 ft + 4 in) - allows non-integer exponents in expressions - adds the ability to change the UI language - gracefully handles datafile errors - adds more information to the loading-success message, and adds it to the About tab - allows the user to not use the default datafiles No new features will be added until the release of version 1.0.0. | |||
2024-08-28 | Bump version number to 1.0.0a1v1.0.0a1 | Adrien Hopkins | |
2024-08-22 | Show unit/dim file errors as popup | Adrien Hopkins | |
Previously, any error in the unit or dimension file(s) crashes the program. Instead, 7Units now ignores any invalid lines, still parsing the correct ones, and shows a popup in case any errors happen. | |||
2024-08-22 | Add 1e-12 to unit sum parts before flooring | Adrien Hopkins | |
This ensures that small errors from floor arithmetic will not, for example, cause 2 feet to be converted to 1 foot + 12 in. | |||
2024-08-22 | Allow fractional exponents | Adrien Hopkins | |
2024-08-22 | Validate unit set non-emptiness & dimension | Adrien Hopkins | |
2024-08-22 | Add named unit sets to unit converter | Adrien Hopkins | |
2024-08-22 | Add ability to convert expression to sum of units | Adrien Hopkins | |
2024-08-15 | Correct encoding of ± | Adrien Hopkins | |
2024-03-24 | Bump version number to 0.5.0v0.5.0 | Adrien Hopkins | |
2024-03-24 | Format source code & set explicit UTF-8 | Adrien Hopkins | |
2024-03-23 | Add fractions using | to expressions | Adrien Hopkins | |
| is like /, but with higher precedence. This feature is a part of GNU Units, and was included in 7Units for compatibility. | |||
2024-03-23 | Update documentation and version# (0.5.0a2)v0.5.0a2 | Adrien Hopkins | |
2024-03-23 | Complete exponentiation of dimensions | Adrien Hopkins | |
Previously, you could only exponentiate individual dimensions in expressions. For example, `Length^3` was valid, but `(Length / Time)^2` was not. This is now fixed. | |||
2024-03-03 | Add + and - to prefixes | Adrien Hopkins | |
This was added to be consistent with the data file spec, which was changed for consistency with unit expressions. It may not be a common expression, but it's a bit weird that you can use +/- in units but not prefixes, even though they're in the same file! | |||
2023-09-24 | Bump version to v0.5.0a1v0.5.0a1 | Adrien Hopkins | |
2023-04-15 | Bumped version number to 0.4.1v0.4.1 | Adrien Hopkins | |
2022-07-17 | Bumped version number to 0.4.0v0.4.0 | Adrien Hopkins | |
2022-07-08 | Bumped version number to 0.4.0b1 & added @sincev0.4.0b1 | Adrien Hopkins | |
2022-05-18 | Added front-end code information to the design document | Adrien Hopkins | |
2022-04-19 | Finalized version 0.4.0-alpha.1 | Adrien Hopkins | |
2022-04-19 | Implemented prefix settings, saving & loading of settings | Adrien Hopkins | |
Also fixed some bugs: - Presenter now has default values for its settings in case they don't load properly - UnitDatabase ensures its units, prefixes and dimensions have all of the names you give it | |||
2022-04-18 | Implemented one-way conversion, duplicate prefixes can now be hidden | Adrien Hopkins | |
2022-04-18 | Implemented rounding and duplicate-removal settings into the new GUI | Adrien Hopkins | |
2022-04-16 | Implemented the unit & prefix viewers | Adrien Hopkins | |
2022-04-16 | Added a full suite of frontend tests | Adrien Hopkins | |
(Added tests for the settings and unit/prefix viewer parts of the GUI, which are not yet implemented) | |||
2022-04-16 | Removed NamedObjectProduct in favour of the regular ObjectProduct | Adrien Hopkins | |
2022-04-10 | Created API for settings and unit/prefix viewing | Adrien Hopkins | |
2022-03-10 | Named the metric dimensions & fixed NameSymbol.toString | Adrien Hopkins | |
2022-03-10 | Simplified toString of common unit classes | Adrien Hopkins | |
2022-02-26 | Implemented expression conversion, tests now pass | Adrien Hopkins | |
2022-02-26 | Implemented unit conversion, with a few problems | Adrien Hopkins | |
TabbedView now displays its units, but with their toString method which shows their definition in addition to their name | |||
2022-02-24 | Moved SemanticVersionNumber to sevenUnits.utils | Adrien Hopkins | |
2022-02-20 | Made the version number an object, changing it to 0.4.0-alpha+dev | Adrien Hopkins | |
2022-02-19 | Made barebones GUI (TabbedView) | Adrien Hopkins | |
2021-12-24 | Did some API design for user settings, and moved GUI to a new package | Adrien Hopkins | |
2021-12-16 | Designed the API for a new GUI | Adrien Hopkins | |
Currently "supports" unit conversion, expression conversion and settings loading | |||
2021-12-02 | Updated changelog and version numberv0.3.2 | Adrien Hopkins | |
2021-11-29 | Added a full suite of tests for the UncertainDouble | Adrien Hopkins | |
2021-11-04 | Added a bunch of tests related to unit values | Adrien Hopkins | |
2021-11-02 | Added a test for UnitDatabase.isRemovableDuplicate | Adrien Hopkins | |
2021-10-07 | Added tests for getUnit and the prefixed unit map | Adrien Hopkins | |
Also fixed a bug where a prefixed unit map with units but no prefixes would appear empty | |||
2021-10-04 | Added tests for valid & invalid dimension files | Adrien Hopkins | |
2021-09-27 | The ExpressionParser test is now a paramaterized test | Adrien Hopkins | |