ChangeLog 208 KB
Newer Older
1 2 3 4 5
Sat Oct 09 12:23:07 2010  Jiri (George) Lebl <jirka@5z.com>

	* Makefile.am: apply patch from Dominique Leuenberger
	  (dominique at leuenberger dot net) to fix build on Make 3.82

6 7 8 9 10 11 12 13 14
Thu Oct 07 12:38:44 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/lexer.l: note that [^?] is may include newlines,
	  must explicitly exclude them

	* src/gnome-genius.c:  Add a trailing newline to programs unless
	  given.  Fixes parse errors at end of file if ends on a comment
	  or a lexer rule which expects endofline

15 16 17 18 19 20 21 22 23 24
Thu Sep 30 15:28:50 2010  Jiri (George) Lebl <jirka@5z.com>

	* lib/linear_algebra/linear_algebra.gel: Fix CrossProduct and
	  make it return a column vector.

	* src/geniustests.txt: add a test

	* help/C/gel-function-list.xml: note that the result is a column
	  vector

25 26 27 28 29 30 31 32
Thu Sep 09 22:47:54 2010  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.11

	* src/gnome-genius.desktop.in: add %U to command line

	* help/C/genius.xml: some minor updates and clarifications

33 34 35 36 37 38 39 40 41
Thu Sep 09 21:29:33 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/genius.c, src/calc.h, src/gnome-genius.c:  In a fit of
	  incredible evilness (or stupidity) somebody made <term.h>
	  #define buttons ... thinking buttons is an uncommon word.
	  Yaikes.  Wonder why it doesn't break on Fedora but it did break on
	  SuSE.  Anyway, thanks go to Stephan Hegel for hunting this one
	  down!

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
42 43 44 45
Wed Sep 08 00:48:15 2010  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.10

46 47 48 49 50 51 52 53 54 55 56 57
Wed Sep 08 00:47:50 2010  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: require Gtk+ 2.14 and VTE 0.17.1

	* src/gnome-genius.c, src/graphing.c, ve/ve-miscui.c: fix some
	  sealing things.  Do note that we do not yet compile even without
	  deprecated stuff since gtkextra is full of it.  Also use some newer
	  things that required gtk+ 2.14 and vte 0.17.1

	* src/graphing.c: fix zooming in 2D plots when moving mouse
	  in any direction.

58 59 60 61 62
Mon Aug 30 22:33:08 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.h, ssrc/funclib.c, src/genius.c, src/gnome-genius.c:
	  update copyright string and make it translatable

