ChangeLog 192 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
Thu Feb 26 00:54:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: handle crashes of the readline-helper without
	  hanging.  Slight reorganization of startup to show window few
	  nanoseconds faster.  Also don't use gtk_show_uri yet.  This
	  causes backwards binary incompatibility which sucks as my other
	  laptop uses hardy.

	* src/calc.c: slight improvement in help handling.  Don't sort
	  the functions in the categories until we really need to.

	* src/dict.c: when checking for similar id's do the sum and a square
	  sum to check for reorderings.  This fixes the strange suggestions
	  sometimes

	* src/genius-readline-helper.c: avoid crashes on getting SIGINT, ignore

18 19 20 21 22 23 24 25 26 27 28
Tue Feb 24 22:05:41 2009  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplotdata.c, gtkextra/gtkplotgdk.c: Move the line
	  clipping code from the GDK backend to the plotdata.  Replace
	  the one relevant draw_lines call with the new one.  I wonder
	  if this should be done in more places.  This is a mess!
	  There are still bugs if you zoom in way too much.  Not quite sure
	  what the bug is.  We may need to actually move the endpoints 
	  of the line.  This fixes broken EPS/PS export and printing
	  when zoomed in to a slopefield/vectorfield/parametric graph.

29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
Tue Feb 24 01:35:34 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: use gtkextra clipping of lines

	* gtkextra/*.c: apply patches from cvs gtkextra

	* gtkextra/gtkplotgdk.c: fix drawing of lines which have parts which
	  are very far offscreen.  Need to push this logic higher up the stack
	  since such lines also kill the postscript output.

	* src/graphing.c: remove some pointless allocation of point
	  arrays.

	* src/gnome-genius.c, src/graphing.c: fix menu accelerators

44 45 46 47 48 49
Mon Feb 23 11:01:10 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix the extra precision calculations to work 
	  for increments of 2.5.  Also try a tiny bit harder to get more
	  than 3 ticks

50 51 52 53 54 55
Sun Feb 22 00:00:04 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: clip slopefield solutions to within the plot window.
	  to avoid unsightly overshooting lines when step size is too large
	  (or when slope is too large)

56 57 58 59 60
Sat Feb 21 03:12:36 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: after ps/eps export queue draw on the plot canvas
	  because it for some reason needs it

61 62 63 64 65 66
Thu Feb 19 23:48:45 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/genius_lists.c, src/inter.c, src/genius-readline-helper.c: fixup
	  operator list, remove the param list since params have toplevel
	  function nodes nowdays (for better part of a decade already :)

67 68 69 70 71
Thu Feb 19 23:19:37 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: set prgname and application_name
	  for glib

72 73 74 75 76 77 78
Thu Feb 19 20:33:26 2009  Jiri (George) Lebl <jirka@5z.com>

	* ve/ve-miscui.[ch]: remove the option menu func since option menu is
	  deprecated anyway

	* src/gnome-genius.c: use g_idle_add instead of gtk_idle_add

79 80 81 82 83 84 85 86 87 88 89 90
Wed Feb 18 00:28:12 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: handle read only files properly.  Also verify 
	  text to be proper utf8 before inserting it into the text entry.
	  And the notebook now has a right click menu to switch between
	  programs.

	* src/graphing.c, gtkextra/gtkplotcanvas.c: avoid spurious draws
	  during new plots to avoid flicker when several LinePlot actions
	  are done in sequence.  Also fix gtkextra to honour the freeze 
	  in child draw.

91 92 93 94 95 96 97 98 99 100 101 102 103 104
Tue Feb 17 17:35:44 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix the scales on the axis (the precision was
	  reversed!)

	* src/graphing.c: draw the x/y axis and a dotted grid in grey.  This
	  really improves readability I think.  This should be configurable I
	  guess.

	* src/funclib.c, src/gnome-genius.c, src/genius.c: allow setting
	  default for AskString as second argument

	* help/C/gel-function-list.xml: update

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
105 106 107 108
Mon Feb 16 01:27:46 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix some strings

109 110 111 112 113 114 115 116
Mon Feb 16 01:09:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add padding to string query dialogs.  Add stock
	  plot icon

	* pixmaps/*/genius-stock-plot.png: Draw a simple plot icon for the
	  menu/toolbar

117 118 119 120 121 122 123 124 125 126
Mon Feb 16 00:11:29 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/plugin.c: minor fixes.  Display help for
	  plugin loading, don't do lazy binding (can lead to stupid crashes,
	  better just not load bad plugins) also pass the LOCAL flag to
	  plugins to be safer.

	* src/Makefile.am: add the NOGUI libs to gnome-genius.  That will
	  make plugins work again

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
127 128 129 130
Sun Feb 15 20:05:05 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, src/gnome-genius.c: small cleanup

131 132 133 134 135
Sun Feb 15 19:50:15 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix tlen default (to be 5 not 0.1), tinc default is
	  set according to tlen

136 137 138 139 140 141 142 143 144 145 146
Sun Feb 15 18:51:42 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add solver dialog to vectorfields.  Also add
	  VectorfieldDrawSolution and VectorfieldClearSolutions.  Also draw
	  arrows with proper arrows not triangles.  Change default to not
	  normalize arrow length, that's better default I think.

	* help/C/genius.xml, help/C/gel-function-list.xml: update

	* ve/ve-nongnome.c: remove some unused functions

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
147 148 149 150 151 152 153 154 155 156
Sun Feb 15 15:18:20 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* configure.in, src/gnome-genius.c: finish the de-libgnome(ui)ization
	  And remove the libgnome(ui) dep.  Removes 14 libs from the output
	  of 'ldd'

	* ve/viciousui.h: remove libgnome include

157 158 159 160 161 162 163 164 165 166 167 168 169
Sun Feb 15 11:25:47 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: in the event hook, handle events until all
	  handled, fixes "hangs" or extreme ui slowdowns
	  when event hook is not run often enough

	* ve/ve-miscui.[ch]: steal gtk_dialog_run and do
	  ve_dialog_run_nonmodal.  This way we can interrupt a tight loop
	  with AskString's in it

	* src/gnome-genius.c: start implementing a window with GtkUIManager
	  to get rid of libgnomeui dep.

170 171 172 173 174
Fri Feb 13 14:51:43 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use gtk_show_uri to show help
	  when gtk is high enough version

175 176 177 178 179
Fri Feb 13 13:59:11 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/graphing.c, src/gnome-genius.h src/genius.c:
	  some more delibgnome(ui)ification

180 181 182 183 184 185 186 187 188 189 190 191
Fri Feb 13 13:29:35 2009  Jiri (George) Lebl <jirka@5z.com>

	* ve/ve-misc.c, ve/ve-misc.h, ve/ve-gnome.c, ve/ve-nongnome.c,
	  ve/ve-config.c:  remove ve_find_prog_in_path and
	  ve_i18n_get_language_list, those have analogs in glib now
	  ve_is_prog_in_path now doesn't take the extra path argument,
	  gdm needed that somewhere and ve is only for genius now.

	* src/graphing.c: use ve_is_prog_in_path in the new way

	* configure.in: require glib 2.6.0 as well

192 193 194 195 196 197 198 199 200 201 202 203 204 205
Fri Feb 13 13:08:55 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, ve/Makefile.am: do not compile glade-helper,
	  we don't need glade thus kill the libglade dep

	* configure.in: require GTK 2.6.0 (yeah way behind times)

	* src/gnome-genius.c: exorcise some libgnome/ui demons.  get rid of
	  gnome_help_* and gnome_config_* and gnome_about*  One more step
	  towards getting rid of this dep

	* src/genius.c, src/gnome-genius.c: when binreloc gets us the wrong
	  dir do not use it.  Use the default compiled in dir as backup.

206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223
Tue Feb 10 16:43:08 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, NEWS: raise version update NEWS

	* src/mpwrap.c: fix leak in multiply

	* src/mpwrap.c: fix a leak and fix a buffer overrun (Thanks to
	  Simon Munton simon-genius at munton.demon.co.uk)

	* lib/equation_solving/diffeqs.gel: Fix EulersMethod (it was
	  overshooting by one increment)  Also EulersMethod and RungeKutta
	  now solve system by just accepting vectors for y

	* src/geniustests.txt: add new tests for EulersMethod

	* help/C/genius.xml, help/C/gel-function-list.xml: Update
	  documentation, fix EulersMethod doc by using the right id string.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
224 225 226 227
Sun Feb 08 00:21:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.4

228 229 230 231 232
Sun Feb 08 00:09:50 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: make sure the x and y point spinboxes are updated
	  when we click on the canvas to draw a solution

233 234 235 236 237 238
Tue Feb 03 00:00:11 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo (not adding a new string, in fact just
	  getting rid of a bad one, the good one is already in the
	  translations)

239 240 241 242 243 244 245
Mon Feb 02 23:40:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo, it is dy/dx not dx/dy.  Also fix the
	  slopefield vectorfield sizing stuff to actually get it right in
	  every aspect.  I.e., scale to uniform size AFTER converting to
	  pixels, DUH!

246 247 248 249 250 251 252 253
Mon Feb 02 01:11:11 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix the plot scale precision (especially for y).  
	  When we just click on the plot do zoom in instead of zoom into an
	  incredibly small window.  And finally make the create plot window
	  usable on a netbook by adding a scrollwindow on small screens
	  for the lineplot tab.

254 255 256 257
Sun Feb 01 10:54:30 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix typo thanks to Daniel Nylander

258 259 260 261 262 263 264 265 266 267
Sun Feb 01 00:11:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: do Runge-Kutta instead of Euler for the graphical
	  slopefield solver.  Whack VectorfieldCPlot (never implemented,
	  should not be a separate function anyway).  Implement
	  VectorfieldPlot and SlopefieldPlot.

	* help/C/genius.xml, help/C/gel-function-list.xml: update for all
	  the new changes

268 269 270 271 272 273 274 275 276
Sat Jan 31 18:44:38 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: resolve some GtkExtra nonsense (dx and dy for flux
	  are specified in pixels, that is some serious crack!) so that
	  slope/vector fields draw correctly in non-aspect zoom.  Implement
	  the "clear solutions" functions and included a GUI.  Implement
	  a solver dialog and implement "clicky-solutions" when the dialog
	  is ON.

277 278 279 280 281 282 283 284 285 286 287 288 289 290 291
Sat Jan 31 09:42:58 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: it turns out the gmp cmp functions can return other
	  values than -1,0,1.  So normalize on the mpw_cmp* level.  This
	  broke for loops that started at negative numbers.

	* src/geniustests.txt: add some tests for the for loops starting at
	  negative values

	* src/graphing.c: fixup the tick size for slopefield and vectorfield
	  Implement stubs for the GEL interface to all of these, allow
	  setting the increment in SlopefieldDrawSolution

	* src/calc.h: update the COPYRIGHT_STRING

292 293 294 295 296 297 298 299
Fri Jan 30 18:30:30 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix some leaks.  Implement a simple euler method
	  graphical solver for the slopefield.  Currently it is only
	  accessible by a temporary function just to see if it works.  It
	  needs a proper interface and also a UI interface.
	  Slopefield/Vectorfield do not yet have proper GEL interface either

300 301 302 303 304 305
Mon Jan 26 23:59:06 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Finish the GUI plotting of vectorfield and
	  slopefield, fix a leak on parametric plots, stretch out the labels
	  in the dialogs to make things fit better and look nicer.

306 307 308 309 310
Fri Dec 05 23:17:22 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: raise the plot window on gui actions (pressing the
	  plot button) if it exists.  Add a "Reset to original zoom" menuitem.

311 312 313 314 315 316 317 318
Wed Nov 19 00:29:04 2008  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel:  Add Eigenvectors.
	  Currently only for 2x2 matrices where computing eigenvectors is
	  relatively easy

	* help/C/gel-function-list.xml: add Eigenvectors

