File: NEWS

package info (click to toggle)
genius 1.0.3-1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 9,636 kB
  • ctags: 5,388
  • sloc: ansic: 66,486; sh: 9,110; xml: 6,820; makefile: 514; lex: 492; yacc: 235; perl: 54
file content (627 lines) | stat: -rw-r--r-- 28,044 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
Changes to 1.0.3

Syntax and semantical changes are marked with CHANGE:

* Add "Save Console Output" menu item to save console contents
* Add "Monitor a Variable" menu item to continuously monitor a single
  variable
* Wrap nonmatrix output in "Show Full Answer"
* Add IsMersennePrimeExponent, MersennePrimeExponents, IsDefined, undefine
* CHANGE: zeros, ones, rand, randint, I, SetMatrixSize now accept 0 for size
  and return null as an empty matrix.  wait, IndexComplement
  accept 0 and act accordingly as well.
* CHANGE: It's Fibonacci in correct spelling, short name is still fib
* Calling internal functions is now slightly faster
* QuadraticFormula built in and more numerically stable
* Gaussian elimination is now faster, and more stable when nonrational
  matrices are involved
* NullSpace slightly faster when the nullspace is empty
* Other minor optimizations
* Fix SolveLinearSystem (must return null on nonunique solutions)
* Fix crash related to returning custom functions from functions
* Fix some memory leaks
* Documentation updates
* Translations (Hendrik Richter, L. Lommer, P. Kovar, Andre Klapper, Yannig
  Marchegay, Pawan Chitrakar, Jorge Gonzalez, Jonh Wendell, et moi)

Changes to 1.0.2

* Symbolic deriative of erf, yay!
* @() works correctly with null as an empty range returning null (an empty
  matrix)
* Saner switching to scientific notation for floating point output
* Fix --disable-scrollkeep OMF file installation (Sebastian Dröge)
* Fix .desktop file (Sebastian Dröge)
* Fix extraneous space when prettyprinting fractions
* Fix leaving behind zombie processes when running programs from the IDE
* Fix building without gtksourceview
* Fix building with older gtk by not using GTK_STOCK_INFO
* Use the icon on our windows
* IsPerfectSquare works on rationals as it should
* don't mod arguments to trig functions ln, log10, log2, zeta, gamma,
  exp, round, trunc, floor, ceil, float, CompositeSimpsonsRule
* Translations (Yannig Marchegay, me)

Changes to 1.0.1

Syntax and semantical changes are marked with CHANGE:

* GNOME version can now show listing of all user defined global and local
  variables (can display this even while the engine is running, including
  a "backtrace" to aid debugging)
* GNOME version can now check if too much memory is being used and allows
  the user to interrupt the program rather than eat all available memory
  causing the computer to grind to a halt.
* When printing floating point numbers always make sure it is obvious that
  these are floating point by appending .0 when they would look like integers.
* Matrix printing is much nicer now, and possible to copy and paste back in
* Add IsMatrixPositive, IsMatrixNonnegative, version, IsZero, IsIdentity,
  DividePoly, IsSubset
* PivotColumns and NullSpace are built in for greater speed.
* CHANGE: Drop the support for tab as a matrix separator, it didn't
  work properly, especialy not on the command line
* CHANGE: Remove IsGaussianInteger, we already have IsGaussInteger alias
  IsComplexInteger
* CHANGE: OrthogonalComplement is with respect to the Hermitian product
* CHANGE: display, printn and print don't follow FullExpressions=false
* The .desktop file now has different Categories setup so will likely appear
  in "Education" or "Accessories" menu rather than "Office"
* Chop small numbers when they appear near other larger numbers.  New
  parameters OutputChopExponent and OutputChopWhenExponent
* Fix set theory functions by essentially fixing IsIn.  Also fully document
  the behaviour of the set theory functions.
* Update the plotting widgetry from GtkExtra for prettier graphs
  (Sebastian Dröge, me)
