1 Tue May 17 16:24:00 2005 Taybin Rutkin <taybin@earthlink.net>
2 * Moved cassowary from autotools to scons.
4 Fri Mar 18 15:41:00 2005 Taybin Rutkin <taybin@earthlink.net>
5 * Removed ClSet.h, ClMap.h.
6 * ClReader.l includes ClReader.cc.h instead of ClReader.hh. The
7 difference between yacc and bison.
8 * Various changes to fix compliation.
10 Wed Jan 29 21:36:15 2003 Taybin Rutkin <trutkin@physics.clarku.edu>
11 * Updated to work with g++ 3.x compilers.
12 * More direct use of STL.
15 Sun Mar 12 13:40:44 2000 Greg J. Badros <gjb@cs.washington.edu>
17 * guile/cassowary_scm.cc: Give docstrings as arguments
19 * guile/cl-snarf.h: Added docstring as an argument to CL_PROC to
20 be like the revised Scwm documentation extraction system.
22 Sat Feb 12 20:34:55 2000 Greg J. Badros <gjb@cs.washington.edu>
24 * Makefile.am: Added GTL.h.patch to EXTRA_DIST
26 Sat Feb 12 20:31:47 2000 Greg J. Badros <gjb@cs.washington.edu>
28 * c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: Drop
29 ExternalResetStayConstants, make ResetStayConstants() public.
30 Test _fResetStayConstantsAutomatically before doing so in
31 Resolve(). Use _fAutosolve instead of _fOptimizeAutomatically.
32 Drop DisplayObjective (wasn't defined anyway). Drop field
33 _fOptimizeAutomatically (use _fAutosolve from parent, instead).
35 * guile/cassowary_scm.hpp, guile/cassowary_scm.cc: Drop extra
38 * guile/cassowary_scm.cc: Added `cl-set-auto-solve!',
39 `cl-set-auto-reset-stay-constants!'
41 Sat Jan 29 17:45:32 2000 Greg J. Badros <gjb@cs.washington.edu>
43 * configure.in (CASSOWARY_VERSION): Bump to 0.55.
45 Sat Jan 29 17:43:05 2000 Greg J. Badros <gjb@cs.washington.edu>
47 * c++/ClSimplexSolver.cc (Resolve): Do not comment out
48 "ResetStayConstants()" as Beuriv� had done. This was resulting in
49 quirky behaviour whereby the windows were "rubber-banding" back to
50 where they were at the start of an interaction (e.g., if I push a
51 window out of the way to the left with another window, as I move
52 the pushing window back to the right, the other window comes back
53 to the right with the pushing window). Maybe that's desirable
54 behaviour in some instances, but it's not the behaviour we
55 document and sure feels weird to me.
57 Sat Jan 29 17:38:43 2000 Greg J. Badros <gjb@cs.washington.edu>
59 * java/sym.java, java/parser.java, java/Yylex.java: Added -- these
60 are created by JavaCUP which I don't want to be necessary for
63 Mon Jan 24 09:34:20 2000 Greg J. Badros <gjb@cs.washington.edu>
65 * c++/ClSymbolicWeight.h: Set SymbolicWeight multiplier to
66 1000000, not 10000 (A.Beuriv�)
68 * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Added
69 ChangeStrength, ChangeStrengthAndWeight, ChangeWeight,
70 DisplayObjective, ExternalResetStayConstants fns.
71 (RemoveConstraintInternal) Avoid picking the objective row when
72 removing a constraint. (Optimize) Pick any negative row to avoid
73 unending pivots [I think this is a work-around to avoid having to
74 implement Bland's anti-cycling rule... maybe I should just do
75 that, though]. (A.Beuriv�)
77 Thu Dec 16 11:12:34 1999 Greg J. Badros <gjb@cs.washington.edu>
79 * configure.in: Version bumped to 0.54a
81 Thu Dec 16 11:10:42 1999 Greg J. Badros <gjb@cs.washington.edu>
83 * java/Makefile.am: Force prefix ordering in SUBDIRS so that "."
84 dir gets built before the demos subdirectory.
86 * smalltalk/Makefile.am: Fix .dat file -- thanks Alan!
88 Wed Dec 15 19:31:48 1999 Greg J. Badros <gjb@cs.washington.edu>
90 * java/README: More notes re: security problems w/ Java 2.
92 * java/cda/Makefile.am: Added run target to ease running it.
94 * Makefile.am (EXTRA_DIST): Added c++/{config.h.in,stamp-h.in}
96 * java/cda/Makefile.am (EXTRA_DIST): Clean up install of .gif
99 * java/Makefile.am (EXTRA_DIST): Added ClReader.{cup,lex}
101 * c++/Makefile.am: Do not make symlink to cassowary; let
102 configure.in do that.
104 Wed Dec 15 18:13:14 1999 Greg J. Badros <gjb@cs.washington.edu>
106 * java/Makefile.am: Put SUBDIRS demo cda back in since they
109 * scripts/recreate-symlinks: Update with links to ../../EDU from
110 demo directories for Java code. Use ln -sf, not just ln -s, to avoid
113 * Makefile.am (EXTRA_DIST): Include scripts/recreate-symlinks
115 * configure.in: Run recreate-symlinks script.
117 Wed Dec 15 18:07:27 1999 Greg J. Badros <gjb@cs.washington.edu>
119 * java/cda/Makefile.am: Put Constraint/*, Main/* files into the
120 distribution and build with them.
122 * java/demos/*.java: Move everything into the
123 EDU.Washington.grad.gjb.cassowary_demos package.
125 * java/cda/classes/run.html, java/demos/quaddemo.htm: Fix nl
126 convention, name class explicitly w/ package in front, w/o
129 * java/cda/**: Move everything into the
130 EDU.Washington.grad.noth.cda package.
132 Wed Dec 15 17:21:08 1999 Greg J. Badros <gjb@cs.washington.edu>
134 * java/Makefile.am: Build java parser.
136 * java/ClParseTest.java: Added.
138 * GTL.h.patch: Added -- need by gcc-2.95 when compiling GTL-0.3.1
140 * java/README: Mention java parser.
142 * java/ClReader.lex, java/ClReader.cup: Cleanup, guard debug messages.
144 Tue Dec 14 11:15:01 1999 Greg J. Badros <gjb@cs.washington.edu>
146 * configure.in: Fix -fpermissive test to not check "cc" as well as
147 $CC. Eliminate the --enable-permissive flag since it is no longer
150 Mon Dec 13 15:56:19 1999 Greg J. Badros <gjb@cs.washington.edu>
152 * java/Yylex.java: Added, from Will Portnoy.
154 * java/ClReader.cup, java/ClReader.lex: Latest version from Will,
155 cleaned up line breaks, set a tab-width for Emacs.
157 Mon Dec 13 15:55:59 1999 Greg J. Badros <gjb@cs.washington.edu>
159 * c++/Makefile.am: Remove ClReader.cc -- why did I add this
162 Fri Dec 10 13:29:00 1999 Greg J. Badros <gjb@cs.washington.edu>
164 * java/ClSimplexSolver.java (addLowerBound, addUpperBound): Fix
165 these two functions to call addConstraint before returning.
166 Thanks Stephen Allain for catching this! Updated exception specs
167 for those methods and for addBounds.
169 Tue Dec 7 08:42:34 1999 Greg J. Badros <gjb@cs.washington.edu>
171 * smalltalk/A991206.dat: New image from Alan. Include correct
172 version of code for "ClSimplexSolver removeConstraint:" to fix bug
173 when deleting constraints with weights other than 1. Also
174 disallow invalid comparisons between symbolic weights and floats.
175 Replace expressions "x clApprox: 0.0" with "x clApproxZero", which
176 works correctly for both symbolic weights and floats.
178 * smalltalk/*.st: Added from Alan.
180 Mon Nov 29 16:23:06 1999 <gjb@cs.washington.edu>
182 * configure.in: Bump to version 0.54, added -lGTL to GTL_LIB even
183 when no --with-gtl option is given. No longer create README from
184 README.in. Added --enable-static-library option, off by default.
186 * c++/Makefile.am (sources): Added ClReader.cc
188 * cassowary.spec.in, cassowary-both.spec.in: No longer need the
189 --enable-guile-build option; it's the default now.
191 Mon Nov 29 10:52:49 1999 Greg J. Badros <gjb@cs.washington.edu>
193 * c++/Makefile.am: Added use of AM_CONDITIONAL
194 CL_BUILD_STATIC_LIBRARY; only buile libcassowary.a if that option
197 * guile/Makefile.am (libconstraints_la_LIBADD): Added @GTL_LIB@ to
198 make the guile library work with the FD-enabled version of the library.
200 Sat Nov 27 16:11:10 1999 Greg J. Badros <gjb@cs.washington.edu>
202 * configure.in: Invert sense of --enable-guile-build and call it
203 --disable-guile-build; build guile wrapper automatically if
206 Sat Nov 27 15:20:03 1999 Greg J. Badros <gjb@cs.washington.edu>
208 * configure.in: Use an AM_CONDITIONAL for CL_BUILD_FD_SOLVER, not
209 an AC_DEFINE. Also, remove duplicate AC_SUBST of GTL_LIB, and fix
210 AM_CONDITIONAL of CL_BUILD_TESTS.
212 Sat Nov 27 15:19:20 1999 Greg J. Badros <gjb@cs.washington.edu>
214 * c++/Makefile.am: Try separating out FD stuff better, and use
215 CL_BUILD_FD_SOLVER AM_CONDITIONAL to control dependence on that
218 * c++/config.h.in: Drop CL_BUILD_FD_SOLVER; it's now an
219 AM_CONDITIONAL instead of a define.
221 Wed Nov 24 15:40:27 1999 Greg J. Badros <gjb@cs.washington.edu>
223 * c++/ClSimplexSolver.cc: Fix typo in a throw message.
225 * c++/ClLinearInequality.h: Throw an editmisuse when a
226 ClLinearInequality is created w/o an inequality operator.
228 Tue Nov 23 16:54:05 1999 Greg J. Badros <gjb@cs.washington.edu>
230 * configure.in: Use guile's pkglibdir, not pkgdatadir, for
231 choosing cassoguiledir.
233 Tue Nov 16 17:35:54 1999 Greg J. Badros <gjb@cs.washington.edu>
235 * java/ClReader.lex, java/ClReader.cup: Added -- code by Will
236 Portnoy for adding a parser to the Java implementation. Untested,
237 and an early version that he emailed me.
239 Tue Nov 16 17:34:00 1999 Greg J. Badros <gjb@cs.washington.edu>
241 * java/ClTestColumns.java, java/ClTests.java: Put in the cassowary
242 package, instead of importing cassowary.*; jikes needed this
243 (discovered during testing of java-ml work).
245 Sat Nov 13 11:43:48 1999 Greg J. Badros <gjb@cs.washington.edu>
247 * java/Timer.java (Timer): Remove return type from Timer()
248 constructor (jikes caught the bug when I used this as a test case
249 for my java-ml work).
251 Sun Oct 24 13:17:14 1999 Greg J. Badros <gjb@cs.washington.edu>
253 * configure.in: Updated version to 0.53, generate
254 smalltalk/Makefile from Makefile.am.
256 * NEWS: Updated for 0.53 release.
258 * Makefile.am: Added smalltalk directory to SUBDIRS.
260 Sat Oct 23 14:34:27 1999 Greg J. Badros <gjb@cs.washington.edu>
264 * LICENSE: Added Scwm exception
267 Sat Oct 23 14:33:48 1999 Greg J. Badros <gjb@cs.washington.edu>
269 * c++/Makefile.am: Make cassowary/ directory symlink as needed.
271 Sun Oct 3 16:50:43 1999 Greg J. Badros <gjb@cs.washington.edu>
273 * c++/ClSimplexSolver.cc: Use clvNil some places instead of NULL.
274 This is important for newer, pickier gcc-2.95.x. Thanks Alexandre
275 Duret-Lutz for the patch!
277 Thu Sep 30 08:17:16 1999 Greg J. Badros <gjb@cs.washington.edu>
279 * c++/ClFDSolver.cc: Added missing #include <stdarg.h> -- Thanks
280 Harry Hochheiser for bug report.
282 Sun Sep 26 13:43:12 1999 Greg J. Badros <gjb@cs.washington.edu>
284 * c++/Makefile.am (libcassowary_la_LDFLAGS): Added -version-info
285 flag to make libcassowary.so.0.0.1, instead of .0.0.0
287 Sun Sep 26 13:15:32 1999 Greg J. Badros <gjb@cs.washington.edu>
289 * README, ANNOUNCE: Removed
291 * README.in, ANNOUNCE.in: Added
293 * configure.in: Create README, ANNOUNCE, bump to 0.52post
295 Sat Sep 25 16:02:22 1999 Greg J. Badros <gjb@cs.washington.edu>
297 * cassowary.spec.in, configure.in: Update to version 0.52.
299 Fri Sep 24 18:51:42 1999 Greg J. Badros <gjb@cs.washington.edu>
301 * configure.in: Remove first of redundant checks for HAVE_SCM_MAKE_SMOB_TYPE_MFPE.
303 Mon Sep 20 13:36:45 1999 Greg J. Badros <gjb@cs.washington.edu>
305 * guile/cassowary_scm.cc: Fix `cl-int-value' to use gh_int2scm
306 instead of gh_double2scm
308 Sun Sep 19 14:45:59 1999 Greg J. Badros <gjb@cs.washington.edu>
310 * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Replace
311 _editVarMap with _editInfoList, a list. Make ClEditInfo class
312 contain the variable since its no longer stored as values in a
313 hash where the key is the variable. Drop the index from
314 ClEditInfo. Rename ClVarToEditInfoMap to ClEditInfoList.
316 Sun Sep 19 14:44:00 1999 Greg J. Badros <gjb@cs.washington.edu>
318 * c++/ClTests.cc (multiedit2): Added this new test to check nested
319 edits that share an existing variable better. This tests the fix
320 for the ScwmButtons auto-orientation seg-fault bug in Scwm.
322 * c++/ClBug0.cc: Added comment re: new bug fix.
324 Sat Sep 18 22:31:54 1999 Greg J. Badros <gjb@cs.washington.edu>
326 * configure.in: Added GUILE_LIBS setting.
328 * cassowary.spec.in: Use fake_root_for_install to get the
329 cassowary guile library in proper place.
331 * autogen.sh: Only create symlink if not already created.
333 * acconfig.h, c++/config.h.in: Added HAVE_SCM_MAKE_SMOB_TYPE_MFPE
335 * README: Added note re: enable-permissive
337 * guile/cassowary_scm.cc: Use new-style (guile-1.3.2 or better)
338 SMOBs conditioning on HAVE_SCM_MAKE_SMOB_TYPE_MFPE.
340 Wed Sep 8 20:03:25 1999 Greg J. Badros <gjb@cs.washington.edu>
342 * cassowary.spec.in: Bump to release 8
344 * cassowary-nofd.spec2.in: Bump to release 2.
346 Wed Sep 8 19:43:53 1999 Greg J. Badros <gjb@cs.washington.edu>
348 * c++/Makefile.am: Drop building of config-inline.h -- let
349 configure handle that-- this was causing a double-build
350 (!!!ugh!!!) of Cassowary when building from RPMs, e.g.
352 * GTL.spec.in: Use install-strip target.
354 Tue Sep 7 23:34:49 1999 Greg J. Badros <gjb@cs.washington.edu>
356 * configure.in, Makefile.am: use cassowary-nofd.spec2.in
358 * cassowary-nofd.spec2.in: Renamed from cassowary-nofd.spec.in,
359 since having two *.spec files in the top level upsets rpm (it cats
360 them together and then gets confused by the double .spec file).
362 * cassowary-both.spec.in: Added-- rpm doesn't support two %build
363 tags (one for a subpackage), but if it did, this is what the
364 corresponding .spec file might look like.
366 Tue Sep 7 23:02:26 1999 Greg J. Badros <gjb@cs.washington.edu>
368 * Makefile.am: Added cassowary-nofd.spec to EXTRA_DIST,
369 bin_SCRIPTS = cassowary-config. Added dist-nofd target, and
372 * cassowary.spec.in: Bump to 7, provide virtual package, install
373 %{prefix}/bin/* (for cassowary-config script).
375 * configure.in: Added CASSOWARY_VERSION variable, create
376 cassowary-config, cassowary-nofd.spec
378 * cassowary-config.in, cassowary-nofd.spec.in: Added
380 Mon Sep 6 21:40:58 1999 <gjb@cs.washington.edu>
382 * cassowary.spec.in: Use install-strip target to remove debug
383 symbols and save disk space. Remove %{prefix}/doc/* from the
384 %files list as they are in the %doc listing already.
386 Mon Sep 6 12:25:14 1999 Greg J. Badros <gjb@cs.washington.edu>
388 * cassowary.spec.in: Use --host=alpha-linux on that platform
389 (using an %ifarch). Bump to release 6.
391 * GTL.spec.in: Fix the ./configure line for alpha platform (was
392 missing "--" before the "prefix" option). Bump to release 2.
394 * c++/ClSymbolicWeight.h, c++/ClSymbolicWeight.cc: Use int, not
395 unsigned, to remove ambiguity in ClSymbolicWeight constructor.
397 Sat Sep 4 15:17:13 1999 Greg J. Badros <gjb@cs.washington.edu>
399 * acconfig.h: Added NO_CC_PERMISSIVE flag.
401 * autogen.sh: Added #!/bin/sh - to top.
403 * configure.in: Test for g++/gcc -fpermissive flag. Hopefully
404 this will let it get used only where it is accepted. Some better
407 * cassowary.spec.in: Use --enable-permissive flag, bump from
410 Sat Sep 4 14:44:14 1999 Greg J. Badros <gjb@cs.washington.edu>
412 * c++/Makefile.am, guile/Makefile.am: Added CPPEXTRAFLAGS to
415 * guile/Makefile.am: Guard lib_LIBRARIES with HAVE_GUILE test so
416 that guile stuff is only built when GUILE is desired and we have
417 the libraries installed.
419 Tue Aug 31 22:16:04 1999 Greg J. Badros <gjb@cs.washington.edu>
421 * java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am
422 (install-javaJAVA): Do not try to install .class files if no
425 Tue Aug 31 21:30:24 1999 Greg J. Badros <gjb@cs.washington.edu>
427 * cassowary.spec.in: Do not use --disable-java-build, since that
428 still invokes the rule which is not what I want.
430 * java/demos/Makefile.am, java/cda/Makefile.am: Added bogus
431 classjava.stamp rule when no HAVE_JAVA to work around getting an
432 error when trying to run javac with no source files.
434 * configure.in: Fix some HAVE_JAVA bugs. Still not perfect, but better.
436 Tue Aug 31 17:07:31 1999 Greg J. Badros <gjb@cs.washington.edu>
438 * java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am:
441 Tue Aug 31 16:27:41 1999 Greg J. Badros <gjb@cs.washington.edu>
443 * configure.in (HAVA_JAVA): AC_OUTPUT the java/*/Makefiles.
445 * cassowary.spec.in: Use --disable-java-build ./configure option.
448 * Makefile.am: Do not conditionally do directories-- that is
449 really broken with automake/rpm building.
451 Tue Aug 31 16:20:45 1999 Greg J. Badros <gjb@cs.washington.edu>
453 * java/demos/Makefile.am, java/cda/Makefile.am, java/Makefile.am
454 (java_JAVA): Guard with if HAVE_JAVE.
456 Mon Aug 30 12:03:26 1999 Greg J. Badros <gjb@cs.washington.edu>
458 * cassowary.spec.in: Bump to release 2
460 * configure.in: Drop the java/* wrappers/* from AC_OUTPUT macro--
461 this breaks java builds but make the Cassowary RPM build more
462 cleanly. I'm going to start making a separate cassowary-java
463 distribution unless I can figure out how to make automake and Java
464 co-exist more happily.
466 Mon Aug 30 12:00:39 1999 Greg J. Badros <gjb@cs.washington.edu>
468 * c++/ClAbstractVariable.h: #include "cl_auto_ptr.h" and use
469 cl_auto_ptr, not auto_ptr.
471 Mon Aug 30 10:06:50 1999 Greg J. Badros <gjb@cs.washington.edu>
473 * c++/cl_auto_ptr.h: Change the conditional inclusion sandwich to
474 CL_AUTO_PTR_H. Added "#define cl_auto_ptr auto_ptr" for MSVC.
476 Thu Aug 26 22:42:50 1999 Greg J. Badros <gjb@cs.washington.edu>
478 * cassowary.spec.in: Require guile 1.3.2, to be safe. Require GTL
479 >= 0.3.1, not gtl >= 0.3.1 (note capitalization)
481 Thu Aug 26 14:12:42 1999 Greg J. Badros <gjb@cs.washington.edu>
483 * c++/ClFDSolver.h, c++/ClCTest.c, c++/ClC.h, c++/ClC.cc,
484 c++/Cassowary.h, c++/ClConstraint.h: Use LONG_MIN, not MINLONG and
485 #include <limits.h> not <values.h> since the latter is deprecated
486 (and does not work in VC++).
488 * THANKS: Thank Pengling He for his VC++ bug report re: values.h
490 Thu Aug 26 14:08:46 1999 Greg J. Badros <gjb@cs.washington.edu>
492 * configure.in (GUILE_PKGDATA_DIR): Set cassoguiledir variable,
493 and use ${prefix} prefix of GUILE_PKGDATA_DIR to be sure that rpm
494 building succeeds (was failing because it was trying to write to
495 an absolute location that guile told it to use, instead of using
496 the prefix of $RPM_BUILD_ROOT).
498 * c++/Makefile.am: Fix lex/yacc building dependencies.
500 * guile/Makefile.am (cassoguile_LTLIBRARIES): Do not set
501 cassoguiledir here-- do it in configure.in instead.
503 Thu Aug 26 11:02:36 1999 Greg J. Badros <gjb@cs.washington.edu>
505 * guile/Makefile.am (EXTRA_DIST), docs/Makefile.am: Added docs to
508 * c++/Makefile.am: Added ClReader.l, ClReader.y to EXTRA_DIST,
509 remove ClReader.cc from sources. Added timer.h to
512 * Makefile.am: Update EXTRA_DIST
514 Thu Aug 26 08:45:08 1999 Greg J. Badros <gjb@cs.washington.edu>
516 * configure.in: Write cassowary.spec, GTL.spec. Bump version to
519 * autogen.sh: Run configure, not config.status
521 * VERSION, README, NEWS, ANNOUNCE: Bump to 0.51, add date, notes.
523 * Makefile.am: Drop Java, Python to make easier to package. Added
524 EXTRA_DIST to include some doc files and the cassowary.spec file.
526 Wed Aug 25 22:54:18 1999 Greg J. Badros <gjb@cs.washington.edu>
528 * c++/Makefile.am (pkginclude_HEADERS): cl_auto_ptr.h now, not auto_ptr.h
530 Mon Aug 23 21:26:31 1999 Greg J. Badros <gjb@cs.washington.edu>
532 * ltmain.sh, ltconfig, libtool, configure: Removed -- these are
533 autogenerated by autogen.sh
535 Mon Aug 23 21:23:53 1999 Greg J. Badros <gjb@cs.washington.edu>
537 * c++/ClSimplexSolver.cc: Use cl_auto_ptr, not auto_ptr.
539 * c++/ClAbstractVariable.h: #include <memory>, not "auto_ptr.h"
541 * c++/cl_auto_ptr.h: Added -- renamed from auto_ptr.h since that
542 was causing some difficulties due to the standard C++ auto_ptr template.
544 Mon Jul 26 10:19:35 1999 Greg Badros <gjb@cs.washington.edu>
546 * c++/Makefile.am (libcassowary_la_SOURCES): Remove redundant
547 listing of ClFD* files from this target.
549 Mon Jul 26 09:41:09 1999 Greg Badros <gjb@cs.washington.edu>
551 * c++/Cl.h: Include ClConstraint.h, since cnLT, etc., need to be
552 defined for ClReader.y
554 Mon Jul 26 09:22:11 1999 Greg Badros <gjb@cs.washington.edu>
556 * acconfig.h, configure.in: Use CL_ prefix for BUILD_FD_SOLVER and
559 Mon Jul 26 09:17:56 1999 Greg Badros <gjb@cs.washington.edu>
561 * c++/config.h.in,c++/ClC.h,c++/ClC.cc,c++/Cl.h: Use CL_ prefix on
562 BUILD_FD_SOLVER and HAVE_GTL so that the config-inline.h gets the
565 * c++/Makefile.am: Expanded out the sources_for_fd_solver since
566 the _OBJECTS make variable doesn't get expanded properly if this
567 step is deferred until later. This breaks builds w/o FD solver,
568 but I have to get Amaya working ASAP.
570 Mon Jul 19 17:08:03 1999 Greg Badros <gjb@cs.washington.edu>
572 * c++/ClSymbolicWeight.h: Increase multiplier to 10000 for
573 AsDouble-- works around the bug in resizing Scwm windows because
574 the medium stay constraints on width and height are too strong for
575 the strong edit constraint.
577 Sun Jul 11 19:37:39 1999 Greg Badros <gjb@cs.washington.edu>
579 * c++/ClLinearExpression.h: Remove "class" from a typedef
580 ClMap<ClVariable,class T>. Thanks Alexandre 'Pollux' Duret-Lutz
581 for testing against a more recent egcs (gcc-2.95) that caught this
584 * configure.in: Improve checks for guile so that it uses --prefix
585 and --exec-prefix to --guile-prefix and --guile-exec-prefix
587 Sat Jul 10 19:21:34 1999 Greg Badros <gjb@cs.washington.edu>
589 * autogen.sh: rm libtool stuff just in case.
591 * README: Updated version number, notes about building it and
592 needing GTL for fd solver.
594 * configure.in: Added --enable-cxx-tests, --enable-fd-solver,
595 --with-gtl; switch --disable-java-build to --enable-java-build
597 * acconfig.h, c++/config.h.in: Added HAVE_GTL, BUILD_FD_SOLVER options.
599 * c++/Makefile.am: Make only the library and ClTests get built by
600 default (other binary test programs are each big when build -g,
601 and aren't useful to the end user). Use @SOURCES_FOR_FD_SOLVER@
602 to permit a version of the toolkit to be build without the finite
605 * c++/ClC.h, c++/ClC.cc, c++/Cl.h: Add #ifdefs for no fd subsolver.
607 Fri May 7 17:02:09 1999 Greg J Badros <gjb@cs.washington.edu>
609 * c++/ClC.cc (CL_ClvLookup): Return NULL if varmap is NULL instead
610 of asserting it is non-NULL
612 Thu May 6 19:02:38 1999 Greg J Badros <gjb@bowman.cs.monash.edu.au>
614 * c++/ClFDTests.cc: Added return type to connect1.
616 * c++/ClFDSolver.cc: Return *this where missing.
618 * c++/ClFDConnectorVariable.h: Reorder mem vars to match
619 initialization order in ctr.
621 * c++/ClC.h, c++/ClC.cc: Added CL_ClvIsFD.
623 Sun May 2 10:42:00 1999 Greg J Badros <gjb@cs.washington.edu>
625 * c++/ClReader.l: Permit "_" in identifiers (needed for env
626 variable precondition variables).
628 * c++/ClLinearInequality.h: Honour _fStrictInequality flag when
629 testing FIsSatisfied().
631 * c++/ClLinearConstraint.h: Added missing "void" return type for
634 Fri Apr 30 09:45:51 1999 Greg J Badros <gjb@cs.washington.edu>
636 * c++/ClFDConnectorVariable.cc, c++/ClFDConnectorVariable.h:
637 Added -- support connecting the FD solver to the simplex solver
638 via a variable in the FD region that gets its value "copied" to a
639 analogous variable in the Simplex region.
641 * Makefile.am: Added ClFDConnectorVariable.[ch] files.
643 * c++/ClLinearConstraint.h: Added ChangeConstant()
645 * c++/ClFloatVariable.h, c++/ClFDVariable.h,
646 c++/ClFloatVariable.cc, c++/ClFDVariable.cc,
647 c++/ClAbstractVariable.h: Move _pv, SetPv(), Pv() from
648 ClFloatVariable, ClFDVariable, into common parent
649 ClAbstractVariable. Drop ClFloatVariable::SetName().
651 * c++/ClFDTests.cc: Added connect1 test to test
652 ClFDConnectorVariable
654 * c++/ClFDSolver.cc: Use 1 + value-rhs for errors to ensure that
655 strict inequalities behave reasonably.
657 Thu Apr 29 19:29:34 1999 Greg J Badros <gjb@cs.washington.edu>
659 * c++/ClVariable.h: Register variable in the dictionary when
660 initialized from a ClFDVariable*. Added const ClAbstractVariable
663 * c++/ClSolver.h, c++/ClSimplexSolver.h: Added _fAutosolve,
664 _pfnChangeClvCallback; added default ctr to initialize. Added
665 SolveNoException(); Moved SetAutosolve(), FIsAutosolving(),
666 SetChangeClvCallback() from ClSimplexSolver up to here.
668 * c++/ClSolver.cc: Added PrintTo for list<FDNumber>, operator<<
671 * c++/ClSimplexSolver.cc: Test constraint with
672 FIsOkayForSimplexSolver() before trying to add it (avoids adding
673 FD constraints to the simplex solver).
674 s/_fOptimizeAutomatically/_fAutosolve/g
676 * c++/ClParseTest.cc: Use FCanConvertCn() before trying to.
678 * c++/ClFDVariable.h: Make PlfdnDomain() const and return const.
680 * c++/ClFDVariable.cc: PrintOn now displays value (duh!)
682 * c++/ClFDTests.cc: Use new ListPushOnto() instead of a bunch of
683 push_back. Added simple2, simple3.
685 * c++/ClFDSolver.h, c++/ClFDSolver.cc: Added ChangeClv(),
686 AddConstraintInternal(), RemoveConstraintInternal(),
687 ListPushOnto(), fDebugFDSolve var, more debugging code.
689 * c++/ClConstraint.h, c++/ClFDConstraint.h: Added
690 FIsOkayForSimplexSolver() returning false for FDCns, true in the
693 * c++/ClFDBinaryOneWayConstraint.h,
694 c++/ClFDBinaryOneWayConstraint.cc: Make ctr take ClConstraint
695 instead of ClLinearConstraint. Added EnsurePreconditionsForCn(),
696 FCanConvertCn(). Throw better exceptions instead of
697 ExCLEditMisue-- use new ExCLTooDifficultSpecial.
699 * c++/ClCTest.c: Use CL_ClvPrint instead of coding by hand.
700 Added CL_CldvNew() call.
702 * c++/ClC.cc, c++/ClC.h: Added FDN_EOL defn, typedefs for Number,
703 FDNumber, CL_CldvNew(), CL_FDCanConvertCn(), CL_FDCnFromCn(),
704 CL_ClvPrint(). Use CL_Solver for PfnChangeClvCallback, not CL_SimplexSolver.
706 * c++/ClAbstractVariable.h: Throw instead of assert(false) in base
707 class IsPivotable(), IsRestricted().
709 Wed Apr 28 19:38:46 1999 Greg J Badros <gjb@cs.washington.edu>
711 * c++/ClC.cc: Added CL_FDSolverNew()
713 Wed Apr 28 19:10:32 1999 Greg J Badros <gjb@cs.washington.edu>
715 * c++/Makefile.am (INCLUDES): Include @GUILE_INCLUDES@ -- actually
716 done to get cassowary libraries (GJB:FIXME::)
718 Wed Apr 28 18:49:51 1999 Greg J Badros <gjb@cs.washington.edu>
720 * c++/Makefile.am: Added ClCTest to the _PROGRAMS, and use
723 * c++/ClSolver.h: Expose Resolve() in base-class interface, along
724 with <<, and PrintOn.
726 * c++/ClSolver.cc: Added << operator.
728 * c++/ClC.h, c++/ClC.cc, c++/ClTest.c: Fixed bugs, use
729 CL_Solver... instead of CL_SimplexSolver... where appropriate.
731 Wed Apr 28 17:15:47 1999 Greg J Badros <gjb@cs.washington.edu>
733 * c++/ClSymbolicWeight.h: Make CLevels unsigned, not int, and
734 require all 3 args to the 3 double ctr to remove ambiguity.
736 * c++/ClSimplexSolver.h: Check constraint before adding and throw
737 an error if the constraint is no good for the SimplexSolver.
739 * c++/ClParseTest.cc: Don't assume a failed add is due to an
740 inconsistent system-- could be wrong kind of constraint was read
743 * c++/ClLinearInequality.h: Store the strictness of the
744 inequality, since other solvers may be able to use strict ones.
746 * c++/ClFDSolver.cc: Fine-tune the exception objects thrown... use
747 the richer hierarchy.
749 * c++/ClFDBinaryOneWayConstraint.c,
750 c++/ClFDBinaryOneWayConstraint.h: Added IsStrictInequality(), get
751 the direction of the inequality correct.
753 * c++/ClErrors.h: Richer hierarchy of exceptions to cope with
756 * c++/ClConstraint.h: Added IsStrictInequality(); have
757 ReadOnlyVars return a const ClVarSet&, not value.
759 Wed Apr 28 12:20:47 1999 Greg J Badros <gjb@cs.washington.edu>
761 * c++/Makefile.am: Added ClFDBinaryOneWayConstraint.cc.
763 * c++/ClReader.y, c++/ClReader.l: Added tokens GT, LT, and handle
764 them (for >, <, resp).
766 * c++/ClParseTest.cc: try converting to a FD constraint, and show
769 * c++/ClFDBinaryOneWayConstraint.h: Added ctr from a
770 ClLinearConstraint. Added IsInequality().
772 Wed Apr 28 12:08:16 1999 Greg J Badros <gjb@cs.washington.edu>
774 * c++/ro-test.in: Added for testing below.
776 * c++/ClFDBinaryOneWayConstraint.cc: Added -- so far just a ctr
777 from a ClLinearConstraint object (since the parser hands me a
778 constraint object that is a ClLinearConstraint object).
780 Tue Apr 27 20:35:23 1999 Greg J Badros <gjb@cs.washington.edu>
782 * c++/ClSymbolicWeight.h, c++/ClSymbolicWeight.cc: Drop default
783 ctr, and give default arg value to CLevels of 3. Added operator*.
785 * c++/ClFDTests.cc: Better test.
787 * c++/ClFDSolver.h, c++/ClFDSolver.cc: Use SymbolicWeights for
788 errors, so hierarchy is handled (i.e., strengths on constraints
791 * c++/ClFDConstraint.h: Added ctr with strength, weight.
793 * c++/ClFDBinaryOneWayConstraint.h: Added strength, weight
796 * c++/ClConstraint.h: Added symbolicWeight() accessor.
798 Tue Apr 27 15:04:34 1999 Greg J Badros <gjb@cs.washington.edu>
800 * c++/ClFDSolver.cc (RemoveConstraint): Fix some bugs-- handle nil
801 read-only variable properly, and clean up _mapVarToNode when
804 Tue Apr 27 10:40:58 1999 Greg J Badros <gjb@cs.washington.edu>
806 * c++/ClSolver.cc: Added -- wrote PrintTo, << basic impls, and
807 simple AddConstraint.
809 * c++/QocaBench.cc, c++/ClTests.cc, c++/ClSubgraphTest.cc,
810 ClLeakTest.cc, ClC.cc: Use Solve(), not solve()
812 * c++/ClVariable.h: Added DesiredValue, PlfdnDomain base-class
813 accessors, handle clvNil in PrintOn.
815 * c++/Makefile.am: Added ClSolver.cc, link with -lGTL, added
816 missing and new .cc, .h files.
818 * c++/ClTypedefs.h: added ClVarToConstraintSetMap.
820 * c++/ClSolver.h: Added AddConstraint{,NoException},
821 RemoveConstraint{,NoException}, Solver here to the abstract
822 interface, also the prototypes for the PrintTo and << on the
825 * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Solve(), not
826 solve(), move some protos in abstract base class ClSolver.
828 * c++/ClLinearInequality.h: Use ClCnRelation, not
829 ClInequalityOperator.
831 * c++/ClFDVariable.h, c++/ClFDVariable.cc: More accessors,
832 settors, comment-out non-initial-domain ctr.
834 * c++/ClFDTests.cc: Test more.
836 * c++/ClFDSolver.h, c++/ClFDSolver.cc: Almost complete, but
837 largely untested implementation.
839 * c++/ClFDBinaryOneWayConstraint.h: Added ctrs, setters, getters.
841 * c++/ClErrors.h: Fixed throw message for ExCLConstraintNotFound
842 to not refer to the tableau.
844 * c++/ClConstraint.h: Added ClCnRelation (was ClInequalityOperator
845 in c++/ClLinearInequality.h) and wrote StrCnRelation for printing
848 * c++/Cl.h: include ClFDSolver.h
850 * c++/Cassowary.h : include values.h, def FDN_NOTSET (FIXME: drop this?)
852 Sun Apr 25 18:55:26 1999 Greg J Badros <gjb@cs.washington.edu>
854 * c++/Makefile.am: Added ClFDBinaryOneWayConstraint.h,
855 ClFDConstraint.h to pkginclude_HEADERS.
857 * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Added optional
858 strength argument to AddPointStays, AddPointStay fns.
860 * c++/ClFDVariable.h: Set _plfdnInitialDomain to avoid a warning
863 * c++/ClFDBinaryOneWayConstraint.h: Added return xo to PrintOn.
865 * c++/ClConstraint.h: Fix order of initializers.
867 * c++/ClC.h, c++/ClC.cc: Document return value for
868 CL_VarMapDelete, and do proper return.
870 * configure.in: Added --enable-cflags, --enable-cxxflags,
871 --enable-cppextraflags. Not tested yet.
873 Sun Apr 25 11:46:28 1999 Greg J Badros <gjb@cs.washington.edu>
875 * configure.in: Bump version to .50, for FD features.
877 Sun Apr 25 11:37:52 1999 Greg J Badros <gjb@cs.washington.edu>
879 * c++/Makefile.am: Comment out the Bug sources/builds, add the FD
882 * c++/ClSimplexSolver.h: Inherit from ClSolver, too. Move SetPv,
883 Pv() out into ClSolver base class.
885 * c++/ClSimplexSolver.cc, c++/Cl.h: Make szCassowaryVersion a const char *.
887 * c++/ClReadery.y, c++/ClReader.l, c++/ClReader.h: Support "?"
888 read-only annotations, and use Constraint::AddROVars() to track
889 the ro vars of a constraint expression.
891 * c++/ClParseTest.cc: Show whether the constraint is added
892 successfully or if it is inconsistent.
894 * c++/ClLinearConstraint.h: Fix BUG-- super should be
895 ClConstraint, not ClLinearConstraint.
897 * c++/ClFDVariable.cc: Use <, > to delimit FD vars, not [, ].
899 * c++/ClConstraint.h, c++/ClConstraint.cc: Added AddROVars,
900 FIsReadOnlyVar, ReadOnlyVars.
902 Thu Apr 22 20:18:31 1999 Greg J Badros <gjb@cs.washington.edu>
904 * c++/ClVariable.h: Added ClVariable ctr that takes a
905 ClFDVariable*, this ambiguates returning NULL as a ClVariable, so
906 may not be a good idea, but it does make it less confusing than
907 having another overloaded version of ClVariable's ctr. Added
908 IsFloatVariable, IsFDVariable fwding fns.
910 * c++/ClSimplexSolver.cc: Disambiguate uses of NULL to be
911 (ClFloatVariable *)NULL.
913 * c++/ClFloatVariable.h: Added IsFloatVariable() to return true
915 * c++/ClC.h, c++/ClC.cc: Added CL_ClvLookupTrim for removing ws
918 * c++/ClAbstractVariable.h: Make IsPivotable, IsRestricted both
919 assert false instead of being pure virtual -- they only need to be
920 overridden if we want to permit them to be called. Added
921 IsFloatVariable(), IsFDVariable() both returning false in this
924 * c++/Cassowary.h: Added FDNumber typedef to be a long.
926 * c++/Makefile.am: Added ClFDVariable.{cc,h}
928 * c++/ClFDVariable.cc, c++/ClFDVariable.h: Added, copied from
929 ClFloatVariable and modified slightly.
931 Tue Apr 20 10:18:32 1999 Greg J Badros <gjb@cs.washington.edu>
933 * smalltalk/README: Note that smalltalk implementation is now in
936 * README: Update to version 0.43, note about smalltalk
937 implementation being in public domain.
939 * LICENSE: Note about not applying to smalltalk implementation
941 * ANNOUNCE: Update date to today.
943 * *: Changed copyright to be "Greg J. Badros and Alan Borning"
944 instead of "Alan Borning and Greg J. Badros". Okayed by Alan --
945 to hopefully encourage more people to write me with their
946 questions/problems rather than Alan.
948 Mon Apr 19 13:45:35 1999 Greg J Badros <gjb@cs.washington.edu>
950 * cassowary.spec: Added --with-guile-prefix
952 Mon Apr 19 13:02:46 1999 Greg J Badros <gjb@cs.washington.edu>
954 * c++/ClReader.l: Be a bit more careful about end of string
955 handling in YY_INPUT-- only return result = 1 if we read a
956 non-null character. Call yy_flush_buffer() before throw-ing an
957 error, so that we start anew the next time we are asked to return
958 tokens for the parser.
960 * c++/ClC.h, c++/ClC.cc: Added CL_SimplexSolverAddStay. (Fix typo
963 Fri Apr 16 16:36:24 1999 Greg J Badros <gjb@cs.washington.edu>
965 * c++/ClTests.cc, c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc, : Use "RemoveConstraintNoException", not
966 "removeConstraintNoException" (fix initial caps.)
968 * c++/ClReader.y: Start looking for a constraint, turn on verbose
969 warnings and DEBUG option (still need to set cldebug = 1 in
972 * c++/ClReader.h: In operator() for the lookup proc, Return
973 &clvNil() if _pmapVars is still NULL
975 * c++/ClC.h, c++/ClC.cc: Added CL_VariableName(..), CL_VarMapDelete(..),
976 CL_RemoveConstraint(..)
979 Wed Apr 14 16:56:05 1999 Greg J Badros <gjb@cs.washington.edu>
981 * configure.in: Bump to .43.
983 * c++/ClC.cc (CL_VarMapDelete, CL_VariableName): Added new functions.
985 * cassowary.spec: Added, for building rpms
987 * c++/gdbinit-cassowary: Added a bunch of guile debugging macros.
989 * c++/Makefile.am: Added ClC.cc to libcassowary_a_SOURCES
991 * c++/ClReader.y: Turn off parser debugging messages by default
993 * c++/ClC.h, c++/ClC.cc: Added CL_ConstraintPrint, CL_FIsSatisfied
996 Wed Mar 31 17:23:18 1999 Greg J Badros <gjb@cs.washington.edu>
998 * wrappers/Makefile.in: Rename PYTHON_HEADERS to PYTHON_HEADER_DIR
999 so it does not get treated specially by automake (?).
1001 * configure.in: Bump to .42. Added --disable-cpp-build,
1002 --disable-java-build, and disable Python/Guile builds
1003 automatically if directories cannot be found. Drop the
1004 cassowary from c++/cassowary/config.h -- just use c++/config.h
1006 * autogen.sh: do not fail if config.status is not -x.
1008 * Makefile.am: Honour the HAVE_foo flags so that not all subdirs
1011 Mon Mar 29 21:01:21 1999 Greg J Badros <gjb@cs.washington.edu>
1013 * ltconfig, ltmain.sh: Added -- so libtool isn't broken in
1016 Mon Mar 29 20:59:17 1999 Greg J Badros <gjb@cs.washington.edu>
1018 * configure.in: Try to undo a bash-ism. Untested on a vendor sh,
1019 but still works with bash.
1021 Sat Mar 20 19:19:37 1999 Greg J Badros <gjb@cs.washington.edu>
1025 Sat Mar 20 19:19:13 1999 Greg J Badros <gjb@cs.washington.edu>
1027 * Added config.sub and config.guess to the repo -- they were
1028 symlinks before which broke the distribution.
1030 Thu Mar 18 15:20:51 1999 Greg J Badros <gjb@cs.washington.edu>
1034 Thu Mar 18 14:44:39 1999 Greg J Badros <gjb@cs.washington.edu>
1036 * configure.in: Do not let config-inline.h get overwritten if it
1037 is unchanged. Add some extra messages to tell status of
1040 Thu Mar 18 12:59:02 1999 Greg J Badros <gjb@cs.washington.edu>
1042 * README, configure.in, wrappers/Makefile.in: Added
1043 --with-python-headers configure option.
1045 Thu Mar 18 12:48:55 1999 Greg J Badros <gjb@cs.washington.edu>
1047 * README: Added notes about what to do when a subdir build fails,
1048 suggest -k by default.
1050 * guile/Makefile.am (test): Added this target for easier way to
1053 * guile/README: Updated with notes about how to run cltests.scm.
1055 * java/Makefile.in: Fix tests build rule.
1057 Thu Mar 18 11:42:49 1999 Greg J Badros <gjb@cs.washington.edu>
1059 * configure.in: Create config-inline.h at end of script.
1061 * c++/Makefile.am: Do not have rule for building config-inline.h;
1062 let configure script do that.
1064 Thu Mar 18 11:05:27 1999 Greg J Badros <gjb@cs.washington.edu>
1066 * c++/*.h: Use #include config-inline.h incantation so that header
1067 files don't include config.h (since they may be included by
1068 another package that has its own config.h)
1070 * c++/*.cc: Use #include config.h as these are build-time-only
1071 used and can thus rely on the full configure details.
1073 Thu Mar 18 10:57:08 1999 Greg J Badros <gjb@cs.washington.edu>
1075 * guile/cassowary_scm.hpp: Use #include config-inline.h
1078 * guile/cassowary_scm.h: Drop including config.h; it's not
1081 * guile/cassowary_scm.cc: Use cassowary/config.h, not config.h
1083 Thu Mar 18 10:29:40 1999 Greg J Badros <gjb@cs.washington.edu>
1085 * c++/Makefile.am: Install config-inline.h, not config.h, and
1086 build config-inline.h by grepping for #define CL_ in config.h.
1087 This works around the problem caused by Scwm including Cassowary
1088 header files which then included cassowary's config.h and
1089 conflicted with Scwm's config.h.
1091 Thu Mar 18 10:11:40 1999 Greg J Badros <gjb@cs.washington.edu>
1093 * c++/test-*.cc: Only #include "Cl.h"
1095 Thu Mar 18 09:50:45 1999 Greg J Badros <gjb@cs.washington.edu>
1097 * wrappers/Makefile.in (clean): use rm -f so we don't get a
1098 warning if file is missing.
1100 Thu Mar 18 09:49:35 1999 Greg J Badros <gjb@cs.washington.edu>
1102 * java/Makefile.in: Use JAVA_CLASS_PATH configure variable. Fix
1103 install target to echo a message about the install happening
1106 Wed Mar 17 18:54:16 1999 Greg J Badros <gjb@cs.washington.edu>
1108 * c++/Makefile.am: Use libtool, and added lib_LTLIBRARIES. Put
1109 benchmarks, bugs, and test programs all under $libdir/cassowary.
1110 Drop cassoincludedir, as that's just pkginclude, and use
1111 include_HEADERS for Cl.h and ClC.h, the main top-level includes.
1112 Also install config.h.
1114 * c++/Cassowary.h: #undef PACKAGE, VERSION before #including
1115 cassowary/config.h as a cheezy workaround. (Switched from "" to
1116 <>, and ../ to cassowary/ also).
1118 Wed Mar 17 18:50:49 1999 Greg J Badros <gjb@cs.washington.edu>
1120 * configure.in: Put config.h in c++/cassowary so cassowary must do
1121 #include <cassowary/config.h> so there is no filename conflict
1122 with other packages including cassowary header files (e.g.,
1123 Scwm). Added AM_PROG_LIBTOOL call. Set GUILE variables outside
1124 of the guile-prefix ACE_ARG_PATH macro, and set GUILE_PKGDATA_DIR
1125 use guile-config to find out where we should install the .so file.
1127 Wed Mar 17 18:43:08 1999 Greg J Badros <gjb@cs.washington.edu>
1129 * guile/Makefile.am: Updated to build using libtool, and to
1130 install header files. Changes name to libconstraints.* so that
1131 the guile module name (cassowary constraints) works out, and set
1132 it to install in the right place.
1134 Wed Mar 17 18:39:13 1999 Greg J Badros <gjb@cs.washington.edu>
1136 * guile/cltests.scm: Added #! lines, change name of module to
1137 (cassowary constraints), remove redundant `use-modules' call.
1139 * guile/cassowary_scm.hpp: #include
1140 cassowary/ClLinearExpression_fwd.h, not ClLinearExpression_fwd.h
1142 * guile/cassowary_scm.cc: Change name of module to (cassowary
1143 constraints). Make the init_cassowary_scm fn static.
1145 Wed Mar 17 07:39:10 1999 Greg J Badros <gjb@cs.washington.edu>
1147 * c++/Cassowary.h, c++/ClSimplexSolver.cc: Switch back to
1148 including config.h (now ../config.h) from Cassowary.h, instead of
1149 from ClSimplexSolver.cc.
1151 Tue Mar 16 19:56:02 1999 Greg J Badros <gjb@cs.washington.edu>
1153 * acconfig.h: Fix missing comment closer */
1155 * c++/Makefile.am: Added AM_CPPFLAGS = $(CPPEXTRAFLAGS)
1157 * configure.in: Use config.h, not c++/config.h, and permit
1158 --enable-warnings option to turn on compile-time warnings (uses
1159 AM_CPPFLAGS in Makefile.am)
1161 Tue Mar 16 19:26:23 1999 Greg J Badros <gjb@cs.washington.edu>
1163 * configure.in, acconfig.h: Better autoconf support, including
1164 several --enable options. Added acconfig.h to support autoheader
1165 doing the right thing in making config.h.in.
1167 Tue Mar 16 19:22:50 1999 Greg J Badros <gjb@cs.washington.edu>
1169 * c++/ClSimplexSolver.cc, c++/Cassowary.h: Include "config.h" from
1170 here, not from Cassowary.h (still not right-- problem is scwm gets
1171 the wrong config.h. Maybe config.h should be in ..?
1173 Tue Mar 16 19:21:06 1999 Greg J Badros <gjb@cs.washington.edu>
1175 * java/README: Added note about common error when CLASSPATH is wrong.
1177 Tue Mar 16 15:51:15 1999 Greg J Badros <gjb@cs.washington.edu>
1179 * c++/Cassowary.h: #include "config.h"
1181 * c++/ClSimplexSolver.cc: Use VERSION to init szCassowaryVersion.
1183 Tue Mar 16 12:44:33 1999 Greg J Badros <gjb@cs.washington.edu>
1185 * c++/**: Updated function names to always start with an uppercase
1186 letter (follows C++ conventions, and brings API of Cassowary and
1187 QOCA closer together). Used scripts/convert-ids to do the
1188 conversion, along with scripts/ids-to-upper as the list of
1191 Wed Mar 10 15:28:33 1999 Greg J Badros <gjb@cs.washington.edu>
1195 Wed Mar 10 11:36:37 1999 Greg J Badros <gjb@cs.washington.edu>
1197 * **/Makefile: Removed, since these are now generated by
1198 autoconf from Makefile.in (which itself is generated by
1199 automake from Makefile.am [only for some directories])
1203 * c++/ClBug2.cc: Added to demonstrate a bug that Anthony Beuriv�
1206 * c++/ClSimplexSolver.cc: Fix above-mentioned bug by changing the
1207 coefficient of the added in removeConstraintInternal.
1209 * c++/ClReader.l: Reset the lexer on failed id lookup.
1211 * c++/ClC.cc, c++/ClC.h: Added VarMap access functionality, make
1212 CL_ParseConstraint catch exceptions and return NULL on error
1215 * c++/config.h.in, c++/stamp-h.in: Added, for automake/autoconf
1218 * c++/Makefile.am: Improve installation support, updated for
1221 * guile/Makefile.am: Build .x using guile-snarf
1223 * c++/Makefile.linux: Updated for ClBug2
1225 * c++/demos/DraggableBox.h: Do not return references to
1226 ClVariable-s -- just return by value since they are a handle
1229 * guile/Makefile.am: changed name of library to
1230 libcassowaryguile.a from libconstraints.a
1232 * java/CL.h: Added a String description argument to assert() to
1233 permit easier tracking of failures.
1235 * java/ClSimplexSolver.java: Fix bug that Emmanuel Pietriga
1236 reported -- use peek() to get at top element of _stkCedns stack
1237 when removing edit variables in removeEditVarsTo(). Added
1238 descriptions to assert()s and to throwing of ExCLInternalError.
1239 Have the addBounds, addUpperBound, addLowerBound functions
1240 propagate out ExCLInternalError-s instead of catching them and
1241 printing an error message. Added messages to all assertions.
1243 * java/ClLinearExpression.java: Added description to throwing of
1246 * java/ClLinearInequality.java: Added description to throwing of
1249 * java/ExCLInternalError.java: Require description of the error in
1252 * java/QuadDemo.java: Use System.err when printing errors, and
1253 print the description of the exception.
1255 * smalltalk/ClKernel.app: Fix bug with not using the weight of a
1256 constraint as the negating coefficient when removing a constraint.
1258 Mon Mar 8 16:40:17 1999 Greg J Badros <gjb@cs.washington.edu>
1260 * Added autoconf and partial automake support. Added numerous
1261 Makefile.am's, renamed old Makefiles to Makefile.linux (and copied
1262 to Makefile.in when I did not write a Makefile.am). Added
1265 * guile/cassowary_scm.cc: Use ClReader.h, not creader.h (I renamed
1268 Fri Mar 5 16:24:05 1999 Greg J Badros <gjb@cs.washington.edu>
1270 * c++/Makefile, c++/Cl.h: Fix for renaming of creader.* ->
1271 ClReader.*; make C libraries as part of lib, shared_lib rules.
1273 * c++/ClReader.*: Added, renamed from creader.h, creader.y,
1276 * c++/ClTableau.h, c++/ClTableau.cc: Added
1277 printExternalVariablesTo() fn.
1279 * c++/ClSimplexSolver.cc: printExternalVariablesTo in
1282 * c++/ClParseTest.cc: DO not include ClReader.h-- Cl.h includes it
1284 * c++/ClCTest.c: Make more like a browser-related test, use new
1285 CL_TableauPrintExternalVariables()
1287 * c++/ClC.h, ClC.cc: Added CL_Tableau,
1288 CL_TableauPrintExternalVariables. Use "ends" to terminate
1289 strstreams. Make Strong Stays use medium strength stays. Make
1290 CL_ParseConstraint call ClsFromSz instead of parsing the char *
1293 Thu Mar 4 19:08:23 1999 Greg J Badros <gjb@cs.washington.edu>
1295 * c++/ClVariable.h: Add assert(pclv) before dereferencing through
1296 ClVariable's pclv member.
1298 * c++/Makefile: Added DYNLINK = yes/no variable for controlling
1299 dynamic linking more easily.
1301 * c++/ClSimplexSolver.h: Changed PfnChangeClvCallback to take a
1302 ClVariable * instead of a ClVariable. This make it easier for the
1303 C interface since it has "CLV" as a "ClVariable *" and cannot
1304 reason about ClVariable-s because it doesn't see the struct defn.
1306 * c++/ClC.cc, c++/ClC.h: Added CL_SimplexSolverSetEditedValue,
1307 CL_SimplexSolverPrint, CL_SimplexSolverSetChangeClvCallback,
1308 CL_VariableSetPv, CL_VariablePv.
1310 * c++/ClCTest.cc: Test CL_SimplexSolverSetEditedValue, CL_SimplexSolverPrint.
1312 Wed Mar 3 17:37:17 1999 Greg J Badros <gjb@cs.washington.edu>
1314 * c++/ClSimplexSolver.h (UpdateExternalVariables): Added this
1315 function to provide a publicly available way to get at setExternalVariables()
1317 * c++/ClCTest.c, c++/ClC.h, c++/ClC.cc: Added for the beginnings
1318 of a rudimentary C interface to the c++ library.
1320 * c++/Makefile: Updated to build ClCTest, libccassowary.so (the C
1321 interface to Cassowary [for Amaya, initially])
1323 Mon Mar 1 Greg J Badros <gjb@cs.washington.edu>
1327 Mon Mar 1 15:11:52 1999 Greg J Badros <gjb@cs.washington.edu>
1329 * c++/ClVariable.h: Added explict copy ctr.
1331 * c++/ClEditConstraint.h, c++/ClStayConstraint.h: Changed output
1332 format so parentheses started by super:: call to ClConstraint.h
1333 are closed properly.
1335 * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Undo removing a
1336 pass by reference of ClVariable when used as an output argument.
1337 Added printing for ClEditInfo class instancesm,
1340 Mon Mar 1 13:46:48 1999 Greg J Badros <gjb@cs.washington.edu>
1342 * README: Updated for version 0.31.
1344 * c++/Makefile: Added QocaBench.o to TEST_OBJS, comment out
1345 CL_USE_HASH_MAP_AND_SET by default.
1347 * c++/ClTestColumns.cc: Allocate constraint objects on heap, not
1348 as temporaries on local stack
1350 * c++/ClStayConstraint.h, c++/ClSimplexSolver.h,
1351 c++/ClSimplexSolver.cc, c++/ClPoint.h, c++/ClLinearInequality.h,
1352 c++/ClEditOrStayConstraint.h, c++/ClEditConstraint.h: Pass and
1353 return ClVariable-s by value, not by reference. (Fixes bug in
1354 QocaBench from re-use of a ClVariable object with the underlying
1357 * c++/Cl.h: include creader.h
1359 * c++/README: Fix spelling of deprecated, URL for WxWindows.
1361 * c++/test-ClConstraint.cc: Comment out unused variables
1363 Mon Mar 1 12:53:02 1999 Greg J Badros <gjb@cs.washington.edu>
1365 * c++/qdemos/QuadDemoWindow.cc: Allocate constraint objects on
1366 heap, not as temporaries on local stack.
1368 Fri Feb 26 09:16:31 1999 Greg J Badros <gjb@cs.washington.edu>
1370 * wrappers/cassowary.i: Use .c_str() off of exception descriptions
1371 to get the char * (description() now returns a string)
1373 Fri Feb 26 09:11:17 1999 Greg J Badros <gjb@cs.washington.edu>
1375 * c++/ClConstraint.h: Added FIsInSolver()
1377 * guile/cassowary_scm.cc: Wrap cl-constraint-is-in-solver?
1379 Thu Feb 25 18:58:55 1999 Greg J Badros <gjb@cs.washington.edu>
1381 * guile/cltests.scm: Added (use-modules..) invocation to get the
1382 dynamically-loaded module so that it can be tested outside of
1383 scwm. Updated to reflect changed behaviour in cl-add-stay. Added
1384 some test code for make-cl-constraint-from-string.
1386 * guile/cassowary_scm.hpp: Added ScmMakeClConstraint(..) to
1387 abstract out setting "answer" for the (now) two ClConstraint ctrs.
1389 * guile/cassowary_scm.cc: Added make-cl-constraint-from-string for
1390 interfacing to the parser. Wrap
1391 cl-constraint-change-{strength,weight}!. Make dynamically loadable
1392 module! Fix BUG: was returning SCM_UNDEFINED instead of
1395 * guile/Makefile: Build libconstraints.so, and necessary directory
1396 structure if neeeded.
1399 Thu Feb 25 18:41:34 1999 Greg J Badros <gjb@cs.washington.edu>
1401 * c++/ClSimplexSolver.h, c++/ClSimplexSolver.cc: Make constraints
1402 get told when they're added/removed from a solver. This means
1403 that constraints are no longer const params to add/remove
1404 Constraint functions, and also that removeConstraint needs an
1405 internal version that doesn't do the counting (since
1406 removeConstraint can get called from addConstraint to clean up
1407 after a failed addition).
1409 * c++/ClSimplexSolver.cc: Clean up uses of ClConstraint &cn --
1410 prefer ClConstraint *pcn even internally.
1412 * c++/ClConstraint.h: Added ChangeStrength(..), ChangeWeight(..)
1413 and _times_added memvar along w/ private (for friend
1414 ClSimplexSolver) addedTo(..) and removedFrom(..) functions. Only
1415 permit strength/weight changing if constraint is in no solvers
1418 * c++/ClConstraint.cc: Output _times_added memvar in printOn(...)
1420 Thu Feb 25 15:58:27 1999 Greg J Badros <gjb@cs.washington.edu>
1422 * c++/ClErrors.h: Added parse error classes, and have description
1423 return a "string" instead of a "char *"
1425 * c++/creader.y: Use exception ExCLParseErrorMisc in clerror, Use
1426 ClVarLookupFunction instead of mapVars and fAutoCreate
1428 * c++/creader.l: Use ClVarLookupFunction instead of doing it
1429 inline with mapVars and fAutoCreate; throw exceptions on errors.
1431 * c++/creader.h: Added ClVarLookupFunction and ClVarLookupInMap
1432 and use them when parsing.
1434 * c++/Makefile: Added some dependencies for proper building of
1437 * c++/ClSimplexSolver.cc: Descend VarInVarSet from
1438 unary_function<..,..>
1440 * c++/ClParseTest.cc: Catch parse errors and display the message.
1441 Use ClVarLookupInMap class
1443 Thu Feb 25 12:09:48 1999 Greg J Badros <gjb@cs.washington.edu>
1445 * c++/ClSimplexSolver.cc: Simplify removeConstraint to not use
1448 * c++/ClSimplexSolver.h: Updated a comment
1450 * c++/ClTests.cc: Use addEditVar, beginEdit, and endEdit, instead
1451 of building EditConstraints directly.
1453 Tue Feb 23 18:48:21 1999 Greg J Badros <gjb@cs.washington.edu>
1455 * c++/creader.y, c++/creader.h: Remove old crummy lexer. Added
1456 fAutoCreate flag to PcnParseConstraint to allow parsing with
1457 automatic introduction of newly-referenced variables.
1459 * c++/creader.l: Fixed bugs in missing tokens "|", "(", ")", and
1460 permit "==" as a synonym for "=". Honour the _fAutoCreate flag by
1461 introducing variables when needed.
1463 * c++/ClTests.cc: Display version id string at startup.
1465 * c++/ClSimplexSolver.cc, c++/Cl.h: Added szCassowaryVersion id
1468 * c++/ClParseTest.cc: Test auto-addition of variable (fAutoCreate
1471 Tue Feb 23 18:12:23 1999 Greg J Badros <gjb@cs.washington.edu>
1473 * c++/Makefile: Build libcassowary.{a,so} by default, not
1474 libcassowary-notrace.{a,so}. Remove special rule for building
1475 ClParseTest; list creader-lex.o, creader.o in OBJS and have them
1476 be a part of the library.
1478 * c++/ClVariable.h, c++/ClVariable.cc: Rename pmapSzPclv to
1479 pmapStrPclv. Make it a map from "const string" not "string".
1480 Make setName erase the old mapping, and add the new mapping.
1482 * c++/ClParseTest.cc: Accept "-" option to mean "rename x to foo"
1483 for testing the setName change above.
1485 * c++/ClFloatVariable.cc: Do not output warning msg in setName --
1486 instead, do the right thing in ClVariable.h
1488 Tue Feb 23 08:55:28 1999 Greg J Badros <gjb@cs.washington.edu>
1490 * c++/Makefile: Fix build rules for bison/flex parser so
1491 dependencies are correct. Added new targets, all-notests,
1492 all-tests, make 'lib' the default target, and all really build
1495 * c++/creader.h, c++/creader.l, c++/creader.y: Take address of
1496 ClVariable-s from the map's values (cannot use ClVariable in the
1497 union directly because union members cannot have constructors).
1498 #include ClVariable.h instead of fwd decl of ClVariable so that we
1499 get the StringToVarMap typedef, too.
1501 Mon Feb 22 16:33:16 1999 Greg J Badros <gjb@cs.washington.edu>
1503 * c++/Makefile: Use CL_LIBRARY, not LIB_FILE, throughout. Use
1504 flags for maximum performance.
1506 * c++/ClVariable.h, c++/ClConstraintHash.h, c++/Cassowary.h:
1507 Divide pointer address by CL_PTR_HASH_DIVISOR in hash functions
1509 * c++/ClTests.cc: Added CL_SHOW_CNS_IN_BENCHMARK guard protecting
1510 new displaying of constraints and listing of inconsistent constraints.
1512 Mon Feb 22 12:18:53 1999 Greg J Badros <gjb@cs.washington.edu>
1514 * c++/ClTests.cc (inconsistent3): Drop extra redundant
1515 inconsistency for pedagogical reasons. Use simpler pointer-based
1516 addConstraint in benchmark test
1518 * c++/ClSimplexSolver.h: Added addConstraintNoException,
1519 removeConstraintNoException taking ClConstraint &'s -- deprecated.
1520 Added CL_NO_DEPRECATED guard for turning off availability of
1521 deprecated functions.
1523 Mon Feb 22 11:12:35 1999 Greg J Badros <gjb@cs.washington.edu>
1525 * c++/ClSimplexSolver.h: Added deprecated
1526 FIsConstraintSatisfied(Constraint &)
1528 * guile/cassowary_scm.cc: Use ClConstraintToVarMap for return
1529 value of ConstraintMap(). Pass Constraint *'s instead of &'s.
1530 Use new name printOnVerbose instead of printDebugInfo.
1532 Fri Feb 19 Greg J Badros <gjb@cs.washington.edu>
1536 Fri Feb 19 18:00:49 1999 Greg J Badros <gjb@cs.washington.edu>
1538 * c++/ClTests.cc: Updated to fix below interface.
1540 * c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: make
1541 addConstraint, addConstraintNoException, removeConstraint,
1542 removeConstraintNoException take ClConstraint *'s instead of
1543 ClConstraint &'s. Clarifies the mental model, and simplifies the
1544 syntax. Old style is still accepted, but is deprecated.
1546 Fri Feb 19 17:41:45 1999 Greg J Badros <gjb@cs.washington.edu>
1548 * c++/ClFloatVariable.cc, c++/ClFloatVariable.h: Added -- moved
1549 here from ClVariable.h, and renamed from class ClVariableRep since
1550 they not what ClVariable wraps (ClVariable wraps
1553 * c++/ClAbstractVariable.h: Fatten interface to include set_value,
1554 change_value, setPv, and Pv.
1556 * c++/ClVariable.h, c++/ClVariable.cc: Move ClVariableRep into
1557 ClFloatVariable.{h,cc}, and use pclv-> for
1558 set_value, change_value, SetPv, and Pv since ClAbstractVariable
1559 now has a fat interface and we do not need to do the dynamic
1562 * c++/Makefile: Added new files to build rules.
1564 Fri Feb 19 17:08:29 1999 Greg J Badros <gjb@cs.washington.edu>
1566 * c++/debug.h, c++/ClTableau.h: Move operator<< out into ClTableau.h
1568 * c++/ClVariable.h, c++/ClVariable.cc: Move some inline functions
1569 into .cc so that the hash function can go in the .h file (some stl
1570 dependency issue, it seems).
1572 * c++/ClErrors.h, c++/ClTypedefs.h: Move typedef for
1573 ClConstraintSet from ClErrors.h into ClTypedefs.h, and have former
1576 * c++/Cassowary.h: #include ClConstraintHash.h
1578 * c++/ClConstraintHash.h: Added. The hash function needs to
1579 appear before any typedef that uses a hash_map or hash_set, so
1580 this file is included by Cassowary.h
1582 Fri Feb 19 08:45:24 1999 Greg J Badros <gjb@cs.washington.edu>
1584 * c++/ClSubgraphTest.cc: Fix some bugs just from not testing
1587 * c++/*: Fix bugs from not-updated-code hidden by #ifdefs. Builds
1588 w/ all compile-options except -DCL_USE_HASH_MAP_AND_SET. Drop
1589 some gratuitous appearances of ClAbstractVariable
1591 Thu Feb 18 18:53:56 1999 Greg J Badros <gjb@cs.washington.edu>
1593 * c++/ClLinearExpression.cc: Use clvNill when returning a
1594 ClVariable instead of NULL
1596 * c++/ClVariable.h, c++/ClVariable.cc: operators ==, !=, < all should use the
1597 contained pointers address, not value. Also define global clvNil,
1600 * c++/ClTests.cc: BUGFIX: #if 0 removed from adding stays in
1603 * c++/ClSimplexSolver.h: Use ClVariable-s internally for
1604 ClObjectiveVariable-s.
1606 * c++/ClSimplexSolver.cc: Use ClVariable-s internally for
1607 ClObjectiveVariable-s and replace ClAbstractVariable
1608 *p{entryVar,exitVar} with ClVariable-s. (Use clvNil and isNil()
1609 to test for not yet set).
1611 Thu Feb 18 Greg J Badros <gjb@cs.washington.edu>
1613 * c++/*: First compilable and almost working version with
1614 ClVariable as a handle to ClVariableRep. Major simplifications
1617 Thu Feb 18 14:22:14 1999 Greg J Badros <gjb@cs.washington.edu>
1619 * c++/Makefile: Split out the options into += lists so they can be
1620 flipped independently more easily.
1622 * c++/ClSimplexSolver.cc, c++/ClSimplexSolver.h: Added output
1623 operation for ClConstraintToVarSetMap; use fFoundErrorVar flag to
1624 simplify some redundant tests in removeConstraint -- no longer use
1627 * c++/CLVariable.h: Fix a comment's example.
1629 * c++/ClTypedefs.h: Use set always for ClTableauVarSet (Steve
1630 Wolfman notes that it's faster as a set than as a hash_set).
1632 * c++/debug.h: Add CtrTracer, DtrTracer fns that do nothing when
1635 * c++/ClConstraint.h: Invoke CtrTracer, DtrTracer in ctr, dtr for
1636 finding memory problem
1638 * c++/ClTests.cc: Fix some long-time bugs in the use of ctrs that
1639 build temporary objects whose lifetime was expected to be longer
1642 * c++/*: Invert sense of CL_NO_TRACE to CL_TRACE
1644 Wed Feb 17 12:10:28 1999 Greg J Badros <gjb@cs.washington.edu>
1646 * c++/ClTypedefs.h: Added -- factored out useful typedefs from
1647 ClSimplexSolver.h, ClTableau.h and put them in this file.
1649 * c++/ClTableau.h, c++/ClSimplexSolver.h, c++/debug.h: Use
1650 ClTypedefs.h. Drop gdb_print (it uses printOn and printTo, now).
1651 Renamed printDebugInfo to printOnVerbose (for generalized gdb
1654 * c++/ClSimplexSolver.cc: Fix two bugs where I was modifying data
1655 structures indirectly while iterating over them. Remove a delete
1656 that was premature to fix another bug in optimized builds.
1658 * c++/ClLinearExpression.h, c++/ClConstraint.h,
1659 c++/ClAbstractVariable.h: Drop gdb_print().
1661 * c++/ClSymbolicWeight.h: Use Number instead of double more consistently.
1663 Tue Feb 16 15:04:06 1999 Greg J Badros <gjb@cs.washington.edu>
1665 * c++/Cassowary.h,ClAbstractVariable.h,ClMap.h,ClSet.h,Makefile: Use
1666 CL_USE_HASH_MAP_AND_SET, not USE_HASH_MAP_AND_SET.
1668 * c++/Cl.h: #undef CL_TRACE_VERBOSE ifdef CL_NO_IO
1670 Tue Feb 16 14:55:12 1999 Greg J Badros <gjb@cs.washington.edu>
1672 * java/ClVariable.java: Add setVarMap(..), getVarMap() for
1673 maintaining symbol table of ClVariables. Added
1674 setAttachedObject(..), getAttachedObject() for hanging something
1677 * java/ClConstraint.java: Added setAttachedObject(..),
1678 getAttachedObject() for hanging something off of a constraint.
1680 * java/ClTests.java: Added inconsistent3() and multiedit() tests
1682 * java/ClSimplexSolver.java: Manage multiple (nested) edits
1683 properly. Provide access to the _markerVars var through
1684 getConstraintMap() accessor. Deprecate resolve(Vector) fn.
1686 Tue Feb 16 14:29:46 1999 Greg J Badros <gjb@cs.washington.edu>
1688 * README: Updated reference to swig web site.
1690 Tue Feb 16 12:45:04 1999 Greg J Badros <gjb@cs.washington.edu>
1692 * java/ClSimplexSolver.java, java/ClEditInfo.java, java/Makefile:
1693 Fixed Michael Kaufmann's bug. (See Feb 15 note for C++ version
1696 * java/*.java: Updated copyright to include 1999.
1698 Tue Feb 16 10:51:01 1999 Greg J Badros <gjb@cs.washington.edu>
1700 * c++/*: Added CL_FIND_LEAK guard and ctr/ctr counters for
1701 tracking various variable kinds.
1703 Mon Feb 15 18:38:06 1999 Greg J Badros <gjb@cs.washington.edu>
1705 * c++/ClAbstractVariable.{cc,h}, ClSlackVariable.{cc,h},
1706 ClDummyVariable.{cc,h}: Add counters to ctr/dtr for leakage detection.
1708 * c++/ClSimplexSolver.{cc,h}: Replace ClConstraintAndIndex with
1709 ClEditInfo, and remove ugliness of parallel vectors for edit
1710 constraints. Drop _editPlusErrorVars, _editMinusErrorVars,
1711 _prevEditConstants, and bundle them all up in the value end of the
1712 map attached to _editVarMap. This fixes a bug reported in the
1713 Java version by Michael Kaufmann long ago, and generally cleans
1714 code up a bit. The resolve(vector<Number>) function is
1715 deprecated, and now implemented in terms of the indices stored in
1716 the new ClEditInfo class.
1718 * c++/*: Updated copyright to include 1999.
1720 1999-02-15 Greg J Badros <gjb@cs.washington.edu>
1722 * c++/ClVariable.{cc,h}, c++/ClAbstractVariable.h: Added
1723 SetVarMap(..), VarMap(), and make variables given names get their
1724 names mapped to the objects in the var map (for access when
1725 parsing constraints as strings). Make setName() virtual so
1726 ClVariable can override it.
1728 1999-02-12 Greg J Badros <gjb@cs.washington.edu>
1730 * c++/creader.{y,h}: New version from Steve Wolfman, slightly
1731 updated for cleaner integration. Pass in a map<string,ClVariable
1732 *> instead of an array of ClVariable; improve error handling a
1735 * c++/debug.h: Use ClMap, ClSet
1737 * c++/{ClMap.h,ClSet.h}: Added, for optionally using hash_map,
1738 hash_set instead of map, set.
1740 * c++/ClSimplexSolver.{cc,h}: Added Steve Wolfman's explanation
1741 support (added back map for marker->constraint, _fExplainFailure
1742 var + getter & settor). Use ClMap, ClSet. Cleaned up some cerr
1743 output, and use DEBUG_FAILURES cpp symbol to guard some output.
1745 * c++/Cassowary.h: Added operator() for hash<..> to support
1746 hashing things used as keys in hash_map/hash_set
1748 * c++/ClErrors.h: Added ExCLRequiredFailureWithExplanation class
1749 for explanation support.
1751 * c++/{ClLinearExpression.h,ClTableau.h}: Use ClMap, not map. Use
1754 * c++/ClSymbolicWeight.h: Return a symbolic weight even when
1755 assert(false) to avoid compiler warning.
1757 1999-02-11 Greg J Badros <gjb@cs.washington.edu>
1759 * guile/cassowary_scm.cc: Use cl-snarf.h, not scwm-snarf.h. Use
1760 CL_PROC to denote primitives, not SCWM_PROC. Use
1761 CL_VAR_INIT_PERMANENT macro for variables, and document them (the
1762 strength objects only, for now). Fix the default strength of
1763 cl-add-editvar to Strong, not Weak, and update docs (was cut&paste
1764 error from the cl-add-stay primitive). Thanks Anthony Beuriv� for
1765 noticing this bug, too!
1767 Sat Jan 30 Greg Badros <gjb@cs.washington.edu>
1771 Sat Jan 30 13:16:31 1999 Greg Badros <gjb@cs.washington.edu>
1773 * c++/ClSimplexSolver.cc: Fixed bug in removing a stay
1774 constraint. Was editing a vector in place while iterating over
1775 it. Now I use remove_if and erase. Thanks to Anthony Beuriv� for
1778 * c++/ClBug1.cc: Added -- bug report from Anthony Beuriv�.
1780 Sat Jan 23 Greg Badros <gjb@cs.washington.edu>
1784 Sat Jan 23 16:46:27 1999 Greg Badros <gjb@cs.washington.edu>
1786 * guile/cassowary_scm.cc: Replace iarg uses with literal argument
1787 index numbers. Use const_cast to avoid warnings when calling
1788 ScmMakeClStrength on clsWeak,clsMedium,clsStrong,clsRequired objects
1790 Sat Jan 23 15:30:16 1999 Greg Badros <gjb@cs.washington.edu>
1792 * c++/ClSimplexSolver.cc: Added some comments, some explanations
1793 when exceptions are thrown, and some minor cleanups, bug-fixes
1795 * c++/ClTests.cc: Added inconsistent3() test, and run it.
1797 * c++/ClStrength.h: Added _pv memvar, and setPv(), Pv() -- needed
1798 for tracking ClStrengths in guile
1800 * guile/cassowary_scm.cc: Replace all iarg uses with the literal
1801 number. Point ClStrength objects at their scheme-level object
1802 using their new _pv field. Protect ClStrength objects properly.
1804 Sat Sep 19 17:08:21 1998 Greg Badros <gjb@cs.washington.edu>
1806 * c++/Makefile (CPPFLAGS): Added USE_GC, commented out, and added
1807 OTHER_LIBS variable for linking with the gc library
1809 Sat Sep 19 17:01:16 1998 Greg Badros <gjb@cs.washington.edu>
1811 * c++/ClTableau.h: Added AssertValid() for testing integrity of
1814 * c++/ClSymbolicWeight.h, c++/ClStrength.h, c++/ClSlackVariable.h,
1815 c++/ClLinearExpression.h, c++/ClErrors.h, c++/ClDummyVariable.h,
1816 c++/ClConstraint.h, c++/ClAbstractVariable.h: Descend objects
1817 from "gc" class conditioned on USE_GC* pp macros
1819 * c++/Cassowary.h: Conditionally include gc_cpp.h ifdef USE_GC;
1820 added NEWVAR and DELVAR macros for outputting debug information at
1823 * c++/ClSimplexSolver.h: Call AssertValid before solving
1825 * c++/ClSimplexSolver.cc: Remove memory leak of the artificial
1828 * c++/ClLinearExpression.h: Fix gdb_print to have a newline
1830 * c++/ClLeakTest: Added leakTest2 which more obviously leaks, and
1831 use GC_gcollect() to force a collect
1833 Tue Sep 15 16:36:20 1998 Greg Badros <gjb@cs.washington.edu>
1835 * c++/ClTableau.h, ClTableau.cc: Handle removing vars from _columns more
1836 carefully, and add gdb_print(), virtual destructor
1838 * c++/ClLinearExpression.h, c++/ClConstraint.h,
1839 c++/ClAbstractVariable.h: Added gdb_print()
1841 Tue Sep 14 Greg Badros <gjb@cs.washington.edu>
1845 Wed Sep 9 09:46:35 1998 Greg Badros <gjb@cs.washington.edu>
1847 * c++/ClLinearExpression.h, c++/ClLinearExpression.cc: added uses
1848 of 'typename' keyword as needed by egcs-1.1b's -pedantic (and the
1851 Sun Sep 6 13:19:01 1998 Greg Badros <gjb@cs.washington.edu>
1853 * c++/ClSimplexSolver.h: Added _pv field, and Pv() setPv() getter
1856 * guile/cassowary_scm.cc: Use solver's _pv field to point
1857 ClSimplexSolver back at the scheme object that wraps it
1859 Fri Sep 4 18:52:50 1998 Greg Badros <gjb@cs.washington.edu>
1861 * guile/cassowary_scm.hpp, guile/cassowary_scm.cc: Added PvFromScm
1862 and ScmFromPv to hide the reinterpret casts used to store a scheme
1863 object as the void * Pv() attached to a cassowary object. Attach
1864 the scheme-level cl-variable to a ClVariable object. Added
1865 `clv-attach!' and `clv-attached-object' to manipulate the attached
1866 object (often better to use scheme level properties, though)
1868 Fri Sep 4 18:51:30 1998 Greg Badros <gjb@cs.washington.edu>
1870 * guile/Makefile: Use "perl" from path to run extract docs instead
1871 of relying on #! line, and generate the -procedures.txt file as
1872 well as the .sgml file
1874 Wed Sep 2 17:08:14 1998 Greg Badros <gjb@cs.washington.edu>
1876 * guile/cassowary_scm.cc, guile/cassowary_scm.hpp: Added
1877 ClStayConstraint wrapper. Make cl-add-stay, cl-add-editvar take a
1878 list of variables instead of a varargs last argument and instead
1879 add two optional arguments STRENGTH and FACTOR (thus those
1880 primitives remain backward compatible as long as only one variable
1883 Wed Sep 2 13:55:37 1998 Greg Badros <gjb@cs.washington.edu>
1885 * ClSimplexSolver.h: Added weight option to addEditVar and use it
1887 * ClLinearExpression.h: Added PconstClAbstractVariable, use it;
1888 use ClVarToCoeffMap in coefficientFor.
1890 Thu Aug 6 20:56:45 1998 Greg Badros <gjb@cs.washington.edu>
1894 Thu Aug 6 20:41:40 1998 Greg Badros <gjb@cs.washington.edu>
1896 * ClTests.cc: Added multiedit() test for testing nested
1899 * ClSimplexSolver.h, ClSimplexSolver.cc: Support nested
1900 beginEdit-s -- use removeEditVarsTo(n), and rewrite
1901 removeAllEditVars in terms of the former; Use FIsSatisfied on
1902 constraint and compare with testing internally for
1903 FIsConstraintSatisfied() -- untested.
1905 * ClLinearInequality.h, ClLinearEquation.h, ClConstraint.h: Added
1906 virtual FIsSatisfied
1908 * ClLinearExpression.h, ClLinearExpression.cc: Added evaluate()
1910 * ClAbstractVariable.h: Return 0 for value(), and make it a
1913 Wed Aug 5 16:10:56 1998 Greg Badros <gjb@cs.washington.edu>
1915 * ClStrength.h: Have ClStrength::symbolicWeight return a const
1916 ref, instead of by value, make clsXXX const refs.
1918 * ClSimplexSolver.cc, ClLinearInequality.cc, ClLinearEquation.cc,
1919 ClLinearConstraint.cc: Take ClStrengths by const refs
1921 Tue Aug 4 15:22:08 1998 Greg Badros <gjb@cs.washington.edu>
1923 * guile/cassowary_scm.cc, cassowary_scm.hpp: Move all inline
1924 functions into .hpp file. Added cl-is-constraint-satisfied?
1926 * ClTableau.h: Added a rowExpression() const memfn, for
1927 FIsConstraintSatisfied()
1929 * ClSimplexSolver.h, ClSimplexSolver.cc: Added (probably broken)
1930 FIsConstraintSatisfied(cn) memfn -- needs testing
1932 Sun Aug 2 16:49:34 1998 Greg Badros <gjb@cs.washington.edu>
1934 * ClSimplexSolver.h: Added ConstraintMap() accessor to
1935 _markerVars, for cl-constraint-list guile primitive
1937 * ClConstraint.h: Added setPv(), Pv(), and _pv field to a
1938 constraint, for attaching extra information.
1940 Thu Jul 30 19:15:40 1998 Greg Badros <gjb@cs.washington.edu>
1942 * ClTests.cc: Added simple2, to test new EditMisuse exception on
1943 editing a variable that is nowhere in the solver.
1945 * ClTableau.h, ClTableau.cc: Be more careful about inserting into
1946 _externalParametricVars; add FIsBasicVar to assist that care.
1948 * ClSimplexSolver.cc, ClSimplexSolver.h: Added pfnCnSatCallback --
1949 does nothing for now; throw an ExCLEditMisuse exception if an
1950 edit constraint is added on a variable that is not in the tableau
1951 (needs at least a stay constraint in the solver); replace some
1952 calls to rowExpression with FIsBasicVar when the latter is the
1955 Thu Jul 21 Greg Badros <gjb@cs.washington.edu>
1957 * ClVariable.h, ClVariable.cc: Added _pv field, settor and gettor.
1960 ABOVE CHANGES ONLY IN C++ IMPLEMENTATION AND ITS WRAPPERS
1962 Fri Jul 17 19:24:54 1998 Greg Badros <gjb@cs.washington.edu>
1964 * ClVariable.h, .java: Added change_value memfn, and make it virtual
1965 instead of setValue -- thus subclasses can specialize behaviour
1966 when the variable gets set by the solver.
1968 * ClSimplexSolver.h, .java: Use change_value for setEditedValue if
1969 the variable is not in the tableau; call resolve() before
1970 removeAllEditVars in endEdit
1972 * ClSimplexSolver.cc, .java (setExternalVariables): Use change_value
1973 instead of set_value when so subclasses can override and notice a
1976 Thu Jul 16 19:49:45 1998 Greg Badros <gjb@cs.washington.edu>
1978 * Added setEditedValue(), FContainsVariable(), and addVar() to c++
1979 and Java implementations
1981 * Fixed bug in C++ and Java in solvers lacking stay constraints
1982 that was due to not-updating the external parametric variables
1985 Fri Jul 10 09:00:15 1998 Greg Badros <gjb@cs.washington.edu>
1987 * Fixed bug whereby a dummy variable was being pivoted into the
1988 basis because pexpr->anyVariable() didn't guarantee the variable
1989 it returned was a pivotable variable -- now it's called
1990 anyPivotableVariable(), and does the right thing.
1992 * Fixed bug whereby column mappings that had no rows remained in
1993 the list of columns -- now erase the column key when its value is
1996 * Fixed bug whereby constraints that threw required failure
1997 exceptions remained in the tableau (a removeConstraint on a
1998 constraint that failed to be added used to succeed, now it does
2001 Monday Jun 29 16:50:00 1998 Greg Badros <gjb@cs.washington.edu>
2003 * Release Cassowary v0.1 --- see local/POST-ANNOUNCE-TO for
2004 list of places where it was announced