319 320 321 322
Fri Nov 14 00:29:17 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: slopefield works from GUI in a very rudimentary way

George Lebl's avatar
foo  
George Lebl committed
323 324 325 326 327 328
Sun Nov 09 23:33:04 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: another step forwards towards implementation of
	  slope fields and vector fields graphs.  UI is pretty much
	  implemented.  But it doesn't do anything yet.

329 330 331 332 333
Thu Nov 06 00:00:28 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: a tiny bit of cleanup, start implementing
	  slopefield/vectorfield graphing support.

334 335 336 337 338
Tue Nov 04 00:46:40 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: add checkbutton to allow for no legends on the
	  lineplot, useful if I want to just draw myself on the graphs

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
339 340 341 342 343 344 345 346
Tue Nov 04 00:19:54 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix warning

	* src/graphing.c: fix warning, handle error on print command, fix
	  bad labling of functions if some functions cannot be parsed or are
	  empty.

347 348 349 350 351 352 353 354 355 356 357 358 359 360
Mon Sep 22 23:23:51 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: rename parse/eval to Parse and Evaluate to be
	  more in line with my in-vogue naming in Genius (no need to
	  break the consistency even further)

	* src/calc.h, src/genius.c, src/gnome-genius.c, src/funclib.c:
	  Implement function AskString to interactively ask for a string.
	  Use a dialog in GUI mode and readline in command line mode

	* src/geniustests.txt: add some tests

	* help/C/gel-function-list.xml: update

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378
Mon Sep 22 00:05:25 2008  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* src/funclib.c: Add 'parse' and 'eval' functions

	* help/C/gel-function-list.xml: add 'parse' and 'eval' blurbs

	* src/calc.c, src/genius-readline-helper.c, src/gnome-genius.c:
	  handle return values of chdir, getcwd, write, pipe properly

	* src/funclib.c, src/genius.c: move manual display out of funclib.c
	  and make it less hackish, and use less or more if available to
	  display manual for the text mode version.

	* src/funclib.c: correctly call the gel_errorout function to avoid
	  crashes from calling "error"

379 380 381 382 383
Sun Sep 21 17:50:50 2008  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: Update the Mersenne prime info
	  to include the two newest ones.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
384 385 386 387
Tue Jun 10 12:25:17 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.xml: minor typo fix

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
388 389 390 391
Tue Jun 10 09:18:46 2008  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.3

392 393 394 395 396 397 398 399 400 401 402 403 404
Sat Jun 07 13:02:21 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c, src/funclib.c, src/eval.c: Add a new flag to not do
	  backsubstitution in gauss if we are interested in nullspace and
	  the matrix is nonsingular
	
	* src/matop.c: fix the return value of gauss.  Singular means
	  nonempty nullspace, i.e. maximal row rank.  This also fixes
	  SolveLinearSystem which didn't work according to specs, i.e. it is
	  supposed to return null when solution is nonunique.

	* src/geniustests.txt: add more tests

405 406 407 408 409 410 411 412 413
Thu Jun 05 11:40:58 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: fix argument checking in MillerRabin.  Also
	  zeros, ones, rand, randint, I, SetMatrixSize now accept 0 for size
	  and return null as an empty matrix.  Also wait, IndexComplement
	  accept 0 and work accordingly.
	
	* help/C/gel-function-list.gel: update accordingly

414 415 416 417 418
Wed Jun 04 11:56:25 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.gel: update the docs
	  a little, fix a few typos, add links.

419 420 421 422 423 424 425 426 427 428
Wed Jun 04 03:51:25 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: figure out a way to work around VTE nonsense,
	  one way to get at current absolute row is by checking the cursor
	  location and assuming it is on the last line.  Improve
	  monitoring by using a text buffer and allow to turn off the 
	  automatic updates.  Full answer is now wrapped if not a matrix.
	  Don't set icon if it doesn't exist to avoid warning.  Don't try
	  to use readline helper from current dir if not in dev dir.

429 430 431 432 433 434 435 436 437
Tue Jun 03 20:14:34 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix some capitalization issues, implement
	  a variable monitor dialog.  Also add code to save current console
	  but that is disabled due to VTE having useless (read: unusable)
	  API for getting at the buffer.  You require some private knowledge
	  to use the get_text_range function.  Otherwise the API is
	  pointless.

438 439 440 441 442 443 444 445
Thu May 22 01:10:40 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: fix identity matrix caching, setup type caches for
	  identity, zeros and ones

	* src/matop.c: move rref caching to gauss to speed up inverting
	  matrices in rref form etc...

446 447 448 449 450
Tue May 20 02:36:47 2008  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update slightly the upper bound on
	  double checked mersenne prime exponents to newest value

451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469
Tue May 20 00:25:10 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/matrixw.[ch], matop.c, src/eval.c, src/funclib.c:  Optimize
	  matrix manipulation a bit.  Don't be overly conservative with
	  making things private.  And OMG we used Gauss-Jordan instead of
	  backaddition.  Also when the matrix is not rational, do pivotting
	  (use largest entry, not first nonzero one)

	* src/mpwrap.c: fix mpw_abs if called with same arguments for in and
	  out and add mpw_abs_sq for getting the absolute value squared,
	  which doesn't involve a sqrt

	* src/genius.c, src/gnome-genius.c, src/eval.[ch], src/matrixw.c: 
	  init the_zero during the startup

	* src/mpzextra.c: very minor optimizations

	* src/Makefile.am: fix BUILDDIR setup

470 471 472 473
Mon May 19 19:56:37 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/mpzextra.c: fix leak on mympz_is_prime.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
474 475 476 477
Sun Feb 24 18:38:31 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: update

478 479 480 481 482 483 484 485 486 487 488 489 490 491 492
Sun Feb 24 18:35:45 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: print extra dict of a function by printing a list
	  of variable assignments before the function body.

	* src/dict.c: a little cleanup and fix the problem with subst list
	  updating and d_replacefunc which happened when a local variable
	  which was previously set to something else was set to a function.

	* src/geniustests.txt: add more tests on returning functions
	  and the subst list handling

	* help/C/genius.xml: add section on returning functions from
	  functions