63 64 65 66 67 68 69 70 71
Mon Aug 30 15:31:37 2010  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml:
	  Hand apply some changes from Christian Kirbach
	  (christian.kirbach at googlemail dot com) to fix typos

	* lib/*/*.gel, src/funclib.c:  Fix some typos.  Fix spelling of the
	  function name AuxiliaryUnitMatrix!

72 73 74 75 76 77 78 79
Mon Aug 30 14:43:41 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c, configure.in: Apply patch from
	  Jan de Groot jan at jgc.homeip.net to port the GnomeVFS stuff
	  to GIO.  This raises the glib requirement to 2.16 for the gnome
	  version.  When built without gnome then 2.12 is all that is needed
	  still.

80 81 82 83 84 85 86
Mon Aug 30 13:41:49 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: ExpandMatrix,SetMatrixSize,ColumnsOf,RowsOf,
	  IsMatrix* accept null as the input (0x0) matrix and act accordingly

	* src/geniustests.txt: Add tests

87 88 89 90 91 92 93 94 95 96
Mon Aug 30 13:28:23 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add "legend" style parameter to LinePlotDrawLine

	* lib/equation_solving/diffeqs.gel: Add RungeKuttaFull and
	  EulersMethodFull which return all points computed (and slightly
	  optimize Runge-Kutta)
	
	* src/geniustests.txt, help/C/*.xml: update

97 98 99 100 101
Mon Aug 30 10:23:49 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Patch from Vincent Untz to fix access to sealed
	  vte structure members

102 103 104 105 106 107
Tue Jun 29 11:38:38 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Add SurfacePlotVariableNames and some fixes

	* help/C/*.xml: document above and some fixes

108 109 110 111 112
Tue Jun 29 11:11:04 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: allow changing variable names for surfaces when
	  plotting from a dialog

113 114 115 116 117 118 119
Sat Feb 27 16:57:50 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: check events every time we get something from
	  readline.  That way, the new line from "return" is truly
	  synchroneous.  (it was in the wrong place for commands, even though
	  for expression this already got fixed)

120 121 122 123 124 125 126 127 128 129 130
Wed Feb 03 00:10:42 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: when drawing slopefield solutions, allow the graph
	  to leave window by a small fudge factor of 1/100 of the window size

	* gtkextra/gtkplot.c, gtkextra/gtkplot3d.c: add some sanity fixes to
	  fix crashes on tick calculations when the supplied data is less
	  than sane.  The tick calculation stuff is very evil and there are
	  still some crashes around when doing insensible things with 
	  graphs.

131 132 133 134
Tue Feb 02 21:42:42 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: fix compilation when gtksourceview is disabled

135 136 137 138 139 140 141
Tue Feb 02 13:30:44 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: Allow changing variable names.  Either in the GUI
	  or using the new parameter LinePlotVariableNames.

	* help/C/gel-function-list.xml: document the new parameter

142 143 144 145 146
Tue Feb 02 10:32:53 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, help/C/gel-function-list.xml: Add SlopefieldTicks
	  and VectorfieldTicks, to allow setting ticks from the command line.

147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
Wed Jan 27 00:52:13 2010  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.h, src/genius.c, src/gnome-genius.c, src/funclib.c:
	  Implement AskButtons interactive function which asks the user to
	  select from a list of buttons.

	* src/eval.c: allow comparisons (only == and !=) with null.  We
	  really want to treat null as an empty matrix.  null is only
	  equal to null itself of course.

	* src/geniustests.txt: add tests for null comparisons

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

162 163 164 165
Wed Dec 23 15:41:42 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.9

166 167 168 169 170 171
Wed Dec 23 15:18:56 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix minor leak

	* src/eval.c: fix MEM_DEBUG_FRIENDLY compilation

172 173 174 175
Wed Dec 23 14:09:21 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c, src/util.c: fix use of strcpy

176 177 178 179 180 181 182 183 184
Thu Dec 10 17:00:49 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c: fix matrix expansion.  After zeros were replaced
	  the expression [0,I(2);0,0] would not include the last row.  This
	  fixes AuxilliaryUnitMatrix and JordanBlock functions.

	* src/geniustests.txt: add some tests for matrix expansion and the
	  above functions

185 186 187 188
Tue Nov 10 00:30:53 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.8

189 190 191 192 193 194 195 196
Tue Nov 10 00:19:56 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: require gtk/glib 2.12

	* src/gnome-genius.c: use the "new" GtkTooltip api

	* src/eval.c: remove unused function

197 198 199 200 201 202 203 204 205
Mon Oct 19 15:59:28 2009  Jiri (George) Lebl <jirka@5z.com>

	Patches from: Yaakov (Cygwin/X) yselkowitz at users dot sourceforge
        dot net

	* configure.in: add EXEEXT to fix building on cygwin

	* ve/Makefile.am: Fix parallel builds

206 207 208 209 210 211
Sun Oct 18 20:05:43 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: check events before executing a command line.
	  VTE behaviour changed and we need to make sure the user carriage
	  return gets sent to screen before the execution.

212 213 214 215
Thu Sep 24 15:48:25 2009  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: some doc updates

216 217 218 219 220 221 222
Wed Jul 29 15:11:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.7

	* src/gnome-genius.c: set all toolbar items to important so
	  that text always shows.

223 224 225 226 227 228 229 230 231 232
Tue Jul 28 14:04:33 2009  Jiri (George) Lebl <jirka@5z.com>

	* NEWS: update,

	* help/C/gel-function-list.xml: add more docs on the root finding
	  functions.  There aren't very nice, but ...

	* lib/equation_solving/find_root.gel: use true/false for booleans
	  rather than 0/1

233 234 235 236 237 238 239 240 241
Mon Jul 27 15:22:57 2009  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml, help/C/gel-function-list.xml: Update
	  documentation for all the new features and improve existing
	  parts a bit especially by adding a bunch of links for some
	  functions.

	* NEWS: update

242 243 244 245 246 247 248 249 250 251 252 253
Fri Jul 24 17:23:04 2009  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/fourier.gel: fix cosine series and fix argument
	  checking on the fourier function creation

	* src/geniustests.txt, src/testfourier.gel: add tests for the
	  fourier functions

	* src/graphing.c: the create plot and plot dialogs are stupid as
	  dialogs because of the way metacity handles dialogs (annoyingly
	  as "keep above parent") so set the hint to normal.

254 255 256
Fri Jul 24 16:32:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* lib/calculus/fourier.gel: add NumericalFourierCosineSeriesFunction
257
	  and NumericalFourierSineSeriesFunction and fixup some doc strings
258 259 260 261 262 263

	* src/eval.c, src/dict.c: build the subst_dict on first function
	  evaluate.  This avoids subst lists for simple functions, plus
	  it makes the global identifier no-substitution behaviour slightly
	  more easy to see.

264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290
Fri Jul 24 16:01:28 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c, src/compil.c: Correctly compile/decompile all the new
	  function attributes

	* src/calc.c: correctly print out the local stuff, handle local node
	  correctly when outside of functions

	* src/funclib.c, src/graphing.c: handle eof errors from parsing
	  things correctly without dying.

	* src/dict.c, src/eval.c, src/structs.h: is_local generally should
	  not be moved around with the function.  Also correctly copy/free
	  all the other attributes when needed as well.

	* src/eval.c: Set arguments BEFORE extradict.  This should never
	  be an issue, but it feels more correct.

	* src/dict.c: when the subst list becomes empty, remove from subst
	  list to avoid unnecessary lookups

	* lib/*/*.gel: update and fix for the [] operator

	* src/geniustests.txt: Add some testcases

	* src/symbolic.c: just a comment change

