ANNOUNCE: GENIUS 0.7.0 the "The joy of surfaces" release

To find out what Genius is, skip a few paragraphs down, or go to

My wife left for a weeks conference and so in the meantime I did not
waste any time and went on a late night hacking binge and the result is
that I've integrated the GtkPlot* and friends from the GtkExtra-2 library
and so we now have printing in the lineplots, but far more cool is the
fact that we have graphing of surfaces.  See the SurfacePlot function
and the surface tab in the "Create Plot" dialog.  It's still not exactly as
slick and polished as it should be, but it should be basically usable.

Other fun things are new native boolean type so that genius says 'true'
instead of '1' when it means true and 'false' instead of '0' when it means
'you are full of crap'.

I've also done a bunch of internal restructuring with the result that the
engine now takes a little less memory on deep recursion, but otherwise
no real difference is seen.

In any case, Genius is one of the oldest GNOME projects, it has been the
original GNOME calculator before I got wild ideas about it doing absolutely
everything.  It is programmable has a powerful language and handles many fun
features including matlab like support for matrices.  It requires GNOME2 (at
least glib2 if you don't want a GUI) and a recent enough gmp library.
However you can still use the command line version if you prefer non-gui

There is still a lot of work required to make this all nice, mostly it needs
to have the function library improved and verified to be correct and
documentation needs to be written (the complete help system is not yet in
place).  Feel free to help out :)

Here are the news in 0.7.0:

* Replaced plotting with the plotting widget from GtkExtra-2 (private
  copy included, no new dependency), this has several new implications:
 - Plots can be printed or exported to PS or EPS
 - 3D surface plots are supported
* SYNTAX: Native boolean type, true/false are the constants and
  added IntegerFromBoolean and IsBoolean functions.  Should still
  be source compatible
* Fixed saving files warnings about existing files and fixed bad
  warning on loading files
* StandardDeviation now works
* sin,cos,sinh,cosh now work correctly with complex arguments
* Some memory profiling.  Allocate internal structures in long
  continuous blocks and further fixup the engine to be nicer with
  separator nodes which can now take a lot of arguments and really whack
  the result of all but the last expressions at once.
* Work around a mpfr problem when it could return a negative value
  for rand()
* Translation updates (Estevao Samuel Procopio, Vincent van Adrighem,
  Adam Weinberger, Miloslav Trmac, Laurent Dhima, David Lodge,
  Gustavo Maciel Dias Vieira, Raphael Higino, Gareth Owen)

The RPM at the 5z site is built on Fedora Core 2 with all the bells and
whistles of GNOME 2.6.  Note that Fedora Core 2 has all the right things
including MPFR.

You can also build RPMS on older redhat's with rpmbuild -ta <tarball>, you
should also get the updated GMP RPM which has MPFR enabled since that's
a lot better then internal FP routines of genius.  RPM for that for
redhat 8 is on the 5z site.

Have fun,


PS: No silliness scheduled for failure of brain to function in silly mode.
Attempts at generation of a silly message in this space have resulted only
in these silly brain error messages.

George <jirka 5z com>
   A good memory is needed after one has lied.
                       -- Pierre Corneille

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]