493 494 495 496 497 498 499 500 501 502 503 504
Sun Feb 24 15:25:45 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/dict.c, src/funclib.c: Add IsDefined and undefine.  Implement
	  d_delete.  protect and unprotect now work with matrices of
	  identifiers.

	* src/geniustests.txt: add tests

	* help/C/*.xml: update docs

	* TODO: problems with subst lists can lead to crash, document this

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
505 506 507 508
Fri Feb 22 02:44:23 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/mpwrap.c: avoid warning

509 510 511 512
Fri Feb 22 02:41:35 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: update copyright string as appropriate

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
513 514 515 516 517 518 519 520 521
Fri Feb 22 02:11:03 2008  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* lib/number_theory/primes.gel:  Add IsMersennePrime and
	  MersennePrimeExponents

	* help/C/gel-function-list.xml, help/C/genius.xml: document the above

522 523 524 525 526 527 528 529 530 531 532 533 534 535 536
Fri Feb 22 01:38:54 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: add mpw_re_sgn and mpw_im_sgn functions and fix
	  memory leak in mpw_re and mpw_im

	* src/funclib.c: Implement QuadraticFormula internally, marginally
	  improving performance, but mainly handle special cases better
	  and avoid instability in solutions (avoid bad cancellation in most
	  cases)

	* lib/equation_solving/formulas.gel: remove QuadraticFormula from
	  here

	* src/longtest.gel: add tests for quadratic formula

537 538 539 540 541 542 543
Sat Jan 12 15:03:19 2008  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: make internal function calling a bit faster.  Can be
	  noticeable (tested 10% on fast operations)

	* src/funclib.c: fix memory leak

544 545 546 547 548
Thu Nov 29 10:34:41 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.gel, lib/combinatorics/misc.gel:  Fix
	  spelling of the Fibonacci function name.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
549 550 551 552
Tue Nov 20 23:20:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.2

553 554 555 556 557 558 559
Tue Nov 20 23:13:36 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: no mod of arguments to round, ceil, trunc, all trig
	  functions, all log functions, exp, CompositeSimpsonsRule.  It
	  just doesn't make sense to do so.  Fix IsPerfectSquare for
	  rationals.

560 561 562 563
Tue Nov 20 12:26:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: one more untranslated string marked

564 565 566 567
Tue Nov 20 03:34:28 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: set up our icon on all windows

568 569 570 571 572
Tue Nov 20 03:22:14 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: saner algorithm to figure out when to print in
	  scientific notation

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591
Tue Nov 20 02:33:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version

	* src/gnome-genius.c: don't leave behind zombie processes from
	  running programs.  Translate a previously untranslated string,
	  and handle fork failing.

	* src/eval.c: the @() operator accepts null as range when not used
	  as an lvalue and just returns null then.  That's the more
	  correct behaviour, treating it as an empty range, thus returning
	  an empty matrix.  Plus negligible speed improvement.

	* src/calc.c: kill extraneous newline when prettyprinting fractions

	* src/geniustests.txt: add tests

	* NEWS: update

592 593 594 595 596
2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>

	* src/gnome-genius.desktop.in: Fix category and mimetype fields
	  of the desktop file.

597 598 599 600 601
2007-11-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* help/omf.make: And now fix the OMF file installation if
	  --disable-scrollkeeper is used for real.

602 603 604
2007-11-19  Sebastian Dröge  <slomo@circular-chaos.org>

	* help/omf.make: Fix OMF file installation if --disable-scrollkeeper
605
	  is used.
606

607 608 609 610 611
Mon Nov 19 03:21:44 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c, src/funclib.c: slight optimization by using
	  mpfr_zero_p

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
612 613 614 615
Mon Nov 19 02:56:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/symbolic.c: add erf derivative

616 617 618 619
Sun Nov 18 14:48:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix building with no gtksourceview 

620 621 622 623 624 625 626 627 628
Sat Nov 17 21:27:26 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use GTK_STOCK_DIALOG_INFO instead of
	  GTK_STOCK_INFO, as the latter is only available in 2.8 and higher
	  gtk, thus making genius implicitly depend on 2.8

	* ve/Makefile.am: don't use -l to link to the viciouslib but link it
	  directly

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
629 630 631 632
Fri Nov 16 23:36:57 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.1

633 634 635 636 637 638 639 640 641 642 643 644
Fri Nov 16 23:10:29 2007  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/gtkplot.[ch]: add freeze/thaw functions since otherwise
	  we may hang and eat all memory on recalculating ticks needlessly
	  when changing both range and ticks.

	* src/graphing.c: use freeze/thaw to avoid hangs and huge memory
	  leaks.  On parametric plots, squish the graph a little and move
	  the legend below the plot.

	* NEWS: update

645 646 647 648 649
Fri Nov 16 00:50:48 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/sums_proucts.gel: increase default sum and product
	  tries to 10000, since 200 was just not cutting it.

650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673
Thu Nov 15 23:30:51 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: Much nicer pretty printing of matrices.  Rather
	  than using tabs, use commas and align elements successive rows.
	  Both nicer, more readable (when MixedFractions is on) and more
	  compact way of seeing matrices.  Yay!

	* src/lexer.l: drop the tab support for entering matrices.  Not only
	  was it stupid, it didn't work on the command line

	* src/funclib.c: fix print, printn and display functions to not follow
	  the line length limits like normal output

	* src/calc.c: when pretty printing a matrix, only print the leading
	  newline if we are not in fact on the start of a line

	* configure.in: check for svn rather than cvs to add extra warnings

	* src/gnome-genius.c: make is_uri static to avoid a warning

	* help/C/genius.xml: update the manual

	* NEWS: update

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
674 675 676 677
Thu Nov 15 18:39:06 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/Makefile.am: add nullspacetest.gel

678 679 680 681 682 683 684 685 686 687 688 689 690 691 692
Wed Nov 14 20:13:29 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c: fix possible memory corruption in the gauss
	  routine

	* src/matrixw.c: slight optimization to not copy zeros

	* src/funclib.c, lib/linear_algebra/*.gel: Implement NullSpace
	  and PivotColumns internally for speed.

	* src/gnome-genius.c: remove some unused vars

	* src/geniustests.txt, src/nullspacetests.txt: add tests for
	  PivotColumns and NullSpace

693 694 695 696 697 698
Wed Nov 14 04:15:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: OrthogonalComplement is with respect
	  to Hermitian product just like everything else.  Also
	  handle null as empty matrix/subspace in more places.

699 700 701 702 703 704 705 706 707
Wed Nov 14 03:45:42 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/matop.c, src/symbolic.c, src/mpwrap.[ch], src/calc.c,
	  src/funclib.c, src/eval.c: Significantly improve both
	  memory usage and speed in matrix multiplication and to some degree
	  Gaussian elimination in case there are a lot of zero entries.

	* src/geniustests.txt: update

708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731
Tue Nov 13 23:48:25 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/matrixw.[ch], src/calc.c, src/funclib.c, src/matop.c,
	  src/symbolic.c, src/compil.c, src/eval.c: Optimized / cleaned up
	  certain matrix operations a tiny bit.  Consistently traverse
	  matrices row wise.

	* src/funclib.c, src/eval.c: Fixed and slightly optimized IsIn,
	  it used to bomb if the first argument was a matrix, and it
	  used to think that the object "true" is equal to any number,
	  and further it didn't see a difference between numbers of
	  different types (float vs. integer).  This fixes also Intersection,
	  Union, MakeSet and SetMinus.  Also added IsSubset.  Also fixed
	  symbolic tree comparison for matrices.

	* src/mpwrap.c: When printing out a floating point number, make sure
	  to append ".0" to the end to distinguish it from an integer

	* src/geniustests.txt:  updated tests, added many new tests.

	* help/C/gel-function-list.xml: updated

	* NEWS: update

732 733 734 735 736
Sun Nov 11 03:17:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: translate the author fields in the about box
	  and set the program name correctly

737 738 739 740
Sun Nov 11 03:07:04 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: there was a stupid string to translate

741 742 743 744 745 746 747 748 749 750 751 752 753 754
Sun Nov 11 00:14:04 2007  Jiri (George) Lebl <jirka@5z.com>

	* pixmaps/Makefile.am: add genius-graph.png to EXTRA_DIST

	* src/funclib.c: Implement DividePoly to divide polynomials
	  using long division.  This was one of those things that
	  I set aside to do "tommorrow" and it took close to a decade.

	* help/C/gel-function-list.xml: document DividePoly

	* configure.in: require GTK+ 2.4 (not 2.3.5 as previously)

	* NEWS: update

755 756 757 758 759
Sat Nov 10 16:58:14 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: migrate to GtkFontButton and add website addy
	  to about box

760 761 762 763 764 765 766 767 768
Sat Nov 10 16:22:09 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: optionally use GtkAboutDialog if we have GTK
	2.6 and higher

	* src/gnome-genius.c, src/genius.c, src/Makefile.am: better checking
	if we are in the development directory and if so, don't init binreloc
	and use the local lib.cgel

769 770 771 772 773 774 775 776 777
Sat Nov 10 13:51:26 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix fit dependent axis zoom for parametric plots

	* src/dict.[ch], src/gnome-genius.c, src/eval.c: Add names to
	  contexts and print these when showing local variables so that you
	  can see the "backtrace".  Also the display of vars is slightly
	  nicer now.

778 779 780 781 782 783 784 785
Thu Nov 08 00:51:16 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/genius.c, src/funclib.c, src/plugin.c,
	  src/lexer.l, src/binreloc.[ch], acinclude.m4, src/Makefile.am:
	  add and use Binreloc code from autopackage to allow relocatable
	  executables.  Slightly massaged the code/auto* stuff to make it
	  work.

786 787 788 789
Mon Nov 05 01:31:51 2007  Jiri (George) Lebl <jirka@5z.com>

	* Makefile.am: add the INSTALL.MacOSX file to EXTRA_DIST

790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805
Mon Nov 05 00:15:09 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.[ch], src/mpwrap.[ch], src/funclib.c, src/genius.c,
	  src/gnome-genius.c, src/structs.h src/geloutput.[ch]:  Implement
	  OutputChopExponent and OutputChopWhenExponent parameters.  These
	  will chop small numbers if they appear near large numbers.

	* src/gnome-genius.c: try to use G_DIR_SEPARATOR more just in case
	  someone will start porting genius

	* help/C/*.xml: update documentation for chopping

	* src/geniustests.txt: add tests for chopping

	* README, NEWS: update

806 807 808 809 810 811 812 813 814 815
Sun Nov 04 02:37:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: unswap x and y.  They are now in correct positive
	  orientation in gtkextra.

	* src/gnome-genius.c, pixmaps/gnome-graph.png: add a simple "logo"
	  to the about box

	* NEWS: update

816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831
Sat Nov 03 20:51:37 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Use -10 to 10 for all default ranges.  Much better
	  than PI, that was stupid.  Set minimum plot window to 1e-10 and
	  enforce it to avoid errors with computing ticks leading to
	  hanging behaviour.

	* gtkextra/*: copy new files from cvs version of gtk extra except
	  for gtkpslot which is broken, so keep our old version which works

	* gtkextra/gtkplot3d.[ch]: fix up the axis mess

	* src/graphing.c: use the new gtk extra stuff.  Produces nicer
	  plots on screen.  Initial patch was by Sebastian Dröge
	  <slomo@circular-chaos.org>

832 833 834 835 836 837 838 839
2007-11-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* configure.in:
	* src/Makefile.am:
	* src/gnome-genius.c: (get_source_language_manager), (new_program):
	Optionally allow to use GtkSourceView2 instead of GtkSourceView1.
	Version 2 is preffered if available, otherwise version 1 will be used.

840 841 842 843 844 845 846 847 848 849 850
2007-11-03  Sebastian Dröge  <slomo@circular-chaos.org>

	* Makefile.am:
	* configure.in:
	* help/omf.make:
	Add --disable-scrollkeeper and --disable-update-mimedb options to
	configure to skip building the scrollkeeper and mime database on
	make install. The files generated by this must not be shipped by
	binary packages and having this options makes it easier to package
	genius.

851 852 853 854 855
Wed Oct 31 10:43:25 2007  Jiri (George) Lebl <jirka@5z.com>

	* gtkextra/*: remove gtkplotdtriangle.[ch]: they're not needed and
	  have a bad license.

856 857 858 859 860 861 862 863 864 865 866 867
Fri Oct 26 02:16:23 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.[ch], src/eval.[ch], src/genius.c, src/gnome-genius.c:
	  Implement maximum node checking.  If the limit is hit you are
	  given a chance to interrupt the current program.  Only in the
	  GNOME version.  Add this to the Properties dialog.

	* src/dict.c: Fix large performance problem on returning from a deep
	  recursion by not doing a stupid assert

	* help/C/genius.xml: document max_nodes

868 869 870 871 872 873 874
Thu Oct 25 15:22:16 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/inter.c: fix command line editting.  readline docs are
	  horrible! (and readline is horrible)

	* src/gnome-genius.c: fix strange printing of locals among globals

875 876 877 878 879 880 881 882 883 884 885 886 887 888
Thu Oct 25 13:47:40 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/dict.[ch]: Implement showing of all user
	  variables even during runtime.  Shows even local variables if some
	  function is currently being executed.  Allows better debugging

	* src/gnome-genius.c: fix show full answer leak and fix running it
	  during runtime.

	* configure.in: bump version

	* help/C/genius.xml: update docs a bit, add some more info on the gui
	  part of genius.

889 890 891 892 893
Tue Oct 23 17:14:25 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: positive and nonnegative matrixes obviously can't
	  have complex entries so return false

894 895 896 897 898 899
Tue Oct 23 16:23:53 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: add IsMatrixPositive and IsMatrixNonnegative

	* help/C/gel-function-list.xml: add docs for the above

900 901 902 903 904 905
Tue Oct 23 16:04:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: add "version" function for checking the version

	* help/C/gel-function-list.xml: add doc for version

906 907 908 909 910 911 912
Tue Oct 23 15:42:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/funclibhelper.cP: Add IsZero and IsIdentity for
	  checking if a matrix is zeros or an identity

	* help/C/gel-function-list.xml: add docs for the above

913 914 915 916 917 918 919
Tue Oct 23 13:57:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: on errors don't print the whole filename for
	  opened files, just the displayed name

	* src/gnome-genius.c: add Ctrl->R for "Run"

920 921 922 923 924 925 926 927 928 929
Tue Oct 23 13:33:42 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: slightly optimize
	  PivotColumns by removing unnecessary separators

	* src/matop.c, src/funclib.c: when computing det be smart about
	  matrices in rref form.  This way once we make a matrix rref,
	  we can use det to check if it is singular very quickly.  Also
	  set the rref flag on identity matrices.

930 931 932 933 934
Tue Oct 23 12:28:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add "save all unsaved" menu item, fix the save
	  as dialog, and add confirmation on closing unsaved things.

935 936 937 938 939 940 941
Tue Oct 23 11:33:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/functions/numerical.gel: remove IsGaussianInteger, we already
	  have IsGaussInteger alias IsComplexInteger

	* help/C/gel-function-list.xml: updates and fixes

942 943 944 945 946
Tue Oct 23 10:51:24 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: better logic for figuring out something is a
	  URI

947 948 949 950 951
Mon Oct 22 21:39:42 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: recognize uris on the command line
	  and handle them correctly

952 953 954 955 956 957 958 959 960
Mon Oct 22 19:38:03 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: whack the old gtk file selection stuff,
	  I'm tired of fixing bugs in two versions of code.  Consistently
	  have uri's around as program->name internally.  Fix opening
	  files without specifying full path on command line.

	* configure.in: require at least gtk+ 2.3.5

961 962 963 964 965 966 967 968 969
Tue Oct 16 11:05:32 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: hmmm, Calculator;Utility; also fits
	  the bill.  Makes the menu entry appear twice at least in ubuntu.
	  ... hmmm oh well.  The default menu setup in gnome must be a little
	  braindead and uses too simple queries.

	* help/C/genius.xml: added Accessories to list of possible submenus

970 971 972 973 974 975 976 977 978 979
Tue Oct 16 10:53:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: change Office to Education as per
	  the vfolder spec (that's still somewhat wrong, but unfortunately
	  it is as close to standard behaviour as we get).  Also notice
	  that the Scientific category was wrong.  "Science" is correct
	  as per spec.

	* help/C/genius.xml: update the manual for where to find the icon.

980 981 982 983 984
Sun Oct 14 10:10:11 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add Adrian E. Feiguin to the authors
	  list in the about box

985 986 987 988 989 990
Sun Oct 14 09:40:59 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: I finally found the culprit behind some of
	  the initial GEL implementations of standard library so I added
	  him, Nils Barth to the authors list.

991 992 993 994 995 996 997
Sun Oct 14 02:33:43 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*: update the documentation a bit more.  Make it almost one
	file only by inlining all the things done as separate entities
	before, that was a nightmare to edit.  Only the function list
	and the legal nonsense is left separate.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
998 999 1000 1001
Sat Oct 13 10:38:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*.xml: minor fixes

1002 1003 1004 1005 1006
Sat Oct 13 09:42:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-variables.xml: add more on scope of variables and
	  other minor fixes.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1007 1008 1009 1010 1011 1012
Mon Oct 08 01:56:06 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*.xml: documentation updates

	* Release 1.0.0

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1013 1014 1015 1016
Sun Oct 07 12:48:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: add missing languages

1017 1018 1019 1020 1021
Sun Sep 30 21:00:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: use the "Genius Mathematics Tool" that sounds
	  better

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1022 1023 1024 1025 1026 1027 1028
Sun Sep 30 20:53:11 2007  Jiri (George) Lebl <jirka@5z.com>

	* COPYING, src/genius.c, src/gnome-genius.c, src/funclib.c: update
	  to GPLv2

	* AUTHORS, TODO, README: minor updates

1029 1030 1031 1032 1033
Sun Sep 30 20:31:30 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in, NEWS, help/C/genius.xml: make this 1.0.0 release,
	  what the hell, it's been 10 years, we deserve a 1.0 of Genius

1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078
Sun Sep 30 11:42:59 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: workaround a segfault in vte when
	  a very long string is given.
	
	* src/mpwrap.c: fix bug with scientific notation.  Also change
	  behaviour of automatic scientific notation to follow the max digits
	  parameter

	* src/Makefile.am: fix order of -I and change the way we link our own
	  libs to be more robust.

	* configure.in: fix

	* src/funclibhelper.cP: fix nonegative integer vs positive integer
	  checking and add square matrix checking

	* src/mpwrap.[ch]: add binomial and get_ulong

	* src/funclib.c: Add builtin versions of IsVector, IsDiagonal,
	  IsUpperTriangular, IsLowerTriangular, nCr (Binomial) for speed.

	* help/C/gel-function-list.xml: add docs for
	  RayleighQuotientIteration, StirlingNumberFirst and Second,
	  and update nCr doc string

	* help/C/*.xml: update the document to look better printed.  Remove
	  uneeded paragraph separators, and rewrite small bits.

	* lib/linear_algebra/misc.gel: fix ApplyOverMatrix2, remove some
	  unneeded semicolons, remove functions now builtin

	* lib/linear_algebra/linear_algebra.gel: fix RayleighQuotient
	  and add RayleighQuotientIteration

	* lib/combinatorics/misc.gel: Hofstadter, HarmonicNumber
	  works over matrixes.  Add StirlingNumberFirst and
	  StirlingNumberSecond

	* lib/combinatorics/factorial.gel: remove nCr as it's builtin

	* src/calc.h, src/gnome-genius.c: brag about my Ph.D.

	* src/geniustests.txt: add bunch of tests

1079 1080 1081 1082 1083 1084 1085 1086 1087
Fri Sep 28 19:41:00 2007  Jiri (George) Lebl <jirka@5z.com>

	* mpfr/*, configure.in, Makefile.am, src/Makefile.am:
	  Remove the internal MPFR, this is just too much trouble to maintain
	  here and MPFR is nowdays quite ubiquitous.

	* lib/combinatorics/factorial.gel, help/C/gel-function-list.xml:
	  it's Pochhammer, not Puchhammer

1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104
Fri Sep 28 03:19:50 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/combinatorics/misc.gel: add FrobeniusNumber and GreedyAlgorithm

	* src/funclib.c: fix vararg calls to the GCD and LCM aliases

	* src/geniustests.txt: add some tests

	* help/C/gel-function-list.xml: add help for FrobeniusNumber
	  and GreedyAlgorithm

	* configure.in: raise version

	* help/C/*.xml, help/C/figures/*.eps: add eps figures so that
	  postscript (and thus pdf by ps2pdf, docbook2pdf is broken now)
	  output has figures

Raivis Dejus's avatar
Raivis Dejus committed
1105 1106 1107 1108
Fri Mar 27 15:07:39 2007  Raivis Dejus  <orvils@gmail.com>

        * configure.in: Added Latvian Translation.

1109 1110 1111 1112 1113 1114
Fri Mar 09 09:17:39 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix for platforms that don't have wordexp and use glob.
	  Include the GLOB_NOCHECK flag to glob.  Patch from
	  Joerg Sonnenberger <joerg@britannica.bec.de>

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1115 1116 1117 1118
Fri Feb 02 10:10:19 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.7

1119 1120 1121 1122 1123 1124
Wed Jan 31 23:01:00 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: use HUGE_VAL instead of 0.0 when we get an error,
	  this is better in that it doesn't display anything rather then 0
	  when for example the return value is not real.

1125 1126 1127 1128 1129
Mon Jan 29 18:49:07 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: do what we do on inside program runs, when
	  we do "load and run" in terms of printout on the console

1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141
Mon Jan 29 16:53:24 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.[ch]: add "remember" settings to the gui and by
	  default don't remember precision and output settings as those
	  are most likely temporary.  Also add "mixed fractions" option to
	  the gui.  Add a Help button to the settings dialog

	* help/C/prefs-display.xml, help/C/prefs-precision.xml,
	  help/C/genius.xml: update for the above

	* help/C/Makefile.am: add gel-matrix-linalg.xml

1142 1143 1144 1145 1146
Mon Jan 29 13:52:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: don't set output style to normal before showing
	  full answer, we want it in the current style

1147 1148 1149 1150 1151 1152 1153 1154 1155
Mon Jan 29 13:32:29 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml,
	  help/C/gel-matrix-linalg.xml: minor updates, add skeleton
	  "Linear Algebra" section

	* src/funclib.c, src/matrixw.c, src/gnome-genius.c, src/calc.h:
	  update copyright strings

1156 1157 1158 1159 1160
Mon Jan 29 12:04:16 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Add "Show Full Answer" menu item, always show
	the Programs menu and add a "Console" item to the programs menu

1161 1162 1163 1164 1165 1166 1167 1168 1169 1170
Mon Jan 29 10:24:52 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/equation_solving/formulas.gel: Fix handling of real solutions
	  for the cubic to avoid ugly expressions with small imaginary values
	  where everything should be real.
	
	* src/geniustests.txt, src/longtest.gel: Fixup tests

	* help/C/gel-function-list.xml: small update to the formula entries

1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189
Mon Jan 29 01:35:56 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/matrixw.c: DiagonalOf now returns a column
	  vector

	* lib/equation_solving/formulas.gel: Add QuarticFormula and use it in
	  PolynomialRoots.  Also return column vectors from QuadraticFormula,
	  CubicFormula

	* lib/linear_algebra/linear_algebra.gel: add support for 4x4 matrices
	  in Eigenvalues and always return column vector from that function

	* src/gnome-genius.c: add Next/Previous Tab menu item and accelerator

	* src/longtest.gel: test the quartic

	* help/C/gel-matrix-support.xml, help/C/gel-polynomials.xml,
	  help/C/gel-function-list.xml: Update the documentation

Pema Geyleg's avatar
Pema Geyleg committed
1190 1191 1192 1193
2007-01-24  Pema Geyleg  <pema.geyleg@gmail.com>

	* configure.in: Added 'dz' to ALL_LINGUAS.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1194 1195 1196 1197
Sat Jan 20 00:14:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/gel-function-list.gel: fix unbalanced para

1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215
Sat Jan 20 00:08:18 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Fix spelling, it's
	  RayleighQuotient

	* lib/linear_algebra/linear_algebra.gel,
	  lib/equation_solving/formulas.gel:  Fixup CubicFormula to work
	  correctly with complex coefficients and implement Eigenvalues
	  for 3 by 3 matrices.

	* help/C/gel-function-list.xml, help/C/genius.xml: add a bunch of
	  documentation to the function list and Planetmath and Mathworld
	  links.

	* src/geniustests.txt, src/longtest.gel: add tests

	* add missing files to subversion

1216 1217 1218 1219 1220 1221 1222 1223 1224
Fri Jan 19 21:34:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: add IsPositiveDefinite
	  and IsPositiveSemidefinite

	* src/geniustests.txt: add tests

	* help/C/gel-function-list.xml: update for the above

1225 1226 1227 1228 1229 1230
Sat Sep 02 11:27:01 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: add undo/redo capability

	* configure.in: raise version

1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
Mon Aug 28 12:47:44 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/plugin.c, src/plugread.c, src/Makefile.am:  Fix plugin reading.
	  Fix the interface to be portable and append the proper extension on
	  reading the plugin.  Pass proper options to the linker on compiling
	  the test plugin.

	* src/test.plugin.in: whack the extension

	* src/calc.c, src/gnome-genius.c, src/genius.c, src/graphing.c:  Some
	  portability fixes with respect to the path names

1243 1244 1245 1246 1247 1248
Wed Aug 23 11:45:49 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-geniuc.c: cosmetic update to about box

	* src/calc.h: add diactrical marks in Jiri in the copyright string

1249 1250
Wed Aug 23 11:33:49 2006  Jiri (George) Lebl <jirka@5z.com>

1251
	* src/gnome-genius.c: add Kai as documentor in the about box and add
1252 1253
	  the diactrical marks in Jiri in the about box

1254 1255 1256 1257 1258 1259 1260 1261
Sat Aug 19 11:59:04 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/lexer.l: fix flex braindamage with respect to yywrap function

Tue Aug 15 11:05:54 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.6.1

1262 1263 1264 1265 1266 1267 1268 1269 1270
Tue Aug 15 10:29:40 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: catch all cases of complex result from power function
	  and fix unstable (possibly hung) newton's alg implementation of
	  rational exponentiation and replace with converting to float and
	  using mpfr_pow.

	* src/geniustests.txt: add tests

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1271 1272 1273 1274
Sun Aug 13 14:15:42 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.6

1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290
Sat Aug 12 20:31:24 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c, src/mpwrap.h: add RiemannZeta and GammaFunction
	  (at least for real values)

	* lib/linear_algebra/special_matrices.gel,
	  lib/linear_algebra/misc.gel: Add MakeVector (like octave vec)
	  CommutationMatrix (octave commutation_matrix) and
	  ToeplitzMatrix (octave toeplitz)

	* help/C/gel-function-list.xml: add docs for the above

	* configure.in: raise version

	* src/geniustests.txt: add tests for new functions

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1291 1292 1293 1294 1295 1296 1297 1298
Wed Aug 09 12:40:28 2006  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-plotting.xml: add a plotting
	  chapter.

	* help/C/figures/*.png: New plotting figures plus update the old
	  main window figure

1299 1300 1301 1302 1303 1304 1305
Wed Aug 09 11:07:12 2006  Jiri (George) Lebl <jirka@5z.com>

	* lib/equation_solving/formulas.gel:  Add QuadraticFormula,
	  CubicFormula and PolynomialRoots functions

	* help/C/gel-function-list.xml: Add docs.

1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321
Tue Aug 08 11:00:19 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/eval.c, src/funclib.c, src/matop.c:  Fix many
	  complex number comparisons to fix computation of complex matrix
	  determinants and other instances where gaussian elimination was
	  used.  Also for the polynomial functions and handling of booleans
	  and a few more.

	* src/genius.c: Add --exec option, follow gnu semantics for
	  the long options with arguments

	* src/geniustest.pl: Use --exec option instead of echo

	* src/geniustests.txt: Add tests for the complex number handling
	  fixes

George Lebl's avatar
George Lebl committed
1322 1323 1324 1325
Tue Aug 01 19:48:10 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.5

1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338 1339
Tue Aug 01 19:48:10 2006  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: use same geometry setup as gnome-terminal
	  (resize in terms of the terminal characters) I don't have
	  time to debug vte and new versions crap out when we don't set
	  this up.

	* po/POTFILES.in, Makefile.am, mpfr/Makefile.am,
	  mpfr/tests/Makefile.am, src/Makefile.am, help/C/Makefile.am:
	  fix build/distcheck for new autotools

	* help/omf.make, help/xmldocs.make: update to newest versions from
	  gnome-common to fix distcheck

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1340 1341 1342 1343
Tue Jul 18 20:35:23 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.c: fix matrix expanding

1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367
Mon Jul 17 01:55:30 2006  George (Jiri) Lebl <jirka@5z.com>

	* lib/linear_algebra/*.gel: Added QRDecomposition, SesquilinearForm,
	  SesquilinearFormFunction, killed GramSchmidtDot, DotProduct is now
	  the actual dot product, not the hermitian product.  InnerProduct
	  now calls HermitianProduct not DotProduct.  GramSchmidt,
	  Projection, VectorAngle have the inner product as an optional
	  argument.  GramSchmidt normalizes the vectors.  NullSpace optimized
	  a bit, now no longer calls ColumnSpace which was not needed.  Fixed
	  OuterProduct to actually return the outer product not just the 1,1
	  element.  Killed HermitianProduct which moved to being C based

	* src/funclib.c, src/funclibhelper.cP: implemented HermitianProduct
	  in C, optimized StripZeroColumns in the case when there are no
	  columns to strip

	* src/matrixw.[ch], src/funclib.c: remember that we did rref so that
	  we don't do it several times (speeds up NullSpace a bit)

	* combinatorics/factorial.gel, lib/linear_algebra/*.gel,
	  statistics/basic.gel: use zeros instead of SetMatrixSize

	* help/C/gel-function-list.xml: update

1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379
Fri Jul 14 18:00:39 2006  George (Jiri) Lebl <jirka@5z.com>

	* configure.in, mpfr/*: update mpfr to 2.2.0 and require 2.2.0 in
	  the configure script

	* src/mpwrap.[ch], src/funclib.c: use mpfr_pow_z and whack our own
	  stupid version.  Add CatalanConstant and atan2 functions

	* help/C/gel-functions-list.xml, lib/functions/elementary.gel:
	  document CatalanConstant, atan2, and change all "reverse function"
	  to "inverse function".

1380 1381 1382 1383 1384 1385 1386 1387
Fri Jul 14 01:00:03 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/funclib.c:  Add NextCombination function

	* src/geniustests.txt: add tests

	* help/C/gel-function-list.xml: add docs for NextCombination

1388 1389 1390 1391 1392 1393 1394
Thu Jul 13 17:50:28 2006  George (Jiri) Lebl <jirka@5z.com>

	* configure.in, autogen.sh, acconfig.h, src/Makefile.am: use automake
	  1.9 to fix the po directory mess and other things.

	* mpfr/*: apparently automake gets update in cvs for this

1395 1396 1397 1398
Thu Jul 13 13:42:25 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/calc.h, src/*.c: update copyright strings for 2006

1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413
Thu Jul 13 13:33:12 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/funclib.c, lib/linear_algebra/linear_algebra.gel,
	  lib/linear_algebra/subspaces.gel:
	  Add CountZeroColumns function which is quicker then
	  stripping zero columns and then counting the remainder.  
	  Further port StripZeroColumns to C to make it a lot more
	  efficient.  This also optimizes things such as nullity, rank,
	  ColumnSpace, NullSpace and related.

	* src/geniustests.txt: Add some tests

	* help/C/gel-function-list.xml, help/C/genius.xml: Update the manual,
	  and expand a bunch of entries for a bunch of functions.

1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424
Thu Jul 13 10:53:54 2006  George (Jiri) Lebl <jirka@5z.com>

	* lib/sets/basic.gel, src/funclib.c, src/eval.[ch]: Implement IsIn,
	  Intersection and SetMinus in C for speed

	* lib/linear_algebra/subspaces.gel,
	  lib/linear_algebra/linear_algebra.gel:  Minor speed improvements
	  to NullSpace

	* src/geniustests.txt: add some more tests

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1425 1426 1427 1428 1429 1430 1431 1432 1433
Thu Jul 13 08:56:10 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.c: fix leaks

	* src/matrix.c: zero out matrix data to init it

	* lib/linear_algebra/linear_algebra.gel: simplify NonPivotColumns a
	  tiny bit

1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446
Thu Jul 13 01:32:55 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.[ch], src/matrixw.c, src/matrix.c: Fix a whole bunch of
	  leaks and memory corruption problems especially with respect to
	  loops and matrixes.

	* src/eval.c: fix evaluation of matrix entries to be a little faster
	  perhaps (don't ever push value nodes) and evaluate matrix entries
	  in the most obvious order rather then our previous
	  very weird order.

	* src/geniustest.txt: add a test

1447 1448 1449 1450 1451 1452 1453 1454 1455
Wed Jul 12 14:26:35 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix error in using the file chooser

	* src/eval.c: fix compiler warning

	* ve/*, configure.in, **/Makefile.am: use a private copy of
	  slightly cut down vicious-extensions to make things work