* Add "Save all unsaved" menu item
* Add Ctrl->R for "Run"
* Default graphing limits are -10 to 10 for all axis (no more pi as default)
* Require at least GKT+ 2.4 for the GUI.
* Optionally compile with GtkSourceview2 and drop back to
  GtkSourceview1 if unavailable (Sebastian Dröge)
* Fit dependent axis works for parametric plots
* Legend more readable for parametric plots
* Fix loading of files and URIs from the command line
* Errors don't print the full file URI for opened program names
* Confirm closing unsaved programs
* Lots of documentation updates
* Use Binreloc 2.0 so that the package is relocatable
* Slight optimizations
* Handle null in more linear algebra function as an empty matrix/subspace
* Fix command line editting
* Fix showing full answer in the gui.
* Fix hangs in the graphing code by enforcing a minimum plot window size
* Consistently traverse matrices row-wise everywhere
* Remove unused file with nonfree license
* Add --disable-scrollkeeper and --disable-update-mimedb to configure
  (Sebastian Dröge)
* Update the about box
* Updated translations (Jorge Gonzales, et moi)

Changes to 1.0.0

* Killed the internal MPFR.  This lib is quite ubiquitous nowdays
  and it's not worth it maintaining our own out of date copy
* Add FrobeniusNumber, GreedyAlgorithm, StirlingNumberFirst,
  StirlingNumberSecond, RayleighQuotientIteration
* IsVector, IsDiagonal, IsUpperTriangular, IsLowerTriangular, nCr (Binomial)
  are now builtin for greater speed
* Hofstadter, HarmonicNumber work over matrixes
* Fix ApplyOverMatrix2, RayleighQuotient
* Fix GCD and LCM aliases with respect to varargs
* Fix bug with printing scientific notation wrt newer gcc optimizations
* The exponent when the automatic scientific notation kicks in now
  depends on the MaxDigits parameter
* It's Pochhammer, not Puchhammer
* Documentation updates
* fix for platforms without wordexp (Joerg Sonnenberger)
* Translations (David Lodge, Djihed Afifi, Pema Geyleg, Bruno Brouard,
  Stéphane Raimbault, Rémi Le Lijour, Jorge Gonzales, Raivis Dejus, me)

Changes to 0.7.7

* Add IsPositiveDefinite, IsPositiveSemidefinite, QuarticFormula
* SEMANTICS: QuadraticFormula, CubicFormula, Eigenvalues, and DiagonalOf
  now consistently return a column vector
* Fix CubicFormula for complex coefficients and better handle real roots,
  and use QuarticFormula in PolynomialRoots
* Eigenvalues now computes eigenvalues for 3x3 and 4x4 matrices
* Add undo/redo capability
* CHANGE: It's RayleighQuotient not RaleighQuotient
* "Show Full Answer" menu item to show the full answer in a
  scrollable text window
* "Next/Previous Tab" menu items and accelerators, also
  Programs menu now always displayed and has a "Console"
  menuitem too.
* Mixed fractions can now be set in the preference box
* The preference box has options for remembering (or forgetting)
  the output/precision settings.  Normally these settings are probably
  temporary and hence we don't want to remember them always.
* Preference box has "Help" button
* When graphing a surface when we encounter complex value or other errors,
  don't assume 0, but just don't graph anything at that point.
* Cosmetic changes to UI
* Documentation updates
* Fix plugin reading
* Portability fixes
* Translation updates (Pema Geyleg, David Lodge, Francisco Javier F. Serrador,
  Djihed Afifi, Pawan Chitrakar, et moi)

Changes to 0.7.6.1

* Fix rational powers

Changes to 0.7.6

* Add QuadraticFormula, CubicFormula, PolynomialRoots, CommutationMatrix,
  ToeplitzMatrix, MakeVector, RiemannZeta, GammaFunction
* Add --exec option to execute an expression from the command line
* Add chapter to the documentation on plotting and other minor updates to
  the docs
* Fix complex number handling in number of functions, particularly in
  all functions that use gaussian elimination and related routines
* Translations updated a teeny bit (Michele Petrecca, me)