291 292 293 294 295 296 297 298 299 300 301 302 303 304
Thu Jul 23 18:35:28 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/parse.y, src/eval.c, src/dict.c, src/structs.h: Add an optional
	  list of extra_dict parameters to function definition.  In this
	  case the subst dance never happens and those variables are added to
	  extra dict at function definition time.

	* lib/*/*.gel: Use local where appropriate and the [] extra dict
	  definition where appropriate

	* src/testscope.gel, src/geniustests.txt: update test suite

	* src/geniustest.pl: fix colors

305 306 307 308 309 310 311 312 313 314 315
Thu Jul 23 16:28:59 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/dict.c, src/eval.c: remove some forgotten debug prints

	* src/eval.c: do not allow setting a new parameter over a protected
	  id

	* src/funclib.c: Add UserVariables function

	* src/geniustests.txt, src/testscope.gel: add new tests

316 317 318 319 320 321 322 323 324 325 326 327
Thu Jul 23 12:26:47 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/funclib.c: Add UndefineAll, ProtectAll, make Undefine an alias
	  for undefine.

	* src/dict.[ch], src/eval.c: allow setting of protected parameters,
	  they just can't be deleted or changed

	* lib/*.gel: Use the ProtectAll function

	* src/testscope.gel: add extra tests

328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347
Wed Jul 22 14:44:10 2009  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: raise version, require slightly newer glib (2.10)

	* src/compil.c, src/dict.[ch], src/eval.[ch], src/lexer.l,
	  src/parse.y, src/parseutil.[ch], src/structs.h:  Add local
	  variables (not seen by higher contexts).  Also fix several minor
	  issues relating to dictionaries and lookup, mainly subst list
	  function is not substituted again if it is passed up and down the
	  contexts, and substitution is done in a smarter way.

	* src/dict.[ch], src/gnome-genius.c: Redo the way contexts are done
	  to get rid of some gslists

	* src/mpwrap.[ch]: allocate new real nums in a smarter way (by large
	  blocks) and put no limit on the number of real number structures
	  on the free list.

	* src/geniustests.txt, src/testscope.gel:  Add scope tests

348 349 350 351 352 353
Wed Jul 22 00:30:36 2009  Jiri (George) Lebl <jirka@5z.com>

	* lib/number_theory/primes.gel: update for newest info from
	  GIMPS.  Also fix MersennePrimeExponents (it had 3 columns by
	  mistake)

354 355 356 357 358 359 360 361 362
Fri Jul 10 14:53:41 2009  Jiri (George) Lebl <jirka@5z.com>

	* help/C/figures/genius_window.png, help/C/figures/line_plot.png,
	  help/C/figures/line_plot_graph.png, help/C/figures/parametric.png,
	  help/C/figures/parametric_graph.png,
	  help/C/figures/surface_graph.png, pixmaps/32x32/gnome-genius.png,
	  pixmaps/48x48/gnome-genius.png, pixmaps/genius-graph.png:
	  Optimize PNGs

363 364 365 366 367 368 369 370 371
Thu Apr 23 01:32:06 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/gnome-genius.c: Fix opening new files from the command line.
	  It just works now.

	* lib/calculus/Makefile.am, lib/calculus/fourier.gel:  Add some
	  Fourier series routines.  This currently exposes a bug in scoping
	  rules

372 373 374 375 376
Sun Apr 19 19:27:09 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/geniustests.txt, src/testprec.gel: test the precision stuff

	* src/graphing.c: Apply patch from Matthias Drochner of NetBSD to
377
	  fix uninitialized variable in one dimensional function plots
378

379 380 381 382 383
Sun Apr 19 18:55:12 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.c: Fix conflict with changing precision and the mpfr
	  cache.  Also fix a possible extra negation error in pow_z.

384 385 386 387 388
Fri Apr 03 15:42:40 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: joins and caps are round.  Fixes bad looking joins
	  on graphs of quickly oscillating functions

Jiri (George) Lebl's avatar
Jiri (George) Lebl committed
389 390 391 392
Sun Mar 15 00:04:08 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.6

393 394 395 396
Sun Mar 15 00:01:20 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: do much interface cleanup again.

397 398 399 400 401 402 403 404 405 406 407 408 409
Mon Mar 09 16:48:03 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/*.[ch]: lots of cleanup plus bin compat breakage for plugins:
	  Moved many things to the gel_ or genius_ namespace for consistency
	  sake.  There aren't actually any plugins that I know of so, who
	  cares if this all changes.  Plus bin compat is already broken this
	  release, as it does almost every other release

	* src/funclib.c: accept opposite orientation interval for
	  CompositeSimpsonsRule

	* src/geniustests.txt: update tests

410 411 412 413 414 415 416 417 418
Thu Mar 05 01:47:55 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: LinePlotDrawLegends parameter actually updates
	  the legends drawing in real time.  Don't store the parameter value
	  as an extra.

	* src/graphing.c: always update spinboxes before plotting something
	  not just on activate.

419 420 421 422 423 424 425 426 427 428 429 430 431 432 433
Wed Mar 04 23:58:43 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: add two more style strings to LinePlotDrawLine.
	  First "window" can set the window, with a "fit" being a fitting
	  window.  Also allow drawing of arrows by "arrow" followed by
	  "end", "both", "origin", "none" (done in canvas coordinates, not
	  screen coordinates, not ideal, try zooming)
	
	* src/graphing.c, src/funclib.c: a bit of cleanup, some pointless
	  optimizations, and make sure the graphing functions don't get
	  called during plotting.  Also setting LinePlotWindow,
	  SurfacePlotWindow will change zoom immediately as one would expect

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

434 435 436 437 438 439 440 441
Mon Mar 02 02:38:40 2009  Jiri (George) Lebl <jirka@5z.com>

	* **/Makefile.am: implement profile-generate and profile-use
	  target for profile guided optimization.  Not quite all working
	  I don't think, but simple tests produce impressive results.

	* gtkextra/gtkplotflux.c: fix bad use of snprintf