1456 1457 1458 1459 1460
2006-04-17  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Remove obsolete entry for no_NO.
	* po/no.po: And the translation.

Kjartan Maraas's avatar
Kjartan Maraas committed
1461 1462 1463 1464
2005-12-06  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Add nb to ALL_LINGUAS.

Pawan Chitrakar's avatar
Pawan Chitrakar committed
1465 1466 1467 1468
2005-08-24  Pawan Chitrakar  <pchitrakar@gmail.com>

	* configure.in: Added ne in ALL_LINGUAS

1469 1470 1471 1472 1473
Thu Aug 11 11:51:10 2005  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: make the unsaved work quit dialog work for
	  window closing as well (it just asked but quit anyway in that case).

1474 1475 1476 1477
2005-08-08  Chao-Hsiung Liao  <j_h_liau@yahoo.com.tw>

	* configure.in: Added "zh_TW" to ALL_LINGUAS.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1478 1479 1480 1481
Fri Jul 22 10:12:09 2005  George Lebl <jirka@5z.com>

	* Release 0.7.4

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1482 1483 1484 1485 1486 1487
Thu Jul 21 16:56:44 2005  George Lebl <jirka@5z.com>

	* help/C/gel-function-list.xml: minor fix

	* help/C/genius.txt: generate

1488 1489 1490 1491 1492 1493 1494 1495 1496 1497
Thu Jul 21 16:54:09 2005  George Lebl <jirka@5z.com>

	* src/graphing.c: Add parametric plots, add LinePlotParametric and
	  LinePlotCParametric

	* src/mpwrap.[ch]: add mpw_get_complex_double

	* help/C/gel-function-list.xml: add LinePlotParametric and
	  LinePlotCParametric