Changes to 0.7.5

* Added functions: CatalanConstant, atan2, NextCombination, CountZeroColumns,
  QRDecomposition, SesquilinearForm, SesquilinearFormFunction
* REMOVED: function GramSchmidtDot, it is now redundant
* SEMANTICS: DotProduct is now the normal (real) DotProduct not the
  hermitian product, places that used DotProduct now use HermitianProduct,
  InnerProduct is now an alias for HermitianProduct
* GramSchmidt now normalizes it's vectors
* GramSchmidt, Projection, VectorAngle have the inner product as optional
  argument now and all take it in the same way
* OuterProduct now actually does outer product
* Port some gel functions to C for speed: StripZeroColumns, IsIn, Intersection,
  SetMinus, HermitianProduct
* Some further small optimizations
* Minor update of the manual
* SYNTAX: entries in a matrix are now evaluated in a logical order rather
  then in the rather odd order they were before.
* MANY fixes to memory management, fixed many leaks and crashes
* In the GNOME version, resizing works like in gnome-terminal now,
  which fixes issues with bleeding edge vte and is probably right anyway
* Update internal MPFR to version 2.2.0 and require at least version 2.2.0
* Other minor fixes
* Translation updates (Francisco Javier F. Serrador, Kjartan Maraas,
  Pawan Chitrakar, Chao-Hsiung Liao, Miloslav Trmac, Adam Weinberger)

Changes to 0.7.4

* Primitive symbolic derivatives of some expressions
* Parametric plots
* Accepts identifiers as well as functions in a number of places
* SYNTAX: When adding a scalar to a square matrix "A+x" now acts as "A+x*I"
  rather then A+x*ones.  If you want to add a scalar to every element of a
  matrix, use .+ and .- operators.  Behaviour is element by element for vectors
  (1 by n or n by 1 matrices)
* SYNTAX: 'call' now binds tighter to allow "x = f call (x)" to act like
  x=(f(x)) rather then (x=f)(x)
* SYNTAX: allow "identifier + string" which creates a string
* Added functions: IsFunctionOrIdentifier, ComposePower, Derivative,
  SymbolicDerivative SymbolicDerivativeTry, SymbolicNthDerivative,
  SymbolicNthDerivativeTry, SymbolicTaylorApproximationFunction
* Many minor fixes

Changes to 0.7.3

* Update to mpfr 2.1.1
* Documentation update, document the plotting functions for example.
* Blinking cursor can now be turned off in gnome-genius
* Set default precision to 128 bits.  Who needs 256 can set it in the
  preferences.  Also save/restore the precision
* Add LinePlotClear, LinePlotDrawLine functions to allow drawing arbitrary
  lines and to allow a way to do parametric plots until that functionality
  is actually added
* Added: NewtonsMethodPoly, wait
* Lots of work on the internal number structure to make it faster/more
  memory efficient and to fix some possible bugs/issues
* Fix float formatting bug that sometimes caused hangs and crashes
* Fix large leak on element by element operations
* Fix compilation with external mpfr
* Bunch of other little bugs/issues fixed.
* Translation updates (Adam Weinberger, Miloslav Trmac, David Lodge,
  Petrecca Michele, Vincent van Adrighem, Tino Meinen, Jan Moren)

Changes to 0.7.2

* The manual is in Docbook and has been greatly updated (Kai Willadsen, me)
  there is even the beginnings of a detailed function reference with links
  to Planetmath and Mathworld.
* Better help integration
* We have an icon (Eugenia Loli-Queru)
* Include internal MPFR which is more recent and less buggy then ones
  found on most people's systems (this makes it easier to compile genius
  too)
* Added: CompositeSimpsonsRuleTolerance, GaussFunction, GaussDistribution,
  BernoulliNumber, ExactDivision, MoebiusMu (Alessio Frusciante), 
  IsNonNegativeInteger, LUDecomposition (David W. Hutchison),
  EulersMethod, RungeKutta