442 443 444 445 446 447
Mon Mar 02 02:07:52 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/graphing.c: fix bad drawing of very vertical functions.  Our
	  new hack in gtkextra handles lines way off screen more sanely so
	  we needent worry much here.

448 449 450 451 452 453 454 455 456 457
Fri Feb 27 14:42:12 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/mpwrap.[ch], src/funclib.c: remove the dependence on the MPF
	  compat layer.  Inline a few more functions.  Implement mpwl_eql
	  to make comparisons of rationals quicker.  Remove certain old
	  gmp/mpfr bug workarounds, a bit of cleanup

	* src/matop.c: in the mul_sub_row, cache the tmp variable for
	  greater speed.

458 459 460 461 462
Thu Feb 26 18:40:16 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: don't kill newlines in descriptions.  This is no longer
	  a problem.  Further reduces startup time by a tiny bit.

463 464 465 466
Thu Feb 26 02:34:54 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/calc.c: fix crash of string dumping

467 468 469 470 471 472 473 474 475
Thu Feb 26 02:27:06 2009  Jiri (George) Lebl <jirka@5z.com>

	* src/eval.c, src/calc.c, src/dict.[ch], src/gnome-genius.h,
	  src/structs.h, src/symbolic.c: store uncompiled string in the
	  token, not in a separate hash table.  This avoids extra lookups
	  during startup.

	* src/calc.c: a bit more optimization for help initialization

