Skip to content

Release 0.8.11 "Accomplishment" - Towards full equation library

Pre-release
Pre-release
Compare
Choose a tag to compare
@c3d c3d released this 27 Jan 08:29

This release contains a number of fixes and features intended for use in the equation library being contributed by Jean Wilson

Features

  • Accept library items for functionc calls. For example, the expression 'ⓁSiDensity(273_K)' is now accepted. This function is usd in semi-conductor equations in the library.
  • The Root command now attempts symbolic solving using the Isol command. This can lead to exact solutions for common equations.
  • The SigDig command is a DB48x extension that returns the number of significant digits in a number, i.e. the number of non-zero digits.
  • The xpon and mant now apply to unit objects
  • Functions now accept assignments as input, e.g. x=9 sqrt gives 3.0
  • The equation referenced to by the Equation variable can now be identified using a name.
  • The NxEq command now works with quoted equations

Bug fixes

  • The ln(1E-100) expression no longer gives a Argument outside domain error. The error was caused by rounding during argument reduction.
  • Comparison between a value and a unit object now work correclty
  • Arithmetic now correctly deals with dimensionless unit objects, for example in expression '1-1000_mm/m', and improves the evaluation of unit expressions when adding or subtracting unit objects.
  • Names containing programs or functions are now evaluated as part of algebraic evaluation
  • The solver now correctly processes equations wrapped in an expression.
  • Convert now correclty evaluates its arguments when necessary
  • Assignment objects no longer cause a crash on error. For example, x='ln(0)' no longer crashes.

Improvements

  • Improve solver heuristic when slope is small. This allows the solver to find a solution for an equation like 'tan(x)=224' in degrees mode.
  • Add more recorder entries in the solver describing what is being solved.
  • Move recorder entries for tests to tests data logger.
  • Tests use a larger text rendering limit
  • Tests now purge the directory between examples. This prevents stray variables from influencing later tests.
  • The handling of long UTF-8 sequences in tests was improved, which allows tests involving a lot of text (e.g. examples) to run faster.