* NEW: Add a GB.FreeStringLater() API to allow components to create a new
string with GB.NewString(), and let the interpreter frees it later.
[GB.GSL]
* NEW: Add a ToString() method to all classes. That method takes two
arguments: the first one tells if number must be localized. The second
one tells if complex numbers and polynomials are converted to a string
that can be sent to Eval().
* BUG: Adding a number N to a Matrix A is equivalent to adding N times the
identity matrix.
* NEW: The '^' operator has been implemented in the Matrix class. Only A^N
where N is an integer is valid.
git-svn-id: svn://localhost/gambas/trunk@4955 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Any operators of the _operator interface can be optional now. But
consequently, division by zero must be raised by the implementation.
* NEW: Implement Vector arithmetic operators.
* NEW: Rename some Matrix methods.
* NEW: Implement Polynomial arithmetic addition and substraction.
* BUG: Fix Polynomial to string conversion.
* NEW: Complex.Handle is a new property that returns the memory address of
the underlying complex number in memory.
git-svn-id: svn://localhost/gambas/trunk@4947 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: '_operators' interface has been renamed as '_operator'.
* NEW: Arithmetic operators now can be applied on two objects with
different classes. One at least must implement the '_operator' interface.
* NEW: Each class that implements the '_operator' interface has now an
automatic priority that follows the load order. When a binary operator
has two objects that implement two different '_operator' interface, the
one having the highest priority is used.
* NEW: Implementing all methods in the '_operators' interface is not
mandatory anymore. If one method is not implemented, then it is replaced
by a function that raises a 'Type mismatch' error.
[GB.GSL]
* NEW: Matrix arithmetic has been implemented.
* NEW: Matrix.Determinant() method.
* NEW: Matrix.Invert() method.
* NEW: Matrix.Transpose() method.
* NEW: Matrix _call special method multiplies a matrix by a vector.
* NEW: Vector <-> Array conversion.
git-svn-id: svn://localhost/gambas/trunk@4946 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a new API to create an object without calling the constructors.
[GB.CRYPT]
* BUG: Fix bad casting of strcmp() return value to boolean. The same
security flaw has been found in MySQL recently. See
http://seclists.org/oss-sec/2012/q2/493
[GB.GTK]
* BUG: Fix bad casting of strcmp() return value to boolean in the Font
management.
[GB.GSL]
* NEW: Matrix class built the same way as the Vector class, i.e. with the
ability to switch transparently between Float or Complex elements.
git-svn-id: svn://localhost/gambas/trunk@4945 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for imaginary number syntax. For example, using "3i" will
automatically load the gb.gsl component, create the corresponding complex
number and return it.
[COMPILER]
* NEW: Support for imaginary number syntax.
[GB.EVAL]
* NEW: Support for imaginary number syntax.
[GB.GSL]
* NEW: Support for imaginary number syntax.
* NEW: Vector class is now generic, and has two child classes: FloatVector
and ComplexVector, depending on the type of its elements.
* BUG: Support for arithmetic operators on Vector class has been removed.
It had too many problems.
git-svn-id: svn://localhost/gambas/trunk@4918 867c0c6c-44f3-4631-809d-bfa615b0a4ec