Commit graph

68 commits

Author SHA1 Message Date
Benoît Minisini
13dd04d5a4 [DEVELOPMENT ENVIRONMENT]
* 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
2013-01-03 22:06:35 +00:00
Benoît Minisini
938458a03e [CONFIGURATION]
* 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
2012-07-21 20:43:10 +00:00
Benoît Minisini
1d0ebd5999 [DEVELOPMENT ENVIRONMENT]
* 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
2012-07-16 16:30:55 +00:00
Benoît Minisini
08aaa38590 [INTERPRETER]
* 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
2012-07-15 22:38:11 +00:00
Benoît Minisini
5d1fbdd68b [GB.GSL]
* OPT: Optimize Matrix '^' operator.
* BUG: Fix Matrix.Trans() method.
* NEW: Add a Matrix.Conj() method that returns the conjugate matrix.
* BUG: Fix Complex to String conversion.


git-svn-id: svn://localhost/gambas/trunk@4956 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-15 14:21:26 +00:00
Benoît Minisini
7c9f99fef6 [INTERPRETER]
* 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
2012-07-15 13:07:57 +00:00
Benoît Minisini
0651b95bb9 * Fix previous commit log!
[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
2012-07-14 15:30:57 +00:00
Benoît Minisini
a5c174d248 [INTERPRETER]
* 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
2012-07-14 15:18:22 +00:00
Benoît Minisini
df89e09b2e [INTERPRETER]
* 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
2012-07-14 02:49:57 +00:00
Benoît Minisini
89d42c3d40 [INTERPRETER]
* 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
2012-07-12 23:34:14 +00:00
Benoît Minisini
6931d13491 [GB.GSL]
* OPT: Optimize Complex arithmetic by avoiding unneeded object creations.


git-svn-id: svn://localhost/gambas/trunk@4940 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-10 20:33:26 +00:00
Benoît Minisini
c1212ac95e [INTERPRETER]
* 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
2012-07-10 19:57:43 +00:00
Benoît Minisini
e938c9190d [GB.GSL]
* 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
2012-07-10 15:23:59 +00:00
Benoît Minisini
55e313b8f5 [INTERPRETER]
* 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
2012-07-10 14:35:17 +00:00
Benoît Minisini
a9fbd40cd8 [INTERPRETER]
* 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
2012-07-10 02:37:39 +00:00
Benoît Minisini
a3966cf195 [DEVELOPMENT ENVIRONMENT]
* 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
2012-07-10 00:13:00 +00:00
Benoît Minisini
a036882dcc [GB.GSL]
* NEW: Handle GSL errors.
* NEW: Reimplement the Polynomial class by inheriting Float[].


git-svn-id: svn://localhost/gambas/trunk@4926 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-09 19:42:49 +00:00
Benoît Minisini
fa552f69c1 [DEVELOPMENT ENVIRONMENT]
* 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
2012-07-09 15:37:42 +00:00
Benoît Minisini
ad823d98cf [GB.GSL]
* 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
2012-07-09 14:30:44 +00:00
Benoît Minisini
c89b8a5011 [GB.GSL]
* 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
2012-07-09 14:27:33 +00:00
Laurent Carlier
3045e50490 [GB.GSL]
* BUG: Properly fix library detection.



git-svn-id: svn://localhost/gambas/trunk@4921 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-09 12:47:55 +00:00
Laurent Carlier
44f737a21d [GB.GSL]
* BUG: Use the proper detection method for gsl library.


git-svn-id: svn://localhost/gambas/trunk@4920 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-09 09:07:04 +00:00
Benoît Minisini
53d05b0549 [GB.GSL]
* NEW: Work continue on Vector class...


git-svn-id: svn://localhost/gambas/trunk@4919 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-07-09 02:20:57 +00:00
Benoît Minisini
2402db91f0 [INTERPRETER]
* 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
2012-07-08 23:23:24 +00:00
Benoît Minisini
fc1c1e5531 [INTERPRETER]
* 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
2012-07-08 20:08:43 +00:00
Benoît Minisini
ef37065297 [INTERPRETER]
* 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
2012-07-08 16:55:35 +00:00
Benoît Minisini
fc19d7bd78 [GB.GSL]
* 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
2012-07-08 15:39:38 +00:00
Benoît Minisini
7bd330aa00 [INTERPRETER]
* 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
2012-07-08 14:35:58 +00:00
Benoît Minisini
8ad1afe673 [CONFIGURATION]
* NEW: Print disabled components individually.

[GB.QT4]
* BUG: ComboBox background color is correctly handled now.


git-svn-id: svn://localhost/gambas/trunk@4739 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-05-18 01:19:15 +00:00
Benoît Minisini
e2fac79ffb [CONFIGURATION]
* 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
2012-05-04 16:45:14 +00:00
Benoît Minisini
09330f7501 [GB.GSL]
* BUG: Remove from the Test project the files that must not be present in
  the subversion repository.


git-svn-id: svn://localhost/gambas/trunk@4560 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-18 11:48:39 +00:00
Randall Morgan
5da2463da1 Just updating source while working
[GB.GSL]
* NEW: Updating development code.

git-svn-id: svn://localhost/gambas/trunk@4559 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-17 17:18:54 +00:00
Randall Morgan
7dcd32d1b6 [GB.GSL]
* NEW: Added Test Suite Gambas Project to GSL Component.

git-svn-id: svn://localhost/gambas/trunk@4527 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-03-03 00:21:36 +00:00
Randall Morgan
98f3d19663 [GB.GSL]
* 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
2012-02-23 22:47:36 +00:00
Randall Morgan
7a7544fa69 [GB.GSL]
* 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
2012-02-22 10:59:08 +00:00
Randall Morgan
b87e4f1983 [GB.GSL]
* 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
2012-02-22 10:29:26 +00:00
Randall Morgan
48097fc1e4 [GB.GSL]
* BUG: Fixed error in GslComplex_Pow method declaration.

git-svn-id: svn://localhost/gambas/trunk@4495 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-21 07:50:48 +00:00
Randall Morgan
9319247693 [GB.GSL]
* NEW: Added Hypot3 function to GSL class.
   Added initial methods to CPolynomial class.

git-svn-id: svn://localhost/gambas/trunk@4494 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-21 03:36:40 +00:00
Randall Morgan
4fe9db6123 [GB.GSL]
* NEW: Added Arg, Abs, Abs2, and LogAbs methods to Complex class.

git-svn-id: svn://localhost/gambas/trunk@4493 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-20 11:05:11 +00:00
Randall Morgan
e9a68b8af2 [GB.GSL]
* 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
2012-02-18 22:56:08 +00:00
Randall Morgan
a919a08cf0 [GB.GSL]
* 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
2012-02-18 22:06:10 +00:00
Randall Morgan
e575e091cf [GB.GSL]
* DEV: Experimenting with memory allocation for polynomial
   coefficients.

git-svn-id: svn://localhost/gambas/trunk@4486 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-17 19:29:08 +00:00
Randall Morgan
281b7de7c3 [GB.GSL]
* NEW: Added ComplexPolynomial and NewtonPolynomial class files.

git-svn-id: svn://localhost/gambas/trunk@4485 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-17 07:30:59 +00:00
Randall Morgan
1e80fe0d30 [GB.GSL]
* NEW: Testing Array data handling methods for Polynomial class.

git-svn-id: svn://localhost/gambas/trunk@4484 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-17 07:29:55 +00:00
Randall Morgan
eb4195403e [GB.GSL]
* NEW: Changed Frexp function to Static method.

git-svn-id: svn://localhost/gambas/trunk@4483 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-17 06:18:41 +00:00
Randall Morgan
a8caa61c5b [GB.GSL]
* NEW: Added Frexp function to Complex Class.

git-svn-id: svn://localhost/gambas/trunk@4482 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-16 19:11:15 +00:00
Randall Morgan
cbca412899 [GB.GSL]
* NEW: Added skeleton Polynomial Class.

git-svn-id: svn://localhost/gambas/trunk@4481 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-15 23:53:45 +00:00
Randall Morgan
5b0b2b84dd [GB.GSL]
* NEW: Added Set, Rect, and Polar Methods.
   Also moved THIS declaration to source file
   And declared complex_create() in header.

git-svn-id: svn://localhost/gambas/trunk@4480 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-15 23:52:30 +00:00
Randall Morgan
bda63fc0d3 [GB.GSL]
* NEW: Alpha release of Complex Number class.

git-svn-id: svn://localhost/gambas/trunk@4479 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-14 22:22:43 +00:00
Benoît Minisini
21dac9f92d [GB.GSL]
* BUG: Update Makefile.am with new source files.
* NEW: Add a complex dynamic constructor.
* NEW: Add a complex static constructor _call().
* NEW: Add Complex.Copy().
* NEW: Add Complex.ToString().


git-svn-id: svn://localhost/gambas/trunk@4478 867c0c6c-44f3-4631-809d-bfa615b0a4ec
2012-02-14 08:06:09 +00:00