476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492
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

493 494 495 496 497 498 499 500 501 502 503
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.

504 505 506 507 508 509 510 511 512 513 514 515 516 517 518
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

519 520 521 522 523 524
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

525 526 527 528 529 530
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)

531 532 533 534 535
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

536 537 538 539
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
540
	  function nodes nowadays (for better part of a decade already :)
541

542 543 544 545 546
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

547 548 549 550 551 552 553
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

554 555 556 557 558 559 560 561 562 563 564 565
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.

566 567 568 569 570 571 572 573 574 575 576 577 578 579
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
580 581 582 583
Mon Feb 16 01:27:46 2009  Jiri (George) Lebl <jirka@5z.com>

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

584 585 586 587 588 589 590 591
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

592 593 594 595 596 597 598 599 600 601
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
602 603 604 605
Sun Feb 15 20:05:05 2009  Jiri (George) Lebl <jirka@5z.com>

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

606 607 608 609 610
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

611 612 613 614 615 616 617 618 619 620 621
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
622 623 624 625 626 627 628 629 630 631
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

632 633 634 635 636 637 638 639 640 641 642 643 644
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.

645 646 647 648 649
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

650 651 652 653 654
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

655 656 657 658 659 660 661 662 663 664 665 666
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

667 668 669 670 671 672 673 674 675 676 677 678 679 680
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.

681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698
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
699 700 701 702
Sun Feb 08 00:21:32 2009  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.4

703 704 705 706 707
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

708 709 710 711 712 713
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)

714 715 716 717 718 719 720
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!

721 722 723 724 725 726 727 728
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.

729 730 731 732
Sun Feb 01 10:54:30 2009  Jiri (George) Lebl <jirka@5z.com>

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

733 734 735 736 737 738 739 740 741 742
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

743 744 745 746 747 748 749 750 751
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.

752 753 754 755 756 757 758 759 760 761 762 763 764 765 766
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

767 768 769 770 771 772 773 774
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

775 776 777 778 779 780
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.

781 782 783 784 785
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.

786 787 788 789 790 791 792 793
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

794 795 796 797
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
George Lebl committed
798 799 800 801 802 803
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.

804 805 806 807 808
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.

809 810 811 812 813
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
814 815 816 817 818 819 820 821
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.

822 823 824 825 826 827 828 829 830 831 832 833 834 835
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
836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853
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"

854 855 856 857 858
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
859 860 861 862
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
863 864 865 866
Tue Jun 10 09:18:46 2008  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.3

867 868 869 870 871 872 873 874 875 876 877 878 879
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

880 881 882 883 884 885 886 887 888
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

889 890 891 892 893
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.

894 895 896 897 898 899 900 901 902 903
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.

904 905 906 907 908 909 910 911 912
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.

913 914 915 916 917 918 919 920
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...

921 922 923 924 925
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

926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944
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

945 946 947 948
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
949 950 951 952
Sun Feb 24 18:38:31 2008  Jiri (George) Lebl <jirka@5z.com>

	* help/C/genius.xml: update

