Name | Modified | Size | Downloads / Week |
---|---|---|---|
Parent folder | |||
calm-4.0.0.zip | 2017-05-16 | 321.7 kB | |
calm-4.0.0.tar.gz | 2017-05-16 | 318.2 kB | |
README.md | 2017-05-16 | 2.0 kB | |
Totals: 3 Items | 641.9 kB | 0 |
Release notes: CalM version 4.0.0
Overview
The .sh
extension was removed from the GNU/Linux launcher script.
Support for arbitrary-precision arithmetic has been added to CalM 4. Two new symbols pertaining to floating-point number types have been added:
big
: creates arbitrary-precision floating pointssmall
: creates standard floating points
The logical operators and
and or
have been made sequence points. That
means they only evaluate the first argument if that's sufficient to determine
the result.
API changes and new features
Significant structural changes have been made to implement arbitrary-precision arithmetic in particular. Some API changes:
- The classes
Numbers
andBools
in themath.mp.type
package have been replaced with an interface namedTypeContext
. Rather than calling static methods inNumbers
andBools
, an instance implementingTypeContext
is passed to various constructors. The type context is created by the math parser configuration. - A new math parser config has been added:
ArbitraryPrecisionConfig
. It's based onStandardConfig
.ExtendedConfig
changed name toScriptConfig
and based onArbitraryPrecisionConfig
. - A class named
Real
has been added to themath
package. It represents an arbitrary-precision real number. - The class
Fraction
got the methodpow(int exponent)
. - The
math.util
package was removed.MathUtil
was moved to themath
package andMatrixUtil
tomatrix
.ArgUtil
,EvalUtil
andTypeUtil
was moved tomath.mp.util
. - The interface
math.rpn.override.OperationOverride
was deleted.Overridable.addOverride
now acceptsOperation
instead. A special operand instance (Overridable.PASS
) can be returned by the overriding operation to pass the calculation.