kmath v0.1.4 Release Notes

Release Date: 2020-09-14 // almost 2 years ago
  • โž• Added

    • Functional Expressions API
    • Mathematical Syntax Tree, its interpreter and API
    • ๐Ÿ“œ String to MST parser (#120)
    • MST to JVM bytecode translator (#94)
    • FloatBuffer (specialized MutableBuffer over FloatArray)
    • FlaggedBuffer to associate primitive numbers buffer with flags (to mark values infinite or missing, etc.)
    • ๐Ÿ— Specialized builder functions for all primitive buffers like IntBuffer(25) { it + 1 } (#125)
    • Interface NumericAlgebra where number operation is available to convert numbers to algebraic elements
    • ๐Ÿ‘ Inverse trigonometric functions support in ExtendedField (asin, acos, atan) (#114)
    • ๐Ÿ†• New space extensions: average and averageWith
    • Local coding conventions
    • Geometric Domains API in kmath-core
    • Blocking chains in kmath-coroutines
    • 0๏ธโƒฃ Full hyperbolic functions support and default implementations within ExtendedField
    • ๐Ÿ‘ Norm support for Complex

    ๐Ÿ”„ Changed

    • readAsMemory now has throws IOException in JVM signature.
    • Several functions taking functional types were made inline.
    • Several functions taking functional types now have callsInPlace contracts.
    • 0๏ธโƒฃ BigInteger and BigDecimal algebra: JBigDecimalField has companion object with default math context; minor optimizations
    • ๐Ÿ‘ power(T, Int) extension function has preconditions and supports Field<T>
    • Memory objects have more preconditions (overflow checking)
    • tg function is renamed to tan (#114)
    • Gradle version: 6.3 -> 6.6
    • ๐Ÿšš Moved probability distributions to commons-rng and to kmath-prob

    ๐Ÿ›  Fixed

    • Missing copy method in Memory implementation on JS (#106)
    • D3.dim value in kmath-dimensions
    • Multiplication in integer rings in kmath-core (#101)
    • Commons RNG compatibility (#93)
    • Multiplication of BigInt by scalar