953 954 955 956 957 958 959 960 961 962 963 964 965 966 967
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

968 969 970 971 972 973 974 975 976 977 978 979
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
980 981 982 983
Fri Feb 22 02:44:23 2008  Jiri (George) Lebl <jirka@5z.com>

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

984 985 986 987
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
988 989 990 991 992 993 994 995 996
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

997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011
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

1012 1013 1014 1015 1016 1017 1018
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

1019 1020 1021 1022 1023
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
1024 1025 1026 1027
Tue Nov 20 23:20:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.2

1028 1029 1030 1031 1032 1033 1034
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.

1035 1036 1037 1038
Tue Nov 20 12:26:58 2007  Jiri (George) Lebl <jirka@5z.com>

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

1039 1040 1041 1042
Tue Nov 20 03:34:28 2007  Jiri (George) Lebl <jirka@5z.com>

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

1043 1044 1045 1046 1047
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
1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066
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

1067 1068 1069 1070 1071
2007-11-20  Sebastian Dröge  <slomo@circular-chaos.org>

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

1072 1073 1074 1075 1076
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.

1077 1078 1079
2007-11-19  Sebastian Dröge  <slomo@circular-chaos.org>

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

1082 1083 1084 1085 1086
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
1087 1088 1089 1090
Mon Nov 19 02:56:58 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/symbolic.c: add erf derivative

1091 1092 1093 1094
Sun Nov 18 14:48:56 2007  Jiri (George) Lebl <jirka@5z.com>

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

1095 1096 1097 1098 1099 1100 1101 1102 1103
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
1104 1105 1106 1107
Fri Nov 16 23:36:57 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 1.0.1

1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119
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

1120 1121 1122 1123 1124
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.

1125 1126 1127 1128 1129 1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148
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

1149 1150 1151 1152
Thu Nov 15 18:39:06 2007  Jiri (George) Lebl <jirka@5z.com>

	* src/Makefile.am: add nullspacetest.gel

1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167
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

1168 1169 1170 1171 1172 1173
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.

1174 1175 1176 1177 1178 1179 1180 1181 1182
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

1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206
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

1207 1208 1209 1210 1211
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

1212 1213 1214 1215
Sun Nov 11 03:07:04 2007  Jiri (George) Lebl <jirka@5z.com>

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

1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229
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

1230 1231 1232 1233 1234
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

1235 1236 1237 1238 1239 1240 1241 1242 1243
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

1244 1245 1246 1247 1248 1249 1250 1251 1252
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.

1253 1254 1255 1256 1257 1258 1259 1260
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.

1261 1262 1263 1264
Mon Nov 05 01:31:51 2007  Jiri (George) Lebl <jirka@5z.com>

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

1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280
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

1281 1282 1283 1284 1285 1286 1287 1288 1289 1290
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

1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306
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>

1307 1308 1309 1310 1311 1312
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.
1313
	Version 2 is preferred if available, otherwise version 1 will be used.
1314

1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325
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.

1326 1327 1328 1329 1330
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.

1331 1332 1333 1334 1335 1336 1337 1338 1339 1340 1341 1342
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

1343 1344 1345 1346 1347 1348 1349
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

1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363
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.

1364 1365 1366 1367 1368
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

1369 1370 1371 1372 1373 1374
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

1375 1376 1377 1378 1379 1380
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

1381 1382 1383 1384 1385 1386 1387
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

1388 1389 1390 1391 1392 1393 1394
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"

1395 1396 1397 1398 1399 1400 1401 1402 1403 1404
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.

1405 1406 1407 1408 1409
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.

1410 1411 1412 1413 1414 1415 1416
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

1417 1418 1419 1420 1421
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

1422 1423 1424 1425 1426
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

1427 1428 1429 1430 1431 1432 1433 1434 1435
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

1436 1437 1438 1439 1440 1441 1442 1443 1444
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

1445 1446 1447 1448 1449 1450 1451 1452 1453 1454
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.

1455 1456 1457 1458 1459
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

1460 1461 1462 1463 1464 1465
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.