* Fixed, round, ceil, trunc and Hofstadter
* Few more functions now apply over matrixes with matrix arguments
* CompositeSimpsonsRule and Divides are built in for speed
* Treat strings as constants, thus getting pretty good speedups where
  strings are used
* When new references are encountered where the variable does not exist we
  create the variable in the current context
* On the plot window use "y=" as a label to indicate what goes in the text
  boxes
* "New" toolbar item
* Fix crashes on non-number matrix multiplies
* Bunch of minor fixes all over
* Help texts are being translated now
* Translation updates (Adam Weinberger, David Lodge, Miloslav Trmac,
  Amanpreet Singh Alam, Raphael Higino, Vincent van Adrighem,
  Tino Meinen, Jan Morén, Laurent Dhima, Takeshi AIHANA,
  Francisco Javier F. Serrador)

Changes to 0.7.1

* Run EPS output through ps2epsi if it's there which adds a bitmap preview,
  even though this bitmap preview is fairly crappy
* Add PNG export for plots
* Remove some parenthesis from output where they are not needed
* SYNTAX: InfiniteSum, InfiniteSum2, InfiniteProduct, InfiniteProduct2,
  now no longer take the tolerance argument and behaviour is controlled
  by the SumProductTolerance, SumProductSFS and SumProductNumberOfTries like
  other limits and they return null when limit can't seem to be found
* Add: NumericalLeftDerivative, NumericalRightDerivative
* Fix the NumericalLimitAtInfinity function and its use and with that fix
  NDerivative (which is now an alias for NumericalDerivative), IsContinuous,
  IsDifferentiable, Limit, LeftLimit, RightLimit
* Fix the specfile and custom CFLAGS are added after the default ones
  (Florin Andrei, me)
* LinePlot and SurfacePlot no longer crash when called without arguments
* Fix EPS/PS export for older gtk
* Fixup compilation of GtkExtra-2 with gcc 3.4
* Bunch of "optimizations" and minor fixes

Changes to 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)

Changes to 0.6.1

* On undefined identifier error, genius gives you close suggestions
* Black on white mode for the console for those that can't see white
  on black so well.
* More UTF-8 cleanup so other languages should work now
* More fun with font sizes and try to normally deduce the font size for the
  console from the theme font size on startup.  Also don't write the font
  as a preference until it's explicitly set
* Accept file drops and open those files
* Use gnome-vfs for opening and saving files (not for load and run yet)
* Mime stuff so that you can open .gel files from nautilus
* Somewhat nicer display of real fractions
* New functions: cis
* The functions promised in 0.6.0 weren't actually added, this affects:
  Argument, arg, Arg, MoebiusDiskMapping, MoebiusMapping,
  MoebiusMappingInftyToOne, MoebiusMappingInftyToZero,
  MoebiusMappingInftyToInfty.
* When we complain about uninitialized functions/variables, give suggestions
* Fix "number <=> string"
* Some code cleanup
* MacOSX install instructions in INSTALL.MacOSX (Linc Davis)
* Other minor fixes
* Translation updates (Gustavo Maciel Dias Vieira, Raphael Higino,
  Jordi Mallach, Xavier Conde Rueda, Miloslav Trmac, Vincent van Adrighem,
  Tino Meinen, Adam Weinberger, Gareth Owen, Gustavo Noronha Silva)

Changes to 0.6.0

* Zooming/Fitting support on the line plots
* Line plots can now be invoked from a GUI
* Scale is printed on line plots
* In case GTK+ 2.4 is used, use the new file chooser dialog, but still
  compile with older gtk
* Some fixes in case GTK+ 2.4 is used
* Allow compilation without GNOME to get the barebones command line
  version
* SYNTAX: Allow some arithmetic operations on functions, as well as passing
  functions to a few select 1 argument functions such as exp or ln, for
  example: exp(sin) returns a function which does exp(sin(x)) and
  sin^2 returns a function that does sin(x)^2
* SYNTAX: New operator := which acts just like = but is never translated
  to ==
* SYNTAX: e^x now translated to exp(x) for better precision (and should be
  teeny bit faster too)
