Skip to content

Releases: edadma/dal

v0.0.9

Choose a tag to compare

@edadma edadma released this 19 Jan 17:17

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"))  // → ComplexBigDecimal

This 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

Choose a tag to compare

@edadma edadma released this 18 Jan 02:03
  • Update numbers dependency to 0.0.9

v0.0.6

Choose a tag to compare

@edadma edadma released this 17 Jan 23:25

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, tanhFunction with support for:
    • Real numbers (Integer, Long, BigInt, Rational, Double, BigDecimal)
    • Complex numbers (ComplexBigInt, ComplexRational, ComplexDouble, ComplexBigDecimal)
    • Quaternions (QuaternionBigInt, QuaternionRational, QuaternionDouble, QuaternionBigDecimal)

v0.0.5

Choose a tag to compare

@edadma edadma released this 17 Jan 23:00

Bug Fixes

  • Fix != operator for quaternion types (was incorrectly using ==)
  • Fix toQuaternionDouble conversion from ComplexBigInt (was using re for 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

v0.0.4

Choose a tag to compare

@edadma edadma released this 15 Jan 02:19

Changes

  • Add roundFunction for rounding numbers with HALF_UP mode
  • Fix JS test compatibility issue
  • Update to new Sonatype Central publishing setup
  • Bump Scala to 3.7.4, sbt-scalajs to 1.20.1, sbt-scala-native to 0.5.9