1466 1467 1468 1469 1470 1471 1472
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
1473 1474 1475 1476
Sat Oct 13 10:38:49 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*.xml: minor fixes

1477 1478 1479 1480 1481
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.

1482 1483 1484 1485 1486 1487
Mon Oct 08 01:56:06 2007  Jiri (George) Lebl <jirka@5z.com>

	* help/C/*.xml: documentation updates

	* Release 1.0.0

1488 1489 1490 1491
Sun Oct 07 12:48:33 2007  Jiri (George) Lebl <jirka@5z.com>

	* configure.in: add missing languages

1492 1493 1494 1495 1496
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
1497 1498 1499 1500 1501 1502 1503
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

1504 1505 1506 1507 1508
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

1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553
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

1554 1555 1556 1557 1558 1559 1560 1561 1562
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

1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579
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

1580 1581 1582 1583
Fri Mar 27 15:07:39 2007  Raivis Dejus  <orvils@gmail.com>

        * configure.in: Added Latvian Translation.

1584 1585 1586 1587 1588 1589
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
1590 1591 1592 1593
Fri Feb 02 10:10:19 2007  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.7

1594 1595 1596 1597 1598 1599
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.

1600 1601 1602 1603 1604
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

1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616
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

1617 1618 1619 1620 1621
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

1622 1623 1624 1625 1626 1627 1628 1629 1630
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

1631 1632 1633 1634 1635
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

1636 1637 1638 1639 1640 1641 1642 1643 1644 1645
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

1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664
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

1665 1666 1667 1668
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
1669 1670 1671 1672
Sat Jan 20 00:14:49 2007  Jiri (George) Lebl <jirka@5z.com>

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

1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690
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

1691 1692 1693 1694 1695 1696 1697 1698 1699
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

1700 1701 1702 1703 1704 1705
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

1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717
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

1718 1719 1720 1721 1722 1723
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

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

1726
	* src/gnome-genius.c: add Kai as documentor in the about box and add
1727 1728
	  the diactrical marks in Jiri in the about box

1729 1730 1731 1732 1733 1734 1735 1736
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

1737 1738 1739 1740 1741 1742 1743 1744 1745
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
1746 1747 1748 1749
Sun Aug 13 14:15:42 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.6

1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764 1765
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

1766 1767 1768 1769 1770 1771 1772 1773
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

1774 1775 1776 1777 1778 1779 1780
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.

1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796
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
1797 1798 1799 1800
Tue Aug 01 19:48:10 2006  Jiri (George) Lebl <jirka@5z.com>

	* Release 0.7.5

1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814
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

1815 1816 1817 1818
Tue Jul 18 20:35:23 2006  George (Jiri) Lebl <jirka@5z.com>

	* src/eval.c: fix matrix expanding

1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842
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

1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854
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".

1855 1856 1857 1858 1859 1860 1861 1862
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

1863 1864 1865 1866 1867 1868 1869
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

1870 1871 1872 1873
Thu Jul 13 13:42:25 2006  George (Jiri) Lebl <jirka@5z.com>

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

1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888
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.

1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899
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
1900 1901 1902 1903 1904 1905 1906 1907 1908
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

1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921
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

1922 1923 1924 1925 1926 1927 1928 1929 1930
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

1931 1932 1933 1934 1935
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
1936 1937 1938 1939
2005-12-06  Kjartan Maraas  <kmaraas@gnome.org>

	* configure.in: Add nb to ALL_LINGUAS.

1940 1941 1942 1943
2005-08-24  Pawan Chitrakar  <pchitrakar@gmail.com>

	* configure.in: Added ne in ALL_LINGUAS

1944 1945 1946 1947 1948
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).

1949 1950 1951 1952
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
1953 1954 1955 1956
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
1957 1958 1959 1960 1961 1962
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

1963 1964 1965 1966 1967 1968 1969 1970 1971 1972
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

1973 1974 1975 1976 1977 1978
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)

1979 1980 1981 1982 1983 1984 1985 1986
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.

1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004
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

2005 2006 2007 2008 2009 2010 2011 2012
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.

2013 2014 2015 2016 2017 2018
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)

2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034
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

2035 2036 2037 2038 2039 2040 2041 2042 2043 2044
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

2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069
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.

2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085
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

2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103
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

2104 2105 2106 2107
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
2108 2109 2110 2111 2112 2113
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

2114 2115 2116 2117 2118 2119
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
2120
	* configure.in: raise version
2121 2122 2123 2124 2125 2126 2127 2128

	* 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

2129 2130 2131 2132 2133 2134 2135 2136
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

2137 2138 2139 2140 2141
Mon Mar 21 15:42:06 2005  George Lebl <jirka@5z.com>

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

2142 2143 2144 2145 2146 2147 2148
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.

2149 2150 2151 2152 2153 2154 2155
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.

2156 2157 2158 2159 2160 2161 2162
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

2163 2164 2165 2166 2167
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.

2168 2169 2170 2171 2172
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.

2173 2174 2175 2176 2177
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

2178 2179 2180 2181
Thu Jan 06 13:28:12 2005  George Lebl <jirka@5z.com>

	* lib/functions/elementary.gel: add NewtonsMethodPoly

2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197
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

2198 2199 2200 2201 2202
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

2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217
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

2218 2219 2220 2221
Thu Dec 23 10:45:11 2004  George Lebl <jirka@5z.com>

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

2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237
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

2238 2239 2240 2241
Wed Dec 22 18:01:51 2004  George Lebl <jirka@5z.com>

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

2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257
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

2258 2259 2260 2261 2262
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

2263 2264 2265 2266 2267
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>

2268 2269 2270 2271 2272 2273 2274
	* 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
2275 2276 2277 2278 2279 2280 2281

	* 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)

2282 2283 2284 2285
Wed Dec 22 11:43:42 2004  George Lebl <jirka@5z.com>

	* mpfr/*: update to newest mpfr

2286 2287 2288 2289 2290 2291
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.

2292 2293 2294 2295 2296
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.

2297 2298 2299 2300
Wed Dec 22 10:24:05 2004  George Lebl <jirka@5z.com>

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

2301 2302 2303 2304 2305 2306 2307
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

2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321
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

2322 2323 2324 2325
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

2326 2327 2328 2329 2330
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)

2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343
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

2344 2345 2346 2347
Fri Nov 05 2004 Amanpreet Singh Alam <aalam@redhat.com>

	* ALL_LINUGUS: pa (Punjabi) Language is added

2348 2349 2350 2351 2352 2353 2354 2355 2356 2357
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

2358 2359 2360 2361 2362 2363 2364
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.

2365 2366 2367 2368 2369 2370 2371
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

2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385
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.

2386 2387 2388 2389 2390 2391 2392 2393 2394 2395
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

2396 2397 2398 2399 2400 2401 2402
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

2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424
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

2425 2426 2427 2428
Thu Aug 26 09:26:43 2004  Takeshi AIHANA <aihana@gnome.gr.jp>

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

2429 2430 2431 2432 2433
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

2434 2435 2436 2437 2438
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
2439 2440 2441 2442
Thu Aug 19 16:38:14 2004  George Lebl <jirka@5z.com>

	* Release 0.7.1

2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476
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

2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494
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

2495 2496 2497 2498 2499
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)

2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510
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

2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533
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

2534 2535 2536 2537 2538 2539
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.

2540 2541 2542 2543 2544 2545 2546 2547
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.

2548 2549 2550 2551
Thu Aug 05 15:39:17 2004  George Lebl <jirka@5z.com>

	* gtkextra/gtkplot.c: replace sprintf with g_snprintf

2552 2553 2554 2555 2556 2557
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

2558 2559 2560 2561 2562
Thu Aug 05 01:28:43 2004  George Lebl <jirka@5z.com>

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

2563 2564 2565 2566 2567 2568
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

2569 2570 2571 2572
Thu Aug 05 00:52:15 2004  George Lebl <jirka@5z.com>

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

2573 2574 2575 2576
Wed Aug 04 23:07:46 2004  George Lebl <jirka@5z.com>

	* src/graphing.c: make window titles saner

2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588
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

2589 2590 2591 2592 2593
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.

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

2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608
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.

2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623
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.

2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643
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

2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667
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

2668 2669 2670 2671