1498 1499 1500 1501 1502 1503
Fri Jun 24 17:39:48 2005  George Lebl <jirka@5z.com>

	* src/symbolic.c, src/geniustests.txt: allow differentiation of
	  E_CALL's where first arg is a function, not an identifier, for
	  example this is what we get on SymbolicDerivative(sin*cos)

1504 1505 1506 1507 1508 1509 1510 1511
Fri Jun 24 17:21:22 2005  George Lebl <jirka@5z.com>

	* src/symbolic.c, src/eval.c, src/geniustests.txt: Some more
	  simplification special casing, doing several tan derivatives is
	  now much faster and results in shorter answers, yay.  Also run
	  the evalnode hook so that we can interrupt a symbolic derivation
	  which is taking too long.

1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529
Fri Jun 24 16:23:01 2005  George Lebl <jirka@5z.com>

	* src/longtest.gel: add many derivative tests

	* src/funclib.c: add IsFunctionOrIdentifier

	* lib/calculus/differentiation.gel: accept identifiers for all
	  functions and not just functions

	* help/C/gel-function-list.xml: add IsFunctionOrIdentifier

	* src/eval.c: Allow identifier + string to make a string

	* src/symbolic.c: fix some derivative definitions

	* src/eval.c: fixup nargs when creating new operator nodes in
	  simplification

1530 1531 1532 1533 1534 1535 1536 1537
Fri Jun 24 15:42:09 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: add symbolic equality (respects types)

	* src/eval.[ch]: further simplification of multiplication and
	  addition, still crap, but lesser crap now.  I need to make this
	  more general and nicer.

1538 1539 1540 1541 1542 1543
Wed Jun 22 13:19:39 2005  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/symbolic.c: Add more aggressive "simplification"
	  and use it on the result of derivation (for example multiplication
	  by 1 or addition of 0 and such are now whacked)

1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559
Fri Jun 17 09:56:34 2005  George Lebl <jirka@5z.com>

	* src/parse.y: fix precedence of .+ and .- and also move 'call' in
	  precedence further to the top to bind more closely then =
	  make things like "x = f call (x)" work as you would expect.

	* lib/misc/misc.gel: add ComposePower

	* help/C/gel-functions-list.xml: add ComposePower docs

	* src/eval.c: in try_to_do_precalc, whack all double negations

	* src/symbolic.c: fix derivation of divisions, and make ln have
	  derivative of "x^-1" rather then "1/x" as we can take multiple
	  derivatives better there since we have no real simplification

1560 1561 1562 1563 1564 1565 1566 1567 1568 1569
Thu Jun 16 18:14:39 2005  George Lebl <jirka@5z.com>

	* lib/symbolic/differentiation.gel:  Add SymbolicNthDerivative,
	  SymbolicNthDerivativeTry, SymbolicTaylorApproximationFunction

	* configure.in, help/C/gel-function-list.xml, help/C/genius.xml:
	  Document the above

	* src/geniustests.txt: add some tests

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594
Thu Jun 16 17:40:29 2005  George Lebl <jirka@5z.com>

	* configure.in: raise version number

	* src/complil.c: compile symbolic_id and id for function nodes and
	  symbolic_id for global functions.

	* src/lexer.l, src/calc.c, src/eval.[ch], src/parse.y: SYNTAX CHANGE:
	  there is now an elt by elt addition and subtraction (.+ and .-)
	  which act like the old +,- when adding scalar to a matrix.  The +,-
	  now interpret A+x as A+x*I if A is a square matrix, and elt by elt
	  if A is a vector (row or column), else they error out.

	* src/funclib.c: the PolyToFunction now does 1 instead of x^0, since
	  this now works correctly for matrices.

	* src/lexer.l, src/calc.c, src/parse.y: make evalstack into
	  gel_parsestack since the naming was totally off

	* src/dict.h: on decompilation errors don't assert crash, just give
	  null as the function body.

	* src/geniustests.txt: add some tests and fix some old ones with
	  respect to the above syntax change.

1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610
Wed Jun 15 09:09:20 2005  George Lebl <jirka@5z.com>

	* src/symbolic.c, src/calc.[ch], src/dict.c, src/eval.c,
	  src/structs.h:  Fixup symbolic derivation to work inside functions,
	  preserve a "symbolic id" for the symbolic derivation when setting
	  variables to functions.  Also add SymbolicDerivativeTry function
	  to try symbolic derivative quietly.

	* src/geniustests.txt: add tests

	* lib/calculus/differentiation.gel: Add Derivative function which
	  tries symbolic first and numerical as a backup

	* help/C/gelfunction-list.xml: add SymbolicDerivativeTry and
	  Derivative

1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628
Tue Jun 14 10:23:51 2005  George Lebl <jirka@5z.com>

	* src/symbolic.[ch], src/eval.[ch]: Add a primitive
	  SymbolicDerivative function.  Doesn't yet even get even all the
	  simple cases (such as functions with more then one argument) but
	  should be semi usable for simple things.  Of course there is no
	  simplification of expressions in genius so things can get wild a
	  bit.

	* src/graphing.c, src/funclib.c: adjustments because of the above

	* src/calc.c: remove an extra parenthesis in function printing
	  output.

	* src/geniustests.txt: add tests for SymbolicDerivative

	* help/C/gel-function-list.xml: Add SymbolicDerivative blurb

1629 1630 1631 1632
2005-04-01  Steve Murphy  <murf@e-tools.com>

        * configure.in: Added "rw" to ALL_LINGUAS.

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1633 1634 1635 1636 1637 1638
Thu Mar 24 10:17:35 2005  George Lebl <jirka@5z.com>

	* Release 0.7.3

	* help/C/gel-function-list.xml: fix xml errors