* Optimize/cleanup the mp wrapper code which on my tests can gain something
  like 40% improvement on code that does lots of handling of smaller integers.
* Add PoissonKernel, DirichletKernel, FejerKernel, MoebiusDiskMapping,
  MoebiusMapping, MoebiusMappingInftyToOne, MoebiusMappingInftyToZero
  and MoebiusMappingInftyToInfty
* Add rotation matrices (2D and 3D euclidean space)
* Fix compilation of parameters
* Fix interruption with ^C
* Lots of other minor fixes
* Documentation updates
* Translation updates (Kostas Papadimas, Petrow Velonis, Vincent van Adrighem,
  Tino Meinen, Danilo Segan, Miloslav Trmac, Robert Sedak, Alastair McKinstry,
  Guntupalli Karunakar, Christophe Merlet, Sebastien Bacher)

Changes to 0.5.7.1

* Fix spinners in the preferences

Changes to 0.5.7

* Add ErrorFunction (erf), InfiniteProduct, InfiniteProduct2
* Allow large integer powers of 1,-1,1i,-1i and do it very fast
* Be nicer with integer powers of pure imaginary numbers
* mpfr seems broken in 4.1.2 causing something like 0.1^(-1.0) to come out
  as 0.1 rather then 10.  Powers will just use exp and ln for now which
  are correct.
* Fix warnings on Kernel([0])
* Don't use DEPRECATED defines to allow compiling with newer gtk+
* Translation updates (Vincent van Adrighem, Metin Amiroff, Jordi Mallach,
  Xavier Conde Rueda, Christian Rose, Miloslav Trmac, Duarte Loreto,
  Tino Meinen)

Changes to 0.5.6

* Several leaks fixed
* Several uninitialized data usage fixed
* Tolerances are floats, add aliases 'Sign' and
  'AbsoluteValue' and add the 'Identity' function
* Lots of internal cleanup including not using deprecated
  stuff.
* Start using vicious-extensions lib, and with that
  the 'genius' binary no longer inits gnome which means
  faster startup and faster regression testing runs
* Lots of random minor optimization
  (both performance and memory usage)
* Some build fixes
* Fix systems without wordexp (FreeBSD ports)
* Allow loading programs from the command line
  to gnome-genius
* Use GtkSourceView if available for syntax highlighting
* Handle change directory for filename completition
  correctly
* GUI a teeny bit HIGgier (but not completely)
* Translation updates (Guntupalli Karunakar, Danilo Segan,
  Vincent van Adrighem, Pablo Gonzalo del Campo,
  Francisco Javier F. Serrador, Duarte Loreto, Christian Rose,
  Guntupalli Karunakar, Wang Jian, Mai Hao Hui, Metin Amiroff,
  Jordi Mallach, Xavier Conde Rueda)

Changes to 0.5.5

Note the syntax changes marked with 'SYNTAX:'

* Fix quite a few DOH! errors in the GUI it should now be usable to
  actually edit and save file and all that
* Also print the number line in the status box, this makes it much easier
  to find parse errors.
* Add SqrtModPrime, IsPrimitiveModWithPrimeFactors,
  SilverPohligHellmanWithFactorization
* SYNTAX: use SqrtModPrime when sqrt is called in mod context (only if the
  modulo is a prime, otherwise we print an error)
* Other minor fixes.
* Some new translations apparently too (Swedish by Christian Rose)

Changes to 0.5.4

Note the syntax changes marked with 'SYNTAX:'

* The GUI now allows editting program files and running them directly from
  the gui.
* SYNTAX: If "log" is used in mod environment it acts as DiscreteLog
* IsEven and IsOdd are now internal and fast
* Use MPFR (if available) for log10 and log2, and add lg as an alias to
  log2
* SYNTAX: Use GMP for the MillerRabinTest and implement StrongPseudoprimeTest,
  IsPrime, and MillerRabinTestSure internally, remove IsPrimeLoopMax and
  PrimeProbabilityEpsilon, MillerRabinTest takes the number of reps to do
  and not the epsilon and there is IsPrimeMillerRabinReps parameter, also
  remove IsPrimeProbability
