All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Use const generics instead of types from
typenumto represent units. #95
- Also updated
num-dualdependency to 0.13 to fix incorrect dependency resolution for downstream crates. #95
- Updated
ndarraydependency to 0.17 to fix incorrect dependency resolution. #94
- Updated
pyo3andnumpydependencies to 0.27. #93
- Added core functionalities for quantities with underlying data structures from
nalgebra. #92 - Added automatic differentiation capabilities from the
num-dualcrate. #92
- Updated the optional num-dual dependency to 0.11.2. #91
- Made all methods (except of
logspace) of quantity arrays generic with respect to the item type. #88
- Implemented
DisplayforDimensionless<T>. #88 - Implemented
DebugforAngle<T>. #88 - Added
Quantity<T, U>::inv. #88
- Generalized implementation of
Quantity<T, U>::absto every type withT: Signed. #88 - Generalized implementation of
Quantity::from_vecandQuantity::linspace. #88
- Implemented
DerefforDimensionless<T>. #86 - Added the new type aliases
MassFlux,HeatFlux,ThermalTransmittance, andThermalResistance. #87
- Added support for the new features in num-dual 0.11.1. #83
- Added formatting (and thus Python support) for heat capacity rates. #81
- Update
pyo3andnumpydependencies to 0.23. #76
- Added division by
CELSIUSin Python. #74
- Reimplemented
si-unitsPython package independent ofquantitycrate in and more "pythonic" fashion. #63 - Reimplemented
quantityto compile-time checked units using thetypenumcrate. #64 - Hide non-essential dependencies behind features
ndarray,approx,num-dual,python,python_numpy. #70 - Implemented angles based on the
Quantitystruct rather than theangcrate. #72
- Added basic support for the combination of structs in the
num-dualcrate with units. #66
- Update
pyo3andnumpydependencies to 0.22. #65
- Updated
pyo3andnumpydependencies to 0.21 and adjusted to the newBoundAPI.
- Updated
pyo3andnumpydependencies to 0.20. - Updated
approxdependency to 0.5.
- Added new functions
SIUnit::from_raw_partsandSIUnit::into_raw_parts. #55
- Fixed workflow for Apple universal2 wheels. #55
- Added new functions
Quantity::from_raw_partsandQuantity::into_raw_partsfor SI quantities. #54
- Added the new SI unit prefixes
QUECTO,RONTO,RONNA, andQUETTA. #49
- Updated
pyo3andnumpydependencies to 0.18. #52
- Added implementations of
IntoIteratorfor everyQuantitywith iteratable inner types. #48 - Implemented
FromIteratorforQuantityArray1, enabling the use ofcollect()for quantity arrays. #48
- Updated
pyo3andnumpydependencies to 0.16. - Updated
angdependency to 0.6.
- Added implementations of
__getstate__and__setstate__functions forPySINumberandPySIArrayXto allow pickling of python objects. #43
- Formatted output for
SINumbers shows the correct number of decimal places again. #42 - Fixed representation of
SINumberss with zero value. #42
QuantityScalar1<U>::from_vecas a simple way to convert vectors of scalar quantities toQuantityArrays. #40- Added constructor for
PySIArray1that acceptsSINumber, a list ofSINumbers provided they have the same unit, andPySIArray1itself. #40
- Removed the
solvefunction ofQuantityArray2to avoid a dependency on external libraries (BLAS, LAPACK). #41
- Updated
pyo3andnumpydependencies to 0.15.
- Added
J/kg/Kto the list of SI unit symbols. #37 - Divide
SINumbers andSIArrays byCELSIUS. Panics if the quantity is not a temperature. #36 - Additional unit
DEBYE. Can only be used together with SI units by squaring it first. #38
- Index into
PySIArray1(get values, set values and iterate over all values). #28 - Implement rich comparison operators (
==,!=,<,<=,>,>=) in python. #27 - Added additional arithmetic operations. #26
PySINumber+PySIArrayX,PySINumber-PySIArrayX,PySINumber/PySIArrayXPySIArrayX+PySINumber,PySIArrayX-PySINumberabs(PySINumber)
- The standalone Python package is renamed to
si_unitsto avoid a name conflict on PyPI and to better reflect its content. #31
- Comparisons (
PartialOrdandPartialEq) ofQuantitys now panic if they do not have the same unit. #27 - Changed the order of the type inference in the arithmetic operations to check for scalars first. #26
- Fix the formatting of
SINumbers with negative values. #24 - Correctly return a
np.ndarrayin multiplications of scalars with arrays in which the units cancel out. #26
- Added
PyAngle:From<Angle>andAngle:From<PyAngle>. #21 - Added
PySIArrayX:Deref<Target=SIArrayX>to automatically convert between&PySIArrayXand&SIArrayX. #21
- Renamed module
pyquantitytopython. #19 - Replaced all Python wrapper structs with tuple structs. #19
- Made the fields of the tuple structs
pub(crate). #21 - Made
PySINumber,PyAngleandPyCelsiusCopy. #21 - Improved float and latex representations of some SI quantities. #20
- Updated
ndarraydependency to 0.15. - Updated
angdependency to 0.4. - Updated
regexdependency to 1.5. - Updated
ndarray-linalgdependency to 0.13. - Updated
pyo3dependency to 0.14.
- Constant
CELSIUS, that can be used for simple temperature conversions, mirrored in python. #17
- Removed enclosing
$fromto_latexfunctions in rust. #16