Repository navigation
Releases: edadma/dal
Releases · edadma/dal
Release list
v0.0.9
New Features
Auto-promotion for Inverse Trigonometric Functions
asinFunction and acosFunction now automatically extend to the complex domain when the input is outside the standard real domain of [-1, 1]:
// Within domain [-1, 1]: returns real result
ComplexDAL.asinFunction(0.5) // → 0.5236... (Double)
ComplexDAL.acosFunction(-1) // → 3.1415... (Double, π)
// Outside domain: automatically promotes to complex
ComplexDAL.asinFunction(2) // → 1.5708 - 1.3170i (ComplexDouble)
ComplexDAL.acosFunction(2) // → 0 + 1.3170i (ComplexDouble)
// BigDecimal inputs promote to ComplexBigDecimal when outside domain
ComplexDAL.asinFunction(BigDecimal("2.5")) // → ComplexBigDecimalThis allows mathematical operations like asin(2) to return meaningful complex results instead of NaN.
Testing
- Added comprehensive unit tests for inverse trigonometric functions
- Tests cover domain boundaries, auto-promotion, and various input types
v0.0.7
v0.0.6
What's New
Quaternion Support
- Added quaternion types to the type system for proper type detection
- Extended all trigonometric functions (sin, cos, tan, asin, acos, atan) to support quaternions
- Extended transcendental functions (sqrt, abs, ln, exp) to support quaternions
New Hyperbolic Functions
- Added
sinhFunction,coshFunction,tanhFunctionwith support for:- Real numbers (Integer, Long, BigInt, Rational, Double, BigDecimal)
- Complex numbers (ComplexBigInt, ComplexRational, ComplexDouble, ComplexBigDecimal)
- Quaternions (QuaternionBigInt, QuaternionRational, QuaternionDouble, QuaternionBigDecimal)
v0.0.5
Bug Fixes
- Fix
!=operator for quaternion types (was incorrectly using==) - Fix
toQuaternionDoubleconversion fromComplexBigInt(was usingrefor both real and imaginary parts)
Other Changes
- Update Scala version badge in README to 3.7.4
- Update dependency version in README to 0.0.5