From Newsgroup: comp.lang.ada
The current version provides implementations of smart pointers, directed graphs, sets, maps, B-trees, stacks, tables, string editing, unbounded
arrays, expression analyzers, lock-free data structures, synchronization primitives (events, race condition free pulse events, arrays of events, reentrant mutexes, deadlock-free arrays of mutexes), arbitrary precision arithmetic, pseudo-random non-repeating numbers, symmetric encoding and decoding, IEEE 754 representations support, streams, persistent storage, multiple connections server/client designing tools and protocols implementations.
https://www.dmitry-kazakov.de/ada/components.htm
The focus of this release is an implementation of arbitrary precision
rational numbers. The difference to standard library Ada.Numerics.Big_Numbers.Big_Reals:
- No limits, except for the pool size;
- String edit packages representing a number in a usual form (with the specified accuracy) rather than as a numerator/denominator ratio;
- An equivalent of Ada.Numerics.Elementary_Functions with rational approximations;
- Simple continued fractions support.
Changes to the previous version:
- The package Unbounded_Rationals provides an implementation of
arbitrary precision rational numbers arithmetic;
- The child package Unbounded_Rationals.Elementary_Functions provides approximations in rational numbers of some elementary, trigonometric and hyperbolic functions;
- The package Strings_Edit.Unbounded_Rational_Edit provides string
editing for arbitrary precision rational numbers;
- The package Strings_Edit.Unbounded_Unsigned_Edit was optimized for
better performance;
- Mixed Unsigned_Integer to Integer operations were added to the package Unsigned_Integers;
- The package Unbounded_Rationals.Continued_Fractions provides an implementation of simple continued fractions;
- The package Strings_Edit.Continued_Fraction_Edit provides string
editing for simple continued fractions;
- Bug fixes in List_SetItem Python bindings;
- Check_Error message in Python binding was improved, trace back output
added;
- Added higher level operations to create Python modules after
initialization of the Python interpreter;
- Added higher level operations to create Python classes AKA heap types
after initialization;
- An example of higher level module creation was provided;
- An example of higher level class creation was provided;
- IsInitialized function was added to Python bindings;
- OSX project settings fixed.
--
Regards,
Dmitry A. Kazakov
http://www.dmitry-kazakov.de
--- Synchronet 3.21a-Linux NewsLink 1.2