* BUG: Conversion from complex to number now returns the real part if the
imaginary part is null, and raises an error otherwise. It does not return
the complex modulus anymore. Use Abs() for that.
git-svn-id: svn://localhost/gambas/trunk@6156 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Polynomial: Create a new void polymonial does lead to a crash
anymore.
git-svn-id: svn://localhost/gambas/trunk@6055 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Complete the french translation.
[INTERPRETER]
* BUG: Class reimplementation of Abs() now can return an object or a
floating-point number.
[GB.COMPLEX]
* BUG: Abs() on a Complex returns a Float.
[GB.GEOM]
* BUG: Abs() on a Point or a PointF returns a Float.
[GB.GSL]
* BUG: Abs() on a Complex returns a Float.
git-svn-id: svn://localhost/gambas/trunk@5835 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for inequality operators in the operator interface.
* NEW: The Sgn() function can be implemented by the operator interface.
[GB.GMP]
* NEW: BigInt now supports inequality operators.
* NEW: New methods: Odd(), Even()
* NEW: Logical operators as static methods: And, Or, Xor, Not.
* NEW: Bit manipulation as static methods: BSet, BClr, BChg, BTst.
git-svn-id: svn://localhost/gambas/trunk@5828 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix Abs() when that operator is implemented at class level, so that
it returns an object and not necesarrily a floating point value.
[GB.GMP]
* NEW: New component based on the Gnu Multiple Precision Arithmetic
Library. Only big integers (BigInt class) are partially implemented at
the moment.
git-svn-id: svn://localhost/gambas/trunk@5826 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Update copyright year to 2013.
[GB.FORM]
* NEW: ImageView is a new control that allows to view an image inside a
scrolled view, at different zoom levels.
* BUG: FileProperties now works correctly if 'gb.desktop' is not used.
* NEW: The FileProperties preview tab now uses an ImageView control and has
a toolbar to zoom the preview.
* BUG: Add the 'linux' and 'gnu' icon in the stock icon list.
git-svn-id: svn://localhost/gambas/trunk@5770 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fix the frame position when dragging a control from the toolbar on
a container.
* NEW: The project file properties dialog is now based on the new
FileProperties control.
[INTERPRETER]
* NEW: GB.OnErrorBegin() and GB.OnErrorEnd() are two new APIs that allow to
register cleanup routines that are called when an error is raised between
the GB.OnErrorBegin() call and the GB.OnErrorEnd() call.
[INFORMER]
* BUG: The value of Float constants is now correctly dumped in *.info
files.
[GB.COMPLEX]
* NEW: Implement the same Complex.ToString() method as in gb.gsl.
[GB.DESKTOP]
* NEW: Desktop.DataDir is a new property that returns the directory where
the application must store its user-specific data.
* NEW: Desktop.ConfigDir is a new property that returns the directory where
the application must store its user-specific configuration.
* NEW: Desktop.CacheDir is a new property that returns the directory where
the application must store its user-specific cached data.
* NEW: Desktop.RuntimeDir is a new property that returns the directory
where the application must store its temporary runtime files.
* BUG: Fix a possible crash when searching a mimetype from the file
extension.
[GB.FORM]
* NEW: FileProperties is a new control that displays the properties of a
specific file or directory. It automatically computes the size of
directory contents through a background task.
* BUG: Setting the TabPanel.Border property now correctly refreshes its
layout.
* NEW: The stock icon map now can declare specific icons for specific
widget themes.
[GB.FORM.STOCK]
* NEW: Fix the 'tools' icon for elementary icon theme.
[GB.GSL]
* BUG: Fix the Vector.ToString() declaration.
[GB.QT4.EXT]
* NEW: The Editor.LineOffset property has been renamed as
Editor.LineNumberOffset.
git-svn-id: svn://localhost/gambas/trunk@5725 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly initalize the help browser layout.
* NEW: Use the new Image.Fuzzy() method to draw a drop shadow in the
welcome screen text.
[COMPILER]
* NEW: The GB_PCODE_VERSION environment variable can take 'X.YY' as version
instead of 'X.YY.ZZZZ', which is actually useless.
[GB.COMPRESS]
* BUG: Remove useless code never compiled.
[GB.DBUS]
* BUG: Fix a possible memory leak in a debugging routine.
[GB.GSL]
* BUG: Remove useless code never compiled.
[GB.GTK]
* NEW: Implement a cairo surface cache in the Image class, so that drawing
the same image several times trigger a GdkPixbuf -> Cairo surface
conversion once.
* BUG: Slider and Scrollbar controls now raise the Change event only if the
value has really changed.
[GB.NET]
* BUG: Remove useless code never compiled.
[GB.NET.CURL]
* BUG: Remove useless code never compiled.
[GB.NET.SMTP]
* BUG: Remove useless code never compiled.
[GB.V4L]
* BUG: Remove useless code never compiled.
git-svn-id: svn://localhost/gambas/trunk@5489 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Switch to 3.2.90 version.
[DEVELOPMENT ENVIRONMENT]
* BUG: Fix automatic completion of project classes that reimplements
another class.
[WEB SITE MAKER]
* BUG: Fix scrolling frames on Chrome.
[INTERPRETER]
* NEW: Args and Env classes are now shortcuts for Application.Args and
Application.Env properties.
git-svn-id: svn://localhost/gambas/trunk@4977 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: The project tree filter box now tries to keep the focus.
* NEW: Hitting ENTER in the project filter box opens the current selected
file.
* NEW: Using arrows keys in the project filter box now moves the project
tree cursor.
* NEW: CTRL+L now sets the focus back to the project filter box.
* NEW: Hitting ESC in the project filter box now resets the filter.
* NEW: Add support for gb.gsl component in the project creation dialog.
[INTERPRETER]
* NEW: Support for floating-point constants.
* BUG: The equality operators of the _operator interface now can return -1
when a datatype is not supported.
[GB.COMPLEX]
* NEW: Remove methods that are implemented by the _operator interface.
[GB.QT4]
* OPT: Load clipboard format list only if the clipboard has changed.
[GB.GSL]
* NEW: Matrix can be compared with real or complex numbers. The number is
then multiplied by the identity matrix before doing the comparison.
git-svn-id: svn://localhost/gambas/trunk@4958 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Support for declaring Float constants in class declarations.
[GB.GSL]
* NEW: Make not localized object-to-string conversions return a string that
is readable by Eval().
* NEW: Remove methods that are already implemented by arithmetic operators.
* NEW: Use Float constants in the GSL class.
git-svn-id: svn://localhost/gambas/trunk@4957 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* 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
[GB.GSL]
* 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@4948 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
* OPT: Remove a useless test in the macro that returns the class of an
object.
* OPT: Some little optimization in some type checks.
git-svn-id: svn://localhost/gambas/trunk@4939 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Remove the FloatVector and ComplexVector classes. Now the Vector
class handle vector of Float or Complex transparently.
git-svn-id: svn://localhost/gambas/trunk@4936 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Put every '_operators' interface related methods in the same source
file.
[GB.GSL]
* NEW: Polynomial _call() special method now is a synonymous of its Eval()
method. That way, you can write 'P(X)' to get the value of P(X).
git-svn-id: svn://localhost/gambas/trunk@4933 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Implement the ^ operator in the '_operators' interface.
[GB.COMPLEX]
* NEW: Implement the ^ operator.
[GB.GSL]
* NEW: Implement the ^ operator in the Complex class.
git-svn-id: svn://localhost/gambas/trunk@4931 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Array of classes exported by a component are now correctly handled
by the component interface analyzer.
[INTERPRETER]
* BUG: The _operators interface now correctly takes into account the
"Float - Object" case.
[GB.GSL]
* NEW: Redesign of the Polynomial class. Now it implements a polynomial
that can switch between real and complex coefficients transparently.
* NEW: The ComplexPolynomial class has been removed.
git-svn-id: svn://localhost/gambas/trunk@4929 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: New gb.complex component
[INTERPRETER]
* BUG: Automatic array conversion now works with not yet loaded array
classes.
[GB.COMPLEX]
* NEW: New component that implements a rudimentary management of complex
numbers. This component is automatically loaded if a complex number
constant is encountered and no loaded component can already handle
complex numbers.
git-svn-id: svn://localhost/gambas/trunk@4924 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add Complex.Neg() to return the negative of a complex number.
* NEW: Add Complex.Inv() to return the inverse of a complex number.
git-svn-id: svn://localhost/gambas/trunk@4923 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Add a Complex.Conj() method to return the conjugate of a complex number.
git-svn-id: svn://localhost/gambas/trunk@4922 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
* NEW: When converting an instance of A to the class B, try the conversion
interface of A first. If A has no conversion interface, or if it cannot
handle the B class, then try the conversion interface of B if any.
[GB.GSL]
* NEW: Vector class has been implemented.
[GB.JIT]
* NEW: SPEC_CONVERT constant has been replaced by a field in the CLASS
structure.
git-svn-id: svn://localhost/gambas/trunk@4916 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Correctly raise an error when trying to use NULL on classes
implementing the _operators interface.
* NEW: The _convert interface now must handle conversions from any
datatype.
[GB.GSL]
* NEW: Automatic conversion from numbers to Complex.
* NEW: Start implementating the Vector class.
git-svn-id: svn://localhost/gambas/trunk@4913 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Complex class has been cleaned up.
* BUG: Fix array creation in CComplexPolynomial.ComplexSolve().
git-svn-id: svn://localhost/gambas/trunk@4911 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: "_operators" is a new interface that allows any native class to be
used with most of arithmetic operators: +, -, *, /, Abs, =, <> at the
moment.
* NEW: The "_convert" interface now allows a class to be converted to any
datatype, not just other classes.
* NEW: Str() and Print uses the "_convert" interface to print a localized
string conversion of any object.
[GB.GSL]
* NEW: Use the new "_operators" interface so that complex numbers can be
handled by standard arithmetic operators.
* NEW: The Complex class now implements the "_convert" interface.
git-svn-id: svn://localhost/gambas/trunk@4908 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Replace the old "INCLUDES" directive by "xxx_CPPFLAGS" in all
Makefile.am files.
[GB.XML]
* BUG: Remove debugging flags from compilation flags.
git-svn-id: svn://localhost/gambas/trunk@4714 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* NEW: Change CPolynomial_SolveQuadratic and CPolynomial_SolveCubic to use
values from internal data array. Also added Out of bounds error if the number of
coefficients is incorrect for the called method.
git-svn-id: svn://localhost/gambas/trunk@4502 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Commented out bad line of code that cause the component to fail to compile.
git-svn-id: svn://localhost/gambas/trunk@4500 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixed issue with incorrect return type in CPolynomial_SolveCudic and
CPolynomial_SolveQuadratic methods.
git-svn-id: svn://localhost/gambas/trunk@4499 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Fixed filenames in file headers.
Renamed static *create_complex() in the complex class
to GSLComplex_create() so that it could be used in other
compenent files.
git-svn-id: svn://localhost/gambas/trunk@4488 867c0c6c-44f3-4631-809d-bfa615b0a4ec
* BUG: Changed function prototypes in all files to use upper case variable names (xf) to (X)f.
Moved frexp to c_gsl where it belongs.
git-svn-id: svn://localhost/gambas/trunk@4487 867c0c6c-44f3-4631-809d-bfa615b0a4ec