1639 1640 1641 1642 1643 1644
Thu Mar 24 10:14:38 2005  George Lebl <jirka@5z.com>

	* help/C/*.xml: update, add the graphing functions and add lots more
	  references to planetmath and mathworld also document wait and
	  NewtonsMethodPoly

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1645
	* configure.in: raise version
1646 1647 1648 1649 1650 1651 1652 1653

	* src/*.[ch]: update copyright notices

Thu Mar 24 08:31:36 2005  George Lebl <jirka@5z.com>

	* mpfr/*: Update to mpfr 2.1.1 to use a nice released version rather
	  then CVS

1654 1655 1656 1657 1658 1659 1660 1661
Wed Mar 23 10:56:37 2005  George Lebl <jirka@5z.com>

	* src/gnome-genius.[ch]: add blinking cursor selection

	* lib/functions/complex_numbers.gel: added and commented out a bad
	  implementation of zeta and gamma functions, must do this properly
	  at some point

1662 1663 1664 1665 1666
Mon Mar 21 15:42:06 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.c: some allocation fixes, the float formatting is
	  incredibly evil!

1667 1668 1669 1670 1671 1672 1673
Mon Mar 21 14:48:28 2005  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: set default precision to 128
	  bits, it's faster and most people don't need more.  Also save the
	  precision in config.  Further sanitize things from the command line
	  and the config, to avoid using bogus values.

1674 1675 1676 1677 1678 1679 1680
Mon Mar 21 11:18:57 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: move the whole gmp structures into the MpwRealNum
	  struct to avoid another pointer.  Further avoid initializing a new
	  number just to throw it away if possible and be smarter with
	  initialization types.  Fix some leaks and errors.

1681 1682 1683 1684 1685 1686 1687
Fri Mar 18 18:03:30 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.ch: fixup memory usage by whacking the duplicate
	  pointers in the real number structure.

	* src/eval.c: fix leaks on elt by elt matrix operations

1688 1689 1690 1691 1692
Fri Mar 18 11:48:14 2005  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: whack the unneeded type field from mpw_t to save
	  a byte per number and probably make alignment nicer and all that.

1693 1694 1695 1696 1697
Fri Mar 18 11:11:07 2005  George Lebl <jirka@5z.com>

	* src/graphing.c, src/funclib.[ch]: Allow drawing longer lines with
	  LinePlotDrawLine by passing in a matrix of points.

1698 1699 1700 1701 1702
Tue Feb 08 18:18:18 2005  George Lebl <jirka@5z.com>

	* src/graphing.c: deal with closing of the graph window when we're
	  in the middle of plotting without crashing

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1703 1704 1705 1706
Thu Jan 06 13:28:12 2005  George Lebl <jirka@5z.com>

	* lib/functions/elementary.gel: add NewtonsMethodPoly

1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722
Thu Jan 06 10:06:10 2005  George Lebl <jirka@5z.com>

	* src/graphing.c, src/funclib.[ch], src/Makefile.am,
	  src/funclibhelper.cP: make some functions/macros sharable by
	  either making them extern or putting them inside a includable
	  file

	* src/graphing.c: make LinePlotWindow parameter behave correctly with
	  respect to the new drawing routines and read color and thickness
	  style from the argument list of LinePlotDrawLine

	* src/funclib.c: add 'wait' function

	* src/gnome-genius.h, src/calc.h: move the interrupted extern
	  declaration

1723 1724 1725 1726 1727
Tue Jan 04 18:21:36 2005  George Lebl <jirka@5z.com>

	* src/graphing.c: add LinePlotClear and LinePlotDrawLine, but these
	  are subject to change of course

1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742
Tue Jan 04 10:57:18 2005  George Lebl <jirka@5z.com>

	* configure.in: use an existing mpfr function to check for the
	  library, DUH!

	* src/genius.c: include term.h AFTER everything since that happens to
	  redefine the word 'tab' for it's own very evil purposes on some
	  systems (some ncurses version or some such)

Thu Dec 23 11:03:27 2004  George Lebl <jirka@5z.com>

	* Release 0.7.2

	* help/*: Fix the makefiles

1743 1744 1745 1746
Thu Dec 23 10:45:11 2004  George Lebl <jirka@5z.com>

	* help/C/*.xml: some fixes and use := rather then = in places

1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762
Thu Dec 23 10:22:12 2004  George Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: optimize and shorten
	  LUDecomposition

	* src/calc.c: fix output for @(,n) and @(n,)

	* lib/equation_solving/diffeqs.gel: Add EulersMethod and RungeKutta
	  for simple single ode solving

	* help/C/*.xml: update

	* src/geniustests.txt: updated

	* src/gnome-genius.c: add "New" toolbar item

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1763 1764 1765 1766
Wed Dec 22 18:01:51 2004  George Lebl <jirka@5z.com>

	* src/funclib.c, help/C/*.xml: Fix then vs. than typos

1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782
Wed Dec 22 16:58:23 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: add y= before the entries to make it clear what to
	  type in.

	* src/eval.c: when we encounter a reference to a non-existant
	  variable make the variable in the current context.

	* src/eval.c: fix errors in expensive matrix multiply, now doesn't
	  crash!

	* lib/linear_algebra/linear_algebra.gel: Add LUDecomposition function
	  from David W. Hutchison <dahutchi@indiana.edu>

	* help/C/*.xml: update

1783 1784 1785 1786 1787
Wed Dec 22 14:47:00 2004  George Lebl <jirka@5z.com>

	* help/C/*.xml, help/C/genius.txt: make the text version and fix some
	  typos

1788 1789 1790 1791 1792
Wed Dec 22 14:42:01 2004  George Lebl <jirka@5z.com>

	* lib/number_theory/misc.gel:  Added MoebiusMu from Alessio
	  Frusciante <algol@firenze.linux.it>

1793 1794 1795 1796 1797 1798 1799
	* lib/number_theory/misc.gel:  Fixed parameters of IsNthPower to
	  be less confusing

	* lib/combinatorics/factorial.gel:  Nicer, less heavy argument testing

	* src/funclib.c: Added IsNonNegativeInteger and fix EulerConstant
	  helpstring
1800 1801 1802 1803 1804 1805 1806

	* src/geniustests.txt: added some tests

	* help/C/*.xml: updated for the above functions and a lot more.
	  Add a bunch of references to MathWorld (should add planetmath,
	  but that's currently down, will do later)

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1807 1808 1809 1810
Wed Dec 22 11:43:42 2004  George Lebl <jirka@5z.com>

	* mpfr/*: update to newest mpfr

1811 1812 1813 1814 1815 1816
Wed Dec 22 11:21:02 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/eval.[ch], src/calc.c: get similar ids if
	  function is not documented and check for the function being
	  documented in the gui help on function dialog.

1817 1818 1819 1820 1821
Wed Dec 22 11:03:34 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c, src/calc.[ch], src/funclib.c: some help fixes,
	  remove the old manual code and add a "Help on Function" menu entry.

1822 1823 1824 1825
Wed Dec 22 10:24:05 2004  George Lebl <jirka@5z.com>

	* help/C/*.xml: update the documentation a bit.

1826 1827 1828 1829 1830 1831 1832
Tue Dec 21 18:53:54 2004  George Lebl <jirka@5z.com>

	* help/C/gel-operator-list.xml: make the list of operators an
	  actual list

	* help/C/gel-separator.xml,genius.xml: reorganize a tiny bit

1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846
Tue Dec 21 18:13:52 2004  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, src/gnome-genius.c, help/*:
	  Docbookize the manual, patch and docbook by Kai Willadsen
	  <kaiw@itee.uq.edu.au>

	* src/funclib.c, src/calc.c: correct some help problems

	* src/gnome-genius.c: don't show the "manual" menu entry since we
	  now just show the help files directly.

	* src/calc.[ch], src/genius.c, src/gnome-genius.c, src/funclib.c:
	  Display the help functions and the manual

1847 1848 1849 1850
Fri Dec 17 09:58:48 2004  George Lebl <jirka@5z.com>

	* src/lexer.l: remove the warning killing hack since it doesn't work

1851 1852 1853 1854 1855
Thu Nov 11 10:01:31 2004  George Lebl <jirka@5z.com>

	* lib/statistics/basic.gel: Add GaussFunction (normal curve),
	  GaussDistribution (area under the normal curve)

1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868
Tue Nov 09 11:28:26 2004  George Lebl <jirka@5z.com>

	* src/calc.[ch], src/compil.c, src/eval.c, src/funclib.c, src/mpwrap.c,
	  src/mpzextra.c:  Fix issues with strtok reentrancy by using
	  strtok_r, should fix some issues with the library functions where
	  rationals were used.  Also the evalhook calling logic is changed a
	  tiny bit

	* src/funclib.c, lib/calculus/integration.gel: Make
	  CompositeSimpsonsRule built in for speed, fix issues
	  when n is odd (add 1 in that case) and add
	  CompositeSimpsonsRuleTolerance

Amanpreet Singh Alam's avatar
Amanpreet Singh Alam committed
1869 1870 1871 1872
Fri Nov 05 2004 Amanpreet Singh Alam <aalam@redhat.com>

	* ALL_LINUGUS: pa (Punjabi) Language is added

1873 1874 1875 1876 1877 1878 1879 1880 1881 1882
Wed Sep 22 11:05:07 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: fix mpw_uncomplex which could undercount the zero
	  allocation

	* lib/combinatorics/misc.gel: Fix Hofstadter and optimize it

	* lib/linear_algebra/linear_algebra.gel: Don't use Transpose but .'
	  operator that should be slightly faster

1883 1884 1885 1886 1887 1888 1889
Wed Sep 22 09:40:10 2004  George Lebl <jirka@5z.com>

	* src/compil.c, src/eval.[ch], src/funclib.c, src/parse.y,
	  src/parseutil.h, src/structs.h: Treat strings as constants (don't
	  copy) thus getting speedups up to 10% (very optimistic) if running
	  loops or things where strings are used.

1890 1891 1892 1893 1894 1895 1896
Thu Sep 16 18:22:28 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.c: fix round, ceil and trunc, plus round (0.5) should
	  really return 0 not 1

	* src/geniustest.pl, src/geniustests.txt: fixes plus some new tests

1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910
Thu Sep 16 17:54:27 2004  George Lebl <jirka@5z.com>

	* lib/functions/elementary.gel: optimize erf a bit and fix it's
	  comment

	* configure.in, Makefile.am, src/Makefile.am, mpfr/*:  Include a
	  recent CVS version of mpfr to avoid all the mess.  We can still
	  compile with an outside version if needed though.

	* src/funclib.c, src/genius.c, src/gnome-genius.c, src/mpwrap.[ch]:
	  remove all non-mpfr stuff since we always have mpfr now which
	  removes quite a bit of ugliness.  Plus remove some other
	  cruft as well.

1911 1912 1913 1914 1915 1916 1917 1918 1919 1920
Tue Sep 14 17:14:53 2004  George Lebl <jirka@5z.com>

	* src/funclib.c, lib/number_theory/misc.gel: make Divides built-in
	  which should make a number of things faster.  Also add
	  ExactDivision function using gmp's divexact which does exact
	  division much faster once we know that the two numbers actually
	  divide one another (it returns garbage otherwise).

	* src/geniustests.txt: add some tests

1921 1922 1923 1924 1925 1926 1927
Tue Sep 14 16:31:51 2004  George Lebl <jirka@5z.com>

	* lib/number_theory/misc.gel: Use ApplyOverMatrix(2) on a few
	  functions, and add BernoulliNumber

	* src/geniustests.txt: Add test for BernoulliNumber

1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949
Tue Sep 14 09:57:15 2004  George Lebl <jirka@5z.com>

	* configure.in: some cleanup, and set the extra optimization flags
	  directly rather then use -O3 since then -O2 would just reset thing,
	  so we again optimize nicely.

	* src/calc.[ch], src/funclib.c, src/genius.c, src/graphing.c:
	  Implement translation of help texts coming from the standard
	  library.  Still error texts are not translated, will need to
	  figure that out.  User generated help strings are gotten with
	  "genius --gettext" similarly to the "--compile" option.

	* Makefile.am, lib/Makefile.am, po/POTFILES.in: create and use
	  lib/library-strings.c

	* lib/equation_solving/find_root.gel: Move FIXME's from help text
	  to comment

	* src/genius.c: add --version option

	* gtkextra/gdmpsfont.c: fix memleak

1950 1951 1952 1953
Thu Aug 26 09:26:43 2004  Takeshi AIHANA <aihana@gnome.gr.jp>

	* configure.in: Added 'ja' (Japanese) to ALL_LINGUAS.

1954 1955 1956 1957 1958
Fri Aug 20 10:57:58 2004  George Lebl <jirka@5z.com>

	* genius.spec.in, pixmaps/48x48/Makefile.am: install 48x48 icon in
	  the proper place

1959 1960 1961 1962 1963
Fri Aug 20 10:35:25 2004  George Lebl <jirka@5z.com>

	* configure.in, Makefile.am, src/gnome-genius.desktop.in,
	  pixmaps/*: Added an icon Eugenia Loli-Queru (eloli@hotmail.com)

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
1964 1965 1966 1967
Thu Aug 19 16:38:14 2004  George Lebl <jirka@5z.com>

	* Release 0.7.1

1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001
Thu Aug 19 16:15:32 2004  George Lebl <jirka@5z.com>

	* lib/calculus/differentiation.gel, lib/calculus/limits.gel:
	  Optimize and clean up the limitting/differentiating functions
	  a bit, and add NumericalLeftDerivative and NumericalRightDerivative

	* lib/misc/misc.gel, src/funclib.c, src/eval.[ch]: Make Identity
	  built-in for speed.  Also allow for stealing out of the parameter
	  list and use this technique in some places to further increased
	  speed (though this is a very small gain as numbers/matrices are
	  already copy-on-write, so we just avoid copying some structures)

	* src/mpwrap.c: fix mpw_uncomplex and allow setting without resorting
	  to mpw_uncomplex

	* lib/equation_solving/find_root.gel,
	  lib/linear_algebra/linear_algebra.gel,
	  lib/number_theory/primes.gel, lib/calculus/integration.gel,
	  lib/calculus/integration.gel, lib/combinatorics/factorial.gel,
	  lib/combinatorics/recursive_sequences.gel,
	  lib/equation_solving/find_root.gel,
	  lib/functions/complex_numbers.gel, lib/functions/delta.gel,
	  lib/linear_algebra/bilinear_forms.gel,
	  lib/linear_algebra/linear_algebra.gel, lib/linear_algebra/misc.gel,
	  lib/number_theory/modulus.gel, lib/number_theory/primes.gel,
	  lib/sets/basic.gel: tiny bit of optimizations and gel style cleanup 

	* lib/calculus/sums_products.gel: Fix InfiniteProduct2, change
	  behaviour of InfiniteSum/Product(2) no longer takes tolerance
	  argument but has similar parameters like the limiting operations
	  with SumProductTolerance, SumProductSFS, SumProductNumberOfTries

	* src/geniustests.txt: add more tests

2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019
Thu Aug 19 12:02:28 2004  George Lebl <jirka@5z.com>

	* src/eval.c: be even nicer in mem debug friendly mode and some
	  cleanup

	* src/mpwrap.c: a bit of cleanup

	* lib/calculus/differentiation.gel, lib/calculus/limits.gel,
	  lib/combinatorics/recursive_sequences.gel:  Fixup limit/derivative
	  functions.  Use better name NumericalDerivative instead of
	  NDerivative (but keep that as an alias) and add help strings to
	  everything (yay 100% of library functions have the simple help
	  strings now)

	* src/geniustests.txt: add tests for the
	  NDerivative/IsContinuous/IsDifferentiable functions.  Also update
	  tests for the change in parenthesis printing

2020 2021 2022 2023 2024
Fri Aug 13 10:13:46 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: fix crash of LinePlot() when no arguments are
	  passed by requiring at least one argument (same for SurfacePlot)

2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035
Thu Aug 12 18:15:20 2004  George Lebl <jirka@5z.com>

	* genius.spec.in: applied patch from Florin Andrei <florin@andrei.myip.org>
	  to export custom compiler flags to the build and to require vte-devel for the build

	* configure.in: add -O3 in front of CFLAGS not after to allow custom
	  CFLAGS to override this

	* gtkextra/gtkplot3d.h: fix prototype, thanks to Erik Sigra
          <sigra@home.se> for noticing

2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058
Thu Aug 12 10:48:59 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: run EPS output through ps2epsi if found which adds
	  a bitmap preview.  The preview kind of sucks but it's better then
	  nothing.  Fix EPS/PS export for gtk older then 2.4.  Add PNG
	  export.

	* src/graphing.c, src/calc.c: remove some parenthesis from output
	  where it doesn't make sense (still some places are overzelaous).
	  Also when graphing from a dialog take the entered string as the
	  function string to display in the plot.  Makes things even nicer.

	* src/gnome-genius.c: change the "translator_credits-..." to
	  "translator-credits" which is apparently more translation
	  software friendly as it doesn't contain underscores.  Plus a hack
	  to get the old translation to not lose credits

Tue Aug 10 17:30:32 2004  George Lebl <jirka@5z.com>

	* Release 0.7.0

	* genius.spec.in: fixed up for the update-mime-database stuff

2059 2060 2061 2062 2063 2064
Fri Aug 06 17:41:47 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: change some labels to make more sense.  On top view
	  hide z axis temporarily.  Swap X and Y and rotate a bit to get that
	  mirror effect fixed.

2065 2066 2067 2068 2069 2070 2071 2072
Fri Aug 06 11:59:39 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: simple rotations of the 3d plot and add labels to
	  axis.  It still bugs me that the X axis is reversed from what
	  I would normally want (right to left rather then left to right,
	  it's a mirror image so it's impossible to fix just by rotation),
	  oh well.

2073 2074 2075 2076
Thu Aug 05 15:39:17 2004  George Lebl <jirka@5z.com>

	* gtkextra/gtkplot.c: replace sprintf with g_snprintf

2077 2078 2079 2080 2081 2082
Thu Aug 05 02:14:15 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: when plotting surfaces, the expression may return
	  something which has different number of arguments, so allow
	  rerunning the function if this happens

2083 2084 2085 2086 2087
Thu Aug 05 01:28:43 2004  George Lebl <jirka@5z.com>

	* gtkextra/Makefile.am: fix building by adding all the needed
	  include dirs

2088 2089 2090 2091 2092 2093
Thu Aug 05 01:21:03 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: wrap both long description labels on the create
	  plot dialog and align them left.  Add mnemonics to the notebook
	  tabs

2094 2095 2096 2097
Thu Aug 05 00:52:15 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.c: sin, cos, sinh, cosh were wrong for complex arguments

2098 2099 2100 2101
Wed Aug 04 23:07:46 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: make window titles saner

2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113
Wed Aug 04 22:33:46 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.[ch], src/graphing.c: some cleanup on the line
	  plotting stuff, don't draw outside the box, etc...

	* src/graphing.c, src/mpwrap.[ch]: Add surface plotting, only one
	  function at a time and can take one or two arguments (complex
	  number or x and y).  Added both a dialog entry method and a
	  SurfacePlot function

	* configure.in: now it merits to raise version to 0.7.0

2114 2115 2116 2117 2118
Wed Aug 04 17:27:08 2004  George Lebl <jirka@5z.com>

	* gui/gnome-genius.[ch], gui/graphing.c: implement the printing
	  and ps/eps export at least in a rudimentary way.

2119 2120 2121
	* gui/gnome-genius.[ch]: fix the "file exists" dialogs, they were
	  reversed on save, and on load the "can't open" dialog was wrong.

2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133
Wed Aug 04 17:27:06 2004  George Lebl <jirka@5z.com>

	* gtkextra/*, configure.in: import some files from gtkextra-2 for the
	  GtkPlot* and friends

	* src/gnome-genius.[ch], src/graphing.c: whack the old graphing
	  nonsense and use gtkextra gtkplot.  Right now it has no added
	  functionality over the old plotting, but it looks different.
	  However we will have PS/EPS export and printing pretty easily
	  now and further we can now easily also add parametric and surface
	  plots and flows and such.

2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148
Thu Jul 29 09:55:10 2004  George Lebl <jirka@5z.com>

	* src/eval.[ch]: Allocate all memory for GelETree's, and the
	  various loop structures in long continuous spaces with the
	  structures aligned properly.  This seems to have little
	  impact on speed but it has some impact on memory usage, about
	  20% in a test that uses deep recursion.  As a side effect the
	  free lists are no longer purged.  Also fix the MEM_DEBUG_FRIENDLY
	  mode to actually free memory unless the MEM_DEBUG_SUPER_FRIENDLY
	  is on.

	* configure.in: automatically turn on -O3 for gcc, this seems
	  to make a very minor dent in performance.  -fomit-frame-pointer
	  does better, but we really don't want no debugging on this code.

2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168
Wed Jul 28 18:26:49 2004  George Lebl <jirka@5z.com>

	* src/Makefile.am: add longtest.gel to EXTRA_DIST

	* src/calc.[ch]: change the way that gel_runexp behaves
	  to avoid extra copying of whole expressions all the time.
	  it now eats the expression and thus is consistent with
	  the other calls such as gel_evalexp_parsed.

	* src/parseutils.c, src/eval.[ch]: plug a small leak
	  on boolean conversion

	* src/eval.[ch]: Add whole bunch of debugging functionality
	  especially for debugging memory.  Keep list of new trees
	  in between expressions to test for memory leaks when
	  EVAL_DEBUG is defined and we are MEM_DEBUG_FRIENDLY

	* src/eval.c: fix leak in the if operation when the main
	  tree was WHACKARGed and we'd forget that

2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192
Wed Jul 28 16:09:23 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.desktop.in: Move Name/Comment to the end to allow
	  quicker (perhaps) parsing, add Mime-Type key.

	* lib/statistics/basic.gel: fix StandardDeviation

	* eval.c: fix nargs problem when making binary operation functions

	* calc.c, eval.[ch], genius.c, gnome-genius.c, parse.y, parseutil.[ch],
	  structs.h:  Fix pushing multiple operator arguments onto the stack
	  in the correct order.  Compact all the separator operations into
	  one with many arguments during parsing, this saves copying.  Add a
	  GE_WHACKARG flag to the stack flags and whack the node after use,
	  this saves some memory which got wasted by keeping things in memory
	  because of the separator compactification.  Also make the memory
	  operations much nicer when MEM_DEBUG_FRIENDLY is defined.

	* src/mpwrap.c: work around a mpfr problem where random values from
	  mpf_urandomb can be negative sometimes.  Also cache the random
	  state to avoid reiniting/reseeding it all the time.

	* src/geniustests.txt, src/longtest.gel: add a long test file

2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215
Thu Jul 15 16:44:40 2004  George Lebl <jirka@5z.com>

	* src/calc.c, src/compil.c, src/dict.c, src/eval.[ch], src/funclib.c,
	  src/graphing.c, src/matop.[ch], src/matrixw.[ch], src/mpwrap.[ch],
	  src/parse.y, src/parseutil.[ch], src/plugin.c, src/structs.h,
	  src/util.[ch]:  Add native boolean types.  Make all boolean
	  expressions return these, add the true and false functions and
	  aliases, add IntegerFromBoolean and IsBoolean functions

	* lib/functions/delta.gel, lib/linear_algebra/linear_algebra.gel,
	  lib/misc/misc.gel, lib/number_theory/misc.gel,
	  lib/number_theory/modulus.gel, lib/number_theory/primes.gel:
	  Update for the boolean types, use where appropriate whack the
	  old true/false functions.

	* src/geniustests.txt: update tests to expect booleans where
	  appropriate

	* doc/manual.txt: updates for the booleans and some other cleanups
	  and updates

	* configure.in: raise version since the compiled format changed.

George Lebl's avatar
fix  
George Lebl committed
2216 2217 2218 2219 2220 2221
Mon Jun 14 10:27:59 2004  George Lebl <jirka@5z.com>

	* Release 0.6.1

	* genius.spec.in: fix

2222 2223 2224 2225 2226 2227
Mon Jun 14 10:20:26 2004  George Lebl <jirka@5z.com>

	* src/calc.c: do the nice fraction printing for mixed fractions

	* src/mpwrap.c: minor cleanup

2228 2229 2230 2231 2232 2233 2234 2235 2236
Fri Jun 11 18:06:54 2004  George Lebl <jirka@5z.com>

	* src/dict.[ch], src/eval.c: add suggestion logic on undefined
	  identifiers, a little screwy code, but somewhat works.

	* src/calc.c: when we don't do mixed fractions try to be nice about
	  printing larger fractions.  Kind of on crack, we should do it
	  in more cases.

2237 2238 2239 2240 2241 2242 2243 2244 2245
Fri May 28 10:02:19 2004  George Lebl <jirka@5z.com>

	* src/gnome-genius.c: The default font size for the console
	  is now deduced from the window for size.  Also unless the
	  font is actually set, the change is not written to preferences.
	  The console is set to UTF-8 always since we always feed it utf-8
	  strings which fixes non-utf-8 locales.  Plus a small amount of
	  cleanup.

2246 2247 2248 2249
Thu May 27 16:11:07 2004  George Lebl <jirka@5z.com>

	* genius.xml, Makefile.am: add genius to the shared mime info db

2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260
Thu May 27 15:39:48 2004  George Lebl <jirka@5z.com>

	* src/genius-readline-helper.c, src/gnome-genius.[ch]:  Add
	  Black on white mode for those that don't see white on black too
	  well.  Start using vfs, but we still don't use it for "loading",
	  nor do we setup the filechooser or whatnot, must figure out how to
	  do that.  Accept file drops on the window and open those files.

	* Makefile.am, genius.keys, genius.mime: temporary placeholders, need
	  to add this to the shared mime info stuff or whatnot.

2261 2262 2263 2264
Wed Apr 21 21:18:00 2004  Evandro Fernandes Giovanini  <evandrofg@ig.com.br>

	* configure.in(ALL_LINGUAS): Added "pt_BR" (Brazilian Portuguese).

2265 2266 2267 2268
Thu Apr 15 20:43:00 2004  Adam Weinberger <adamw@gnome.org>

	* configure.in: Added en_CA to ALL_LINGUAS.

2269 2270 2271 2272 2273 2274 2275 2276 2277 2278
Thu Apr 15 14:19:40 2004  George Lebl <jirka@5z.com>

	* lib/combinatorics/factorial.gel, lib/combinatorics/misc.gel,
	  lib/linear_algebra/linear_algebra.gel,
	  lib/number_theory/factoring.gel, lib/number_theory/modulus.gel,
	  lib/number_theory/primes.gel,
	  src/calc.c, src/eval.c, src/funclib.c, src/gnome-genius.c,
	  src/matrixw.c, src/mpzextra.c: fix some typos in strings.  Mostly
	  s/then/than/.

2279 2280 2281 2282
Tue Apr 13 11:17:34 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: move the plot dialog buttons to be in HIGgy order

2283 2284 2285 2286 2287 2288 2289 2290 2291
Fri Apr 09 18:34:58 2004  George Lebl <jirka@5z.com>

	* INSTALL.MacOSX: Mac OS X install instructions from Linc Davis
	  <ld-temp-spe8@pobox.com>

	* configure.in: Changed help for --enable-gnome and
	  --enable-gtksourceview (changed to --disable-* since they're
	  on by default)

2292 2293 2294 2295 2296 2297
Tue Apr 06 15:41:18 2004  George Lebl <jirka@5z.com>

	* src/util.[ch], src/mpwrap.c: whack the custom mem-allocation cruft
	  and let gmp use its own allocation.  Doesn't seem to improve speed
	  by much at all, but reduces cruft.

2298 2299 2300 2301 2302
Sun Apr 04 22:30:12 2004  George Lebl <jirka@5z.com>

	* src/geniustests.txt: added some tests that went wrong at some
	  point long time ago

2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313
Sun Apr 04 17:39:55 2004  George Lebl <jirka@5z.com>

	* lib/functions/complex_numbers.gel: add cis function.  Also fix
	  the MoebiusMapping* definitions

	* lib/functions/Makefile.am: forgot to include complex_numbers.gel
	  in the library DOH! this actually adds all those functions promised
	  in 0.6.0.  Affects: Argument, arg, Arg, MoebiusDiskMapping,
	  MoebiusMapping, MoebiusMappingInftyToOne, MoebiusMappingInftyToZero,
	  MoebiusMappingInftyToInfty.

2314 2315 2316 2317 2318
Sun Apr 04 17:27:33 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: when parsing errors occur print them before saying
	  we couldn't parse anything.

2319 2320 2321 2322 2323
Sun Apr 04 17:19:08 2004  George Lebl <jirka@5z.com>

	* src/eval.c: when 'i' is used uninitialized then suggest using '1i'
	  instead

2324 2325 2326 2327 2328 2329 2330
Sun Apr 04 16:35:38 2004  George Lebl <jirka@5z.com>

	* src/genius.c, src/gnome-genius.c: Make the console version be
	  translated though there are still utf-8 issues.  Also the welcome
	  string is now slightly different since gettext seemed to have a fit
	  with the escapes and all that.

2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341
Sun Apr 04 15:52:00 2004  George Lebl <jirka@5z.com>

	* src/calc.[ch], eval.c, src/funclib.c, src/graphing.c, src/matop.c,
	  src/mpwrap.[ch], src/plugin.c:  Cleanup and update the copyright
	  strings, add "gel_" to the print_etree functions.

	* src/eval.c: fix "number <=> string" which was returning completely
	  wrong answers

	* src/geniustests.txt: add tests for comparison

2342 2343 2344 2345
2004-04-03  Gareth Owen  <gowen72@yahoo.com>

	* configure.in: Added en_GB to ALL_LINGUAS

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
2346 2347 2348 2349 2350 2351 2352
Tue Mar 30 15:08:05 2004  George Lebl <jirka@5z.com>

	* Release 0.6.0

	* src/mpwrap.c: define G_MAXINT32 if not defined to allow compilation
	  with older glib

2353 2354 2355
Tue Mar 30 14:56:27 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.c: further optimization of the mp* free lists gets some
Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
2356 2357
	  improvement mainly for floats.  Plus fix the mpf free list when
	  changing precision.
2358

2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371
Tue Mar 30 11:36:13 2004  George Lebl <jirka@5z.com>

	* src/mpwrap.[ch]: remove the NATIVEINT type and use mpz which is
	  slightly slower, however cache inited mpz/mpq/mpf(r) types which 
	  makes the code actually run a LOT faster then with NATIVEINT, at
	  least for the testcases I considered.  This also reduces code
	  complexity by quite a bit (removed 600+ loc) and furthermore
	  optimizes both mpq/mpf performance too.  Also some minor cleanup
	  and leak fixes.

	* src/geniustests.txt: add some more random tests that popped up
	  during testing of the above

2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383
Tue Mar 30 09:52:39 2004  George Lebl <jirka@5z.com>

	* lib/functions/Makefile.am, lib/functions/kernels.gel:
	  Add PoissonKernel, DirichletKernel and FejerKernel

	* lib/functions/complex_numbers.gel: Add MoebiusDiskMapping,
	  MoebiusMapping, MoebiusMappingInftyToOne, MoebiusMappingInftyToZero
	  and MoebiusMappingInftyToInfty

	* src/calc.c, src/genius.c: fix compilation of parameters, avoid
	  compilation of built in parameters plus minor cleanup

2384 2385 2386 2387
2003-03-28  Kostas Papadimas  <pkst@gnome.org>

	* configure.in (ALL_LINGUAS): Added "el" (Greek).

2388 2389 2390 2391 2392 2393 2394 2395 2396 2397
Thu Mar 25 16:52:47 2004  George Lebl <jirka@5z.com>

	* configure.in, src/Makefile.am:  Allow compilation without GNOME

	* src/util.h: fixup headers 

	* doc/manual.txt: minor fixes/additions

	* README, NEWS: update

2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409
Thu Mar 25 10:05:57 2004  George Lebl <jirka@5z.com>

	* configure.in, src/*.[ch]: don't link the 'genius' binary with
	  any gui libs, still the configure/build process requires gnome
	  always, but I'm working on that.   Fix up the includes and
	  add a genius-i18n.h header

	* src/graphing.c, src/mpwrap.c, src/funclib.c: use the G_MAX/MIN
	  macros instead of limits.h for I suppose better portability

	* src/genius.c: use g_print* variants instead of printf and fprintf

2410 2411 2412 2413
Wed Mar 24 17:10:55 2004  George Lebl <jirka@5z.com>

	* src/calc.c: fix printing of functions

2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433
Wed Mar 24 16:39:18 2004  George Lebl <jirka@5z.com>

	* src/eval.[ch], src/calc.c: Add basic arithmethic operations on
	  functions, for example sin^2 will make a new function that
	  does sin(x)^2, so you can do say "LinePlot(sin^2)", or
	  more uselessly "sin^2 call (x)" 

	* src/geniustests.txt: update the tests a bit

	* src/funclib.c, src/eval.[ch]: Add "function return" to some 
	  1 value functions such as exp, so that e.g. exp(sin) returns
	  a function that does exp(sin(x)).  Currently supported are:
	  conj, sin, cos, sinh, cosh, tan, atan, sqrt, exp, ln, log2, log10,
	  round, floor, ceil, trunc, float, Numerator, Denominator, Re and
	  Im.

	* src/graphing.c: Fix LinePlot function (we messed up the replot
	  data), also if the function returns functions, then evaluate those
	  instead (don't recurse further though)

2434 2435 2436 2437 2438 2439 2440
Wed Mar 24 11:04:26 2004  George Lebl <jirka@5z.com>

	* doc/manual.txt, lib/linear_algebra/*.gel: fixup some documentation

	* lib/**/Makefile.am: fix installation of loader.gel into the
	  correct directory (not into /bin/ whoops :)

2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452
Tue Mar 23 15:21:12 2004  George Lebl <jirka@5z.com>

	* src/lexer.l, src/parse.y, src/eval.[ch], src/calc.c:  Add
	  := (E_DEFEQUALS) operator which is never translated to ==.
	  Also use E_DEFEQUALS on function definitions always so that
	  they don't get translated (that would just be plain
	  confusing).

	* src/geniustests.txt: add tests for :=

	* doc/manual.txt: update for the := operator

2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465
Tue Mar 23 14:35:09 2004  George Lebl <jirka@5z.com>

	* src/Makefile.am, src/gnome-genius.[ch], src/calc.c, src/eval.c:
	  Cleanup, print version in title, make titles more sane + 
	  some string changes, a bit of renaming, add gnome-genius.h header
	  to export the current setup and update some copyright notices

	* src/graphing.c: fixup wrt the header, add status icons next to
	  the entries, make enter do the plot, add "Fit Y axis" function
	  to the plot window, errors that occur when we invoke the engine
	  from the graph window now always go to dialogs, And fix graphing
	  the identity (that is, just "x")

2466 2467 2468 2469 2470 2471 2472