* SYNTAX: Snarf the Pollard-Rho implementation from GMP examples and use it
  for Factorize.  Whack FactorizeLoopMax
* Use MPFR for EulerConstant if available
* Added MillerRabinTestSure, StringToASCII, ASCIIToString, AlphabetToString,
  StringToAlphabet, LeastAbsoluteResidue, AreRelativelyPrime, DiscreteLog,
  CRT (ChineseRemainder), IsPrimitiveMod, ConvertToBase, ConvertFromBase,
  GetCurrentModulo, MidpointRule, NumericalIntegral, SolveLinearSystem,
  MakeSet, Union, Intersection, IndexCalculus, IndexCalculusPrecalculation,
  FindPrimitiveElementMod, FindRandomPrimitiveElementMod and Compose
* Fixed IsStrongPseudoprime
* Fixed the integer power functions and use MPFR for the float one if
  available.
* Document some functions
* elements, rows, columns accept null and treat it like 0x0 matrix
* SYNTAX: Allow return after comma to break a long vector input
* Mod matrices after all primitives (fixes for example "-[1] mod 2")
* when function is undocumented, print at least a prototype on help
* SYNTAX: 'mod' and 'call' now binds tighet then logical olperators to
  make "if a == b mod n and a == c mod n then ..."
* SYNTAX: I, zeros, ones, rand, randint don't mod their arguments when in
  mod mode
* SYNTAX: null is accepted for the "for in" type loops to mean empty
* Add "Set Theory" category to help
* Fix some crashes and plug many leaks

Changes to 0.5.3

Note the syntax changes marked with 'SYNTAX:'

* Very basic line graphing of R->R functions with LinePlot function
* Use MPFR for some floating point functions such as powers, logs, sin/cos
  and such.  This increases the speed of those operations by about 10 fold
  or more.  I will start migrating towards MPFR only support in the future.
  See www.mpfr.org.
* "a^b mod m" is now done sanely and fast just like the PowerMod function
* Rudimentary MathML output support
* Add Copy Answer As Plain/LaTeX/MathML/Troff menu items
* SYNTAX: A null inside a matrix expansion is treated as an empty matrix.  So
  [null,1,2] will be expanded as [1,2]
* SYNTAX: Allow rationals and integers as complex numbers though this support is
  kind of experimental
