This new bindings allow to get or set the numerator or denominator of
a rational. Numerator and denominator are Big_Integer numbers.
This change also adds new tests.
TN: V310-009
Change-Id: I015be345acb03399bfaf54a03aeeda15fc0ad1f1
This new bindings allow to compare Rational with Rational or
Big_Integer numbers, using the standard Ada comparison operators.
TN: V310-009
Change-Id: I1e19a3ddc586c375181c67c3aeee6e6dd52c846a
Operators "+", "-" (both binary and unary), "*", "/", and "abs" have
been implemented.
Since operands have to be in a canonical form before any arithmetic
operations, a new parameter has been added to the `Set` directives to
handle that automatically. All rational values are canonicalized by
default but the user can still decide to not canonicalize a number if
needed. An exception is raised if an arithmetic operation with
non-canonical operands is performed.
TN: V310-009
Change-Id: If6dac7ed93f1e3042a3db4bdc45a77530664c47f
These new bindings allow to set or to get a rational number from a
floating-point value (derived from Interfaces.C.double type).
TN: V310-009
Change-Id: I46374808e223ffa3163774fbaadeb690ae0bf424
These new bindings concern the following method:
* Set (Rational, Rational),
* Set (Rational, Big_Integer),
* Set (Rational, Long, Unsigned_Long),
* Swap (Rational, Rational).
More tests for assignments bindings have been added.
TN: V310-009
Change-Id: I914b762464de4c664bf0d56ec596307b504cf633
This patch introduces the first rational functions bindings, limited
to set a rational number from a string and to get back its string
representation.
Therefore, a new package GMP.Rational_Numbers contains the following
type:
* Rational: a private type to handle GMP mpq_t C type.
It also contains the following methods:
* Set (Rational, String, Base): to set a rational number from a
string,
* Image (Rational, Base): to get the string representation of a
rational number.
This patch comes also with a minimal set of tests.
TN: V310-009
Change-Id: Ie021bc1a338f836fbac56e4d6274ea3d6a6bae7a
- PyObject_GetAttrString returns a new ref which must
be decref'd.
- Over-referrenced class when calling internal method
Change-Id: I16170aaa3e8daeaf4ad02dcc4cfee3f53574574e
Test programs are already built with no optimization. Add -g so that we
also have debug info, for full debuggability.
Change-Id: Iff5560322f25cde4286a8bca807714c0cd2fd3c9
TN: V310-010
--recompile is useful to let the testsuite build and install gnatcoll,
but it forces the PROD build mode. Add --debug to make the tested
library more friendly to debuggers.
Change-Id: I367fc0cbadf7275d1f1c30a43a44e3af5f9cc8e7
TN: V310-010
Enable all warnings and GNAT style checks for both PROD and DEBUG build
modes. Also trigger warnings-as-errors in DEBUG mode.
Change-Id: I0f24bad7460245c31bb61cdd7ab99f46e411d9c6
TN: V310-009
This mechanism, currently unused, is obsolete now that e3-testsuite
provides the "control" mechanism.
Change-Id: I641ab9fb04d1c236026a3d38f272e3b21d064455
TN: V310-010
Also black-ify testsuite Python scripts and remove the unused
"data_validation" and "json_validation" test drivers.
Change-Id: I4a333cb689991cac2b3cbffd94b6e4d53e987331
TN: V310-010
- Disable the new vectorcall API (the tp_call profile only
supports the old call format).
- Add missing GIL locks
- Manually config python to use utf-8 (this was automatic with
previous versions)
Change-Id: I214b53e1e1b4fbc2a9af1cf1ec8985cff7905a55