--- /dev/null	
+++ scsolver/ChangeLog	
@@ -0,0 +1,545 @@
+2006-08-19  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* prj/build.lst: 
+	* util/makefile.mk: added tool subdirectory.
+
+	* source/inc/tool/timer.hxx:
+	* source/tool/timer.cxx: Timer class added.
+
+	* source/inc/basedlg.hxx:
+	* source/ui/basedlg.cxx (addCheckBox): added.
+
+	* source/inc/baselistener.hxx:
+	* source/ui/baselistener.cxx: modified ActionObject and ActionListener to 
+	eliminate slicing problem in derived classes.
+
+	* source/inc/listener.hxx:
+	* source/ui/listener.cxx: fixed unused parameter warnings and added listener
+	to the Option button.
+
+	* source/numeric/lpsolve.cxx:
+	* source/inc/numeric/lpbase.hxx:
+	* source/numeric/lpbase.cxx:
+	* source/inc/numeric/exception.hxx:
+	* source/numeric/exception.cxx: moved exception classes from lpbase.?xx 
+	into their own source files.
+
+	* source/inc/option.hxx:
+	* source/ui/option.cxx: added model type option.
+
+	* source/inc/optiondlg.hxx:
+	* source/ui/optiondlg.cxx: added check box for model type option.
+
+	* source/numeric/makefile.mk: whitespace -> tab for indenting.
+
+	* source/numeric/nlpqnewton.cxx: set the maximum iteration value and the
+	maximum duration to prevent infinite loops (values hard-coded for now).
+
+	* source/ui/scsolver.hrc:
+	* source/ui/scsolver.src: added more strings for error message dialogs.
+
+	* source/ui/solvemodel.cxx (solve): use the option setting to differentiate
+	LP-solving from NLP-solving.
+
+2006-08-03  Tor Lillqvist  <tml@novell.com>
+
+	* source/inc/solvemodel.hxx
+	* source/inc/unohelper.hxx
+	* source/ui/unohelper.cxx: Remove extra CRs.
+
+2006-08-02  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/nlpqnewton.cxx: slightly more code cleanup.
+
+2006-08-02  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/nlpqnewton.cxx: moved method definitions into class declaration,
+	plus some code cleanup.
+
+2006-08-02  Tor Lillqvist  <tml@novell.com>
+
+	* source/numeric/makefile.mk
+	* source/service/makefile.mk
+	* source/ui/makefile.mk
+	* util/makefile.mk: Set EXTERNAL_WARNINGS_NOT_ERRORS to TRUE.
+
+2006-08-01  Tor Lillqvist  <tml@novell.com>
+
+	* source/numeric/diff.cxx (Tm): Remove unused variable.
+
+2006-07-30  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* docs/class_diagram.odg: modified to reflect latest codebase.
+
+	* idl/org/openoffice/sc/solver/makefile.mk: added.
+
+	* source/inc/lpbuilder.hxx: header cleanup.
+
+	* source/inc/nlpbuilder.hxx:
+	* source/numeric/nlpbuilder.cxx: added.
+
+	* source/inc/solvemodel.hxx (SolveModel): edited javadoc comment.
+
+	* source/inc/numeric/cellfuncobj.hxx:
+	* source/numeric/cellfunc.obj.cxx: added.
+
+	* source/inc/numeric/funcobj.hxx (BaseFuncObj): edited javadoc comment.
+
+	* source/inc/numeric/nlpbase.hxx:
+	* source/inc/numeric/nlpbase.cxx: header cleanup & moved implementation
+	into its own class.
+
+	* source/inc/numeric/nlpmodel.hxx:
+	* source/numeric/nlpmodel.cxx:
+	* source/numeric/nlpqnewton.cxx (pushVar, getVars): renamed.
+
+	* source/numeric/makefile.mk: removed diff_test.obj and added cellfunc.obj.
+
+	* source/numeric/nlp_test.cxx: removed.
+
+	* source/ui/makefile.mk: spaces -> tabs.
+
+	* source/ui/solvemodel.cxx: added hook for solving NLP models & made inline
+	some method definitions of implementation class.
+
+	* workben/Makefile: modified to make compilation of nlptest easier.
+
+	* workben/nlptest.cxx: added.
+
+2006-07-26  Tor Lillqvist  <tml@novell.com>
+
+	* prj/d.lst: DLLs are in bin, not lib.
+
+2006-07-10  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/option.hxx,
+	* source/inc/optiondlg.hxx,
+	* source/ui/option.cxx,
+	* source/ui/optiondlg.cxx: added.
+
+	* source/inc/basedlg.hxx: modified javadoc comments.
+
+	* source/inc/baselistener.hxx,
+	* source/ui/baselistener.cxx (ActionObject, ActionListener): modified
+	for general purpose use.
+
+	* source/inc/dialog.hxx,
+	* source/ui/dialog.cxx (SolverDialog): bits for OptionDialog added.
+
+	* source/inc/listener.hxx,
+	* source/ui/listener.cxx (OptionBtnListener): added.  some code cleanup.
+
+	* source/inc/solver.hxx,
+	* source/service/service.cxx: pointer to OptionData added.
+
+	* source/numeric/lpsolve.cxx: added stuff for positive variable setting.
+    
+	* source/ui/makefile.mk: new object files added.
+	* source/ui/solvemodel.cxx: query the options settings and set the positive
+	non-positive constraint to the model.
+
+2006-07-01  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/unoglobal.hxx,
+	* source/ui/unoglobal.cxx (RuntimeError): refactored.
+
+	* source/numeric/makefile.mk: removed lpsimplex.obj.
+
+	* source/ui/scsolver.hrc,
+	* source/ui/scsolver.src: added a new string, and fixed
+	a typo.
+
+	* source/ui/solvemodel.cxx (CellGemometriesDiffer): removed.
+
+2006-06-24  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/solver.hxx,
+	* source/service/service.cxx,
+	* source/inc/basedlg.hxx,
+	* source/ui/basedlg.cxx: changed return type of getResMgr(), and added 
+	getResStr() method for easy retrieval of localized string.
+
+	* source/ui/dialog.cxx,
+	* source/ui/scsolver.hrc,
+	* source/ui/scsolver.src: localized dialog strings.
+
+2006-06-20  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/xcalc.hxx,
+	* source/ui/xcalc.cxx (disableCellUpdates, enableCellUpdates): added.
+
+	* source/service/service.cxx (solveModel): removed unused using statement.
+
+	* source/ui/solvemodel.cxx (parseConstraints, lcl_isNumeric): disabling and
+	enabling of cell updates before and after the model transform.  Slightly better
+	way of detecting a numerical String whose value is 0.
+
+2006-06-15  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* prj/build.lst: added missing dependencies to fix build failure.
+
+	* prj/d.lst: fixed typos that prevented resource files from being delivered.
+
+	* source/inc/lpbuilder.hxx:
+	* source/ui/lpbuilder.cxx (ConstraintAddress): encapsulated data members, and
+	added some new members to handle a numerical RHS value directly given in the
+	constraint dialog, instead of requiring it to be always a cell address.
+
+	* source/inc/unoglobal.hxx (getMessage): removed virtual keyword.
+
+	* source/service/service.cxx (solve): added try-catch block to prevent unlikely
+	crash.
+
+	* source/ui/solvemodel.cxx: made CellGeometriesDiffer exception class localizable.
+	properly handle cases where the RHS value is numerical.
+
+2006-06-13  Michael Meeks  <michael.meeks@novell.com>
+
+	* source/inc/unoglobal.hxx: define ascii_i18n to
+	help markup.
+
+	* source/service/service.cxx (setLocale, getLocale),
+	* source/inc/solver.hxx: impl. XLocalizable
+
+	* source/service/service.cxx (initLocale, getResMgr): impl.
+
+2006-06-14  Kohei Yoshida  <kohei.yoshida@gmail.com>
+	
+	* source/inc/unoglobal.hxx:
+	* source/ui/unoglobal.cxx: added localizable RuntimError class.
+
+	* source/inc/numeric/lpmodel.hxx:
+	* source/numeric/lpmodel.cxx: added two new methods that return the number of 
+	constraints and decision variables, respectively.  Renamed getEqualityByRowId
+	to getEquality for ease of typing.
+
+	* source/numeric/lpsimplex.cxx:
+	* source/numeric/lpuno.cxx: affected by renaming of lp::Modell::getEquality().
+
+	* source/numeric/lpsolve.cxx: implemented solve().
+
+	* source/ui/lpbuilder.cxx: disabled stripping of zero constraint rows and 
+	columns, since they seem to do more harm than good.
+
+	* source/ui/solvemodel.cxx: switched to LpSolve as the default LP optimizer.
+
+	* util/makefile.mk: added linker flag for linking to lpsolve.
+
+	* workben/addon_pkg/Makefile_build: modified compiler flags, and changed 
+	location of liblpsolve55.a.
+
+2006-06-06  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* docs/README.txt: removed old content, added directions for building separate
+	UNO packages.
+
+	* source/numeric/lpuno.cxx (UnoAlgorithmImpl::solve): added catch block to
+	catch potential RuntimeException coming from UNO algorithm component.
+
+	* workben/external/lpsolve_uno/lpsolve_uno.cxx (LpSolveImpl::solve): fixed
+	mis-calculation of model geometry, added exception throwing blocks when 
+	a vector is accessed out-of-range (hopefully never happens again), and when
+	a solution is not found.
+
+2006-05-30  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/lpsolve.hxx
+	* source/numeric/lpsolve.cxx: added new files for lp_solve front-end.
+
+	* source/inc/xcalc.hxx: edited comment for class CalcInterface.
+
+	* source/inc/numeric/lpuno.hxx
+	* source/numeric/lpuno.cxx: added implementation.  These files are only used 
+	for the separate scsolver UNO package for the time being.
+
+	* source/numeric/makefile.mk: added entry for lpsolve.obj and removed lpuno.obj.
+
+	* source/ui/solvemodel.cxx: made inclusion of lpuno.hxx header conditional.
+	Added getLpAlgorithm() method.
+
+	* workben/*_test.cxx: modified test cases.
+
+	* workben/addon_pkg/Makefile_build: added IDL files and changed var names.
+
+2006-05-25  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/lpuno.hxx:
+	* source/numeric/lpuno.cxx: added new files for external UNO algorithm(s).
+
+	* source/inc/numeric/lpmodel.hxx:
+	* source/numeric/lpmodel.cxx: 
+	* source/numeric/lpsimplex.cxx: solve(), getSolution() and setSolution removed
+	from the model class.  So, instead of the model class taking an algorithm object 
+	to find a solution, we now set the model object to the algorithm object, then 
+	have the algorithm object find a solution.  It's simpler this way, and is 
+	consistent with the way the UNO models work.
+
+	* source/ui/solvemodel.cxx: altered code due to the above change.
+	
+2006-05-22  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* idl/org/openoffice/sc/solver/XLpAlgorithm.idl: added getVar(s) methods.
+
+	* workben/external/lpsolve_uno/lpsolve_uno.?xx: added new variable to hold
+	decision variables locally, added getVar & getVars methods.
+
+2006-05-21  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* idl/org/openoffice/sc/solver/Equality.idl: removed '_THAN_' from two enum 
+	elements to make them shorter (and easider to type).
+
+	* idl/org/openoffice/sc/solver/XLpAlgorithm.idl: removed run().
+
+	* idl/org/openoffice/sc/solver/XLpModel.idl: added set/getEquality methods.
+
+	* workben/external/lpsolve_uno/Makefile: renamed TestModel -> LpModel.
+
+	* workben/external/lpsolve_uno/lpsolve_uno.?xx: added code to map model's 
+	properties passed via UNO to lp_solve's.  Removed demo() and run();
+
+	* workben/external/lpsolve_uno/testmodel.?xx: renamed to lpmodel_uno.?xx.
+	
+	* workben/external/lpsolve_uno/TestModel.idl: renamed to LpModel.idl.
+
+2006-05-17  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/solver.hxx: changed the service name of the main Solver component to 
+	match the rest of the entities under org.openoffice.sc.solver module namespace.
+	
+	* source/ui/dialog.cxx: (finally) disabled the Options button for now.
+	
+	* workben/external/lpsolve_uno/*: added LpSolve.idl, TestModel.idl, demo.cxx,
+	testmodel.?xx, and removed XLpAlgorithm.idl.  The TestModel service is used only 
+	to test lp_solve connectivity via UNO framework.
+	
+	* workben/external/lpsolve_uno/Makefile: quite a bit of reorganization.
+	
+	* workben/external/lpsolve_uno/lpsolve_uno.?xx: added new methods and a structure
+	to hold private data members.
+	
+	* idl/org/openoffice/sc/solver/*.idl: added new IDL files (Bound.idl, Equality.idl,
+        Goal.idl, XLpAlgorithm.idl and XLpModel.idl).
+
+2006-05-05  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* workben/external/lpsolve_uno/*: initial upload of source files for exporting
+	lp_solve library as UNO service.  Note that the source files of lp_solve library
+	are not included.
+
+2006-04-27  Michael Meeks  <michael.meeks@novell.com>
+
+	* source/ui/scsolver.hrc, source/ui/scsolver.src: add
+	dummy strings for translation.
+	
+	* prj/d.lst, source/ui/makefile.mk, util/makefile.mk:
+	compile & install resource file.
+
+2006-04-23  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/lpbase.hxx,
+	* source/numeric/lpbase.cxx: split the BaseAlgorithm class into envelope
+	and implementation classes, added getCanonicalModel and setCanonicalSolution
+	to encapsulate removal of constant equivalent variables.
+
+	* source/inc/numeric/lpmodel.hxx,
+	* source/numeric/lpmodel.cxx: switched from map to vector for storing variable
+	ranges, and made necesssary changes due to this switch.  Consolidated delete*
+	methods into single deleteVariables() method.
+
+	* source/inc/numeric/lpsimplex.hxx,
+	* source/numeric/lpsimplex.cxx: added throw() to destructors.  Made changes
+	to use the *Canonical* methods of BaseAlgorithm.  Removed old code.
+
+	* source/numeric/matrix.cxx: removed unused local variable.
+
+2006-04-04  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/lpsimplex.cxx (queryEnteringNBVar): Added new code to 
+	check for constant equivalent boundary condition, without which we may
+	reach an "optimum" solution only to realize that that solution is not
+	really feasible.  Also did some trivial code cleanup.
+
+	* source/numeric/lpsimplex.cxx (buildInitialVars): Switched to using a
+	temporary model instead of an original one.  The temporary model has
+	additional constraints for slack variables which the original model
+	lacks.
+
+2006-04-03  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/global.hxx (toVector): new function added.
+
+	* source/inc/numeric/lpmodel.hxx
+	* source/numeric/lpmodel.cxx: changed argument types of several variable
+	boundary related functions from unsigned long to size_t.
+
+	* source/inc/numeric/type.hxx: added javadoc comments to 2 enums.
+
+	* source/numeric/lpsimplex.cxx: removed unused header include.  Did a
+	major rewrite of the initial solution search algorithm for bounded
+	revised simplex method (BoundedRevisedSimplexImpl).  Extracted iteration
+	variable initialization part into its own method to make it easier to
+	follow.
+
+2006-03-26  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/lpsimplex.cxx: worked on fixing initial solution 
+	search algorithm, and did some code cleanup.  Moved two structs inside
+	BoundedRevisedSimplexImpl class since they are only used in that class.
+
+2006-03-16  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/lpmodel.hxx
+	* source/numeric/lpmodel.cxx: added a bunch of new methods to 
+	lp::Model to deal with manipulation of temporary model object during
+	solver run.
+
+	* source/numeric/lpsimplex.cxx: added pre- and post-run process
+	routines to reduce the size of temporary model object in order to 
+	improve the chance of finding a solution.  Not sure whether this is
+	truly effective.
+
+	* workben/Makefile
+	* workben/addon_pkg/Makefile_build: changed CPP to CXX.
+
+	* workben/simplex_test.cxx: modified test case.
+
+2006-02-16  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/lpsimplex.cxx: fixed incorrect way to access element
+	in the first column of RHS matrix.  This error caused the two-phase 
+	search to go into an infinite loop.
+
+2006-02-15  Tor Lillqvist  <tml@novell.com>
+
+	Enable building of scsolver with MSVC7.1:
+	
+	* source/inc/baselistener.hxx: Include cppu/macros.hxx to get
+	SAL_CALL definition.
+
+	* source/inc/baselistener.hxx
+	* source/inc/listener.hxx: Add SAL_CALL to those methods which
+	override methods that have the SAL_CALL decoration.
+
+	* source/numeric/matrix.cxx: No #warning in MSVC. Use #warning
+	only with gcc.
+
+	* source/numeric/nlpqnewton.cxx: Use ::sqrt() instead of
+	std::sqrt() with MSVC, where std::sqrt() causes compilation errors
+	related to the complex sqrt() functions in STL.
+
+2006-02-13  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/lpsimplex.hxx:
+	* source/numeric/lpsimplex.cxx: added a new method to disable
+	two-phase intial search to prevent nested infinite two-phase
+	search loop.
+
+	* workben/simplex_test.cxx: minor tweak.
+
+	* workben/addon_pkg/Makefile_build: changed variable names.
+
+
+2006-02-09  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/inc/numeric/type.hxx: added descriptions for
+	Equality enum.
+
+	* source/numeric/lpmodel.cxx: added function comment for
+	Model::getCostVector().
+
+	* source/numeric/lpsimplex.cxx: modified to use temporary
+	model object instead of the original one.  Also added new
+	function (convertVarRange) to convert variable ranges into 
+	constraint matrix so that the algirithm can make use of 
+	the variable ranges which were previously just ignored
+	(note: this function is not totally done yet!)
+
+
+2006-01-30  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/*_test.cxx: moved to workben.
+
+	* source/numeric/makefile.mk: declaration of TESTFILES
+	removed.
+	
+	* source/inc/numeric/lpmodel.hxx:
+	* source/numeric/lpmodel.cxx: added setCostVector() method
+	for settings multiple cost variables all at once.
+
+	* workben/*_test.cxx: moved from source/numeric.
+
+	* workben/Makefile: initial version added.
+	
+	* workben/addon_pkg/Makefile: removed unused DFLAG 
+	variable.  Removed the copy source tree bit as it was
+	suboptimal.
+	
+	* workben/addon_pkg/Makefile_build: modified BASEDIR to
+	point to the original source directory.
+	
+	* workben/matrix_test.cxx: replaced setValue() calls
+	with operator().
+	
+	* workben/simplex_test.cxx: worked on making a yet unsolvable
+	linear model from Ludovic.
+
+
+2006-01-28  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* workben/addon_pkg: added new directory and files
+	underneath it for building a separate scsolver package.
+
+
+2006-01-16  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* matrix.[ch]xx: added new method resize() to resize
+	matrix without boost's resize call.  boost 1.30.2 doesn't 
+	preserve element values when resizing.
+	
+	* lpbuilder.[ch]xx: added new method to set initial 
+	constraint matrix size.
+	
+	* source/ui/solvemodel.cxx: call to set initial 
+	constraint matrix size.
+	
+	* source/ui/xcalc.cxx (getCellRangeAddress): set #ifdef
+	DEBUG block.
+
+
+2006-01-13  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/matrix.cxx: reimplemented boost's
+	string::replace_first() function with std::string
+	methods only.
+
+
+2006-01-11  Kohei Yoshida  <kohei.yoshida@gmail.com>
+
+	* source/numeric/*.cxx: replaced all occurrences of
+	matrix's get/setValue calls with operator().
+
+	* source/inc/matrix.hxx: removed get/setValue public 
+	methods due to redundancy.
+	
+	* source/numeric/matrix.cxx: fixed return type of 
+	MatrixImpl::getValue() to avoid returning reference
+	to temporary.
+
+
+2006-01-09  Michael Meeks  <michael.meeks@novell.com>
+
+	* source/service/*.xcu: remove - obsolete.
+
+	* source/ui/solver.cxx: remove, now
+	source/service/service.cxx.
+
+	* source/numeric/matrix.cxx: re-work boost / stl bits
+	a little.
+
+	* */makefile.mk: add build bits.
+
+	* *.cxx: s/assert/OSL_ASSERT/g
+
+	* service.cxx: switch to XExecutableDialog instead of
+	more complex custom XSolver interface.
+