* Increase some limits on factorizations
* SYNTAX: Add (<expr>)i operator macro which will multiply <expr> by i
* SYNTAX: Negation parsing changed -1^k still parses as (-1)^k but -a^k parses
  as -(a^k) (where a is anything but a number
* Rational powers now return integers if possible, and so the
  SymbolicSquareRoot and SymbolicNthRoot functions are not neccessary
* Nicer printing of complex numbers
* Printing fixes
* Fractions printed nicely in troff and latex mode
* Fix crash on setting built in parameters if there is an exception
* Add MaximalPrimePowerFactors, PrimeFactors and CombineFactorizations,
  RemoveFactor, Gravity (the gravitational constant), EulerConstant,
  FermatFactorization, IsGaussInteger, IsPositiveInteger, MillerRabinTest
* Use MillerRabinTest in IsPrime adding a config parameter for this
* Remove SymbolicSquareRoot, SymbolicNthRoot (sqrt and rational powers
  is the same thing)
* Add some new aliases for a few functions
* Better EulerPhi implementation
* Fix Factors
* SYNTAX: Fix precedence of : to be lower then that of standard arithmetic
  operators
* SYNTAX: Factorial now binds more closely then power
* SYNTAX: Allow more matlab like notation of getting whole rows/columns
  (such as foo@(2,:))
* Add an Edit menu with Copy and Paste
* Add "Really want to quit" dialog and allow quitting while calculations are
  running
* Allow reading arbitrarily long compiled file record lines
* Some very minor leaks fixed
* Fix interrupting input while not calculating anything (this was a nasty
  bug that prevented any further thing to be evaluated)
* Don't allow executing anything if something else is executing, thus causing
  a crash.
* A number of minor bugs squashed
* And finally a new small easter egg

Changes to 0.5.2

* UP TO DATE ONLINE MANUAL: well, don't be too excited, it's just a text
  file, but can now be viewed directly from genius.
* Use vte instead of zvt since zvt was giving me fits (vte is on the other
  hand giving me different fits).
* Fix precendence of defining a function (now "function f(x) = foo mod bar"
  will work as expected)
* Using rationals in modular mode will take the inverses mod n
* Negative powers and division of matrixes in modular mode
* Implement IsPrimeProbability, LucasNumber, ModInvert, EulerPhi,
  Subfactorial, GoldenRatio
* Use gmp for NextPrime
* Kill some unimplemented functions so that people don't get confused
* Some function renaming (where old syntax was used) and some more help
  strings
* The help output is now nicer
* In latex output mode we print [] instead of () for matrices since
  I think it's nicer
* The readline helper is now in the libexec directory as it should be
* Fixup the plugin API a bit and hide the test plugin from the GUI
* The .desktop is now updated, using intltool and installed in proper new
  location and all that good stuff
* Fixed the gettext/intltool stuff, now actually installs translations
  correctly and all that
* Random minor fixes and cleanup

Changes to 0.5.1

* Fix rounding when first digit is rounded and is 9 (reported by
  Kai Arstila)
* Fix atan by using implementation from Guillermo Ballester Valor
  (reported by Kai Arstila)
* Few more functions: Stupid eigenvalue function for 2x2 matrices,
  RaleighQuotient
* Reverse the direction of the vandermonde matrix to coincide with how
  we use polynomials
* Fix modular arithmetic on single values and matrices
* Cache identity matrices for speed

Changes to 0.5.0

* Stack based execution engine, allows much deeper recursion
* User parameters
* Better help support
* Syntax changed to be nicer and/or more matlab like in places
* New operators: !! ./ .\ .* .^ .% .'
* Sum and product loops
* Matrix indexes can now be vectors like in matlab
* Many new functions
* New commands (ls, help, pwd, cd)
* Many random fixes
* And much MUCH more

Changes to 0.4.6

* accept more different formats of floats in scientific notation
* fix problems with hangs on help and large dialogs

Changes to 0.4.5

* modular arithmetic support (e.g. "expr mod n")
* different parsing of files on the load line (you can now pass multiple
  files with quotes everywhere, just like in a shell
* plugin toplevel command to load plugins from command line
* more function descriptions for the help command
* possibility to run gel function from inside of genius code
* exp function now behaves properly for matrices (sort of)
* setting calculator parameters is now more natural, just as setting variables
* option for maximum line output length for expression output, and for
  maximum number of errors printed
* backdivision for matrices (e.g. X=A\B means A*X=B)
* bug and portability fixes

Changes to 0.4.4

* bugfixes, bugfixes, bugfixes
* very very very initial shlib plugin support

Changes to 0.4.3

* depreceated the bc way of adding functions
* better interactive parsing
* i18n actually works

Changes to 0.4.[12]

* new gnome frontend

Changes to 0.4 (includes all changes from all >0.3.1)

* new syntax for writing functions, more math like
* functions are now passed by value not by reference, this is unfortunately
  backwards incompatible but adds consistency and flexibility, so just instead
  of sum(4,5,&func) you'd write sum(4,5,func), with anonymous functions,
  the calling syntax does not change. inside the function then, one would use
  func(...) instead of *func(...)
* library file is compiled now for quick startup
* many new functions
* more matrix support
* complete complex number support with new operators

Changes to 0.3 (includes all changes from all >0.2.1)

* matrix support
* a couple of new operators (absolute value, get element/row/column, transpose)
* whole bunch of new functions

Changes to 0.2

* no more postfix, no more prefix, everything is infix
* conditionals are better
* variable/function references
* anonymous functions