Commit Graph

58 Commits

Author SHA1 Message Date
Ingo Weinhold
225b638263 Support building most system libraries for secondary arch
Also adjust the HaikuImageGet[Private]SystemLibs rules to support to
return the library targets matching the current architecture.
2013-08-06 00:45:22 +02:00
Alex Smith
11c9f9a1d6 Merge branch 'master' into x86_64
Conflicts:
	build/jam/FloppyBootImage
	build/jam/OptionalBuildFeatures
	build/jam/OptionalPackages
	headers/private/shared/cpu_type.h
	src/bin/ps.c
	src/bin/sysinfo.cpp
	src/kits/tracker/PoseView.cpp
	src/preferences/appearance/DecorSettingsView.cpp
	src/preferences/virtualmemory/Settings.cpp
	src/servers/input/AddOnManager.cpp
	src/servers/input/InputServer.cpp
	src/servers/input/InputServerMethod.cpp
	src/system/boot/Jamfile
	src/system/boot/platform/raspberrypi_arm/mmu.cpp
	src/system/boot/platform/u-boot/arch/arm/Jamfile
	src/system/kernel/arch/x86/arch_cpu.cpp
	src/system/kernel/arch/x86/arch_thread.cpp
	src/system/kernel/cache/block_cache.cpp
	src/system/kernel/vm/VMAnonymousCache.cpp
2012-11-18 14:02:07 +00:00
czeidler
225446ac99 Check if constraint is NULL. 2012-09-01 16:31:17 +12:00
czeidler
82fbed2596 Move the soft inequalities directly into the solver.
- Clean up.
2012-09-01 16:31:17 +12:00
czeidler
3a7067dc19 Improve ToString output. 2012-09-01 16:31:16 +12:00
czeidler
18e5da6297 Remove unused variable and add copy constructor. 2012-09-01 16:31:14 +12:00
czeidler
cf5eb5dda1 Add a LinearSpec listener interface. 2012-09-01 16:31:14 +12:00
czeidler
08927d809f Make it possible to create a constraint that is not connected to a solver.
- Clean up.
2012-09-01 16:31:13 +12:00
Alex Smith
3fed1a15f5 Get app_server working on x86_64.
With this commit, app_server now compiles and runs at boot! Nothing
particularly interesting happens, just the blue background and a mouse
pointer. Remote backends are broken and not compiled in, see #8834.
Note that it won't be possible to build this quite yet, need to get
the FreeType package uploaded.
2012-08-05 08:46:30 +01:00
Alex Wilson
c8b24e3eb5 Fix BALMLayout archiving issues.
SharedSolver was archiving too many constraints, partly because of
multiple typos, also because it archived some which were just artifacts
of the layout process. These extra constraints are created when the
layout calls SetRange() on the left/top/right/bottom tabs during layout.

* LinearSpec/ActiveSetSolver had to be adjusted to get access to the
  constraints added by the SetRange() calls.
* BALM::TabBase was adjusted to avoid a segfault during unarchiving,
  caused by an unitialized member.
* ALMFriendLayoutTest was adjusted to include a more obvious custom
  constraint for testing.
2012-05-03 08:45:44 +12:00
Alex Wilson
bad1d6ba7e Make Variable::SetRange() more forgiving. 2012-05-03 08:45:35 +12:00
Alex Wilson
0a408e4992 Make it possible to have a Variable not belonging to any LinearSpec. 2012-05-03 08:45:27 +12:00
czeidler
15ef732f0d Check first if we own the constraint before deleting it. 2012-05-03 08:45:23 +12:00
Alex Wilson
fbd2dfcf17 Refactor ActiveSetSolver::Find{Min|Max}s(). 2012-05-03 08:45:13 +12:00
Alex Wilson
419fe0b8ae Introduce SharedSolver class to improve BALMLayout's friend feature. 2012-05-03 08:45:02 +12:00
Alex Wilson
51b5b66b01 Remove lp_solve as a dependency of the linprog lib.
Really, it hasn't depended on lp_solve for a while, but it was still
linked in in some places.
2012-05-03 08:44:48 +12:00
Alex Wilson
57d93f836d Disable debug output by default in linprog. 2012-05-03 08:44:44 +12:00
czeidler
99a7ed4d4b Remove lp_solve from the source and from the image.
Its not used anymore and should be an optional package otherwise.
2012-04-30 14:58:14 +12:00
czeidler
e4ff57c33f Use correct ALM variable index.
There is list of all variables and a list of variables used by contraints. When editing the min, max variable constraints access the
correct list.
2012-01-19 09:31:48 +13:00
czeidler
85f746c030 Don't read beyond the matrix boundaries. This should fix #8244.
* Use std methods when possible.
2011-12-21 17:44:23 +13:00
czeidler
056207eedd Cleanup the constraint solver a bit and fix a bug when a variable is removed. 2011-11-30 18:22:39 +13:00
Axel Dörfler
f74afb8218 * This makes our app_server test_environment work again under Haiku.
* A small quiz for our build system gurus: if I just add libbe_test to
  liblinprog.a, I can't build the normal app_server anymore (only in the test
  environment). Why is that? And who's going to fix it? :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-30 00:00:56 +00:00
Clemens Zeidler
1245d875a3 Search for the correct constraint when removing an inequality constraint. This finally deletes the slack variable and the helper constraint.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-14 07:13:35 +00:00
Clemens Zeidler
c9ef74ccd2 Update all optimized variables. Most off the time it went fine because the initial solution was already optimal. This fixes #7193.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42262 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-20 07:12:52 +00:00
Clemens Zeidler
6c7a658d1c Add support for soft inequality constraints for quadratic solvers. A slack variable is used in a normal hard inequality and the slack variable is minimized with a high penalty. In this way the constraint is only violated when necessary. Some smaller clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42225 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-18 01:26:31 +00:00
Clemens Zeidler
94eb1edee7 - Polish ToString version of Constraint a bit.
- Check the left side of a Constraint for Summands with same Variables and merge them. This fix some issues in the quadratic solver.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42219 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-17 04:26:09 +00:00
Clemens Zeidler
ef93b55df4 - Areas with same tabs are put in a column/row automtically. Move preferred size constraint from Area to the column/row. This avoids a "spring" effect of the
quadratic solver if multiple Areas are in the same column/row.
- Replace GetString by ToString.
- some clean up



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40941 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-14 00:24:12 +00:00
Clemens Zeidler
66c782cdc0 Soft constraints can now be weighted.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40940 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-03-14 00:17:30 +00:00
Clemens Zeidler
3d25371741 Don't copy the constraint list, just use a pointer to the list.
There was a strange crash under gcc4. After some searching I found out that there is some clash with namespaces.
After removing the namespaces it works again. Could somebody explain what went wrong there?



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 09:07:26 +00:00
Clemens Zeidler
8286779101 Make kp_solve interface work again.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-08 09:01:11 +00:00
Clemens Zeidler
d339d2ae8f Don't add soft constraints to the active constraints. Fix some smaller stuff.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40339 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-02-01 03:25:48 +00:00
Clemens Zeidler
a0ad88e002 Fix min/ max calculation by removing all soft constraints before doing so. Smaller fixes.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40297 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-26 22:06:02 +00:00
Clemens Zeidler
7583db5a1e Add an alternative solver to lp_solve. The solver based on Ingo's active set solver but is able to handle arbitrary hard and soft constraints. The advantage to lp_solve is that the active set solver can optimize variable in respect to a quadratic objective function. This makes it possible to minimise the quadratic derivation to a desired value e.g. \Sum_i(x_i - x_{i,pref})^2 -> min.
The solver part has been refactored in this way that both solver can be used with the same layout specifications. The active set solver is default now; the performance is not as good as lp_solve, though.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-01-25 04:59:40 +00:00
Clemens Zeidler
f108cdbfab Merge all linear programming types in one file an rename them.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39832 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 19:23:33 +00:00
Clemens Zeidler
5440f6fee3 Refactor the linear programming class to use a minimal solver interface class and implement the interface for lp_solve. As a result lp_solve is not visible to the outside any more. This interface could be used to use other solvers as well. Rename operator constants to no clash with lp_solve constants.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39829 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-12-13 18:41:58 +00:00
Clemens Zeidler
067f47a3ee Move lp_solve dependency completely into LinearSpec. Clean up and some more memory allocation checks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39681 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-30 02:08:10 +00:00
Clemens Zeidler
e7de22dcff fUsingSummands was never used so remove it.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39679 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-29 21:08:26 +00:00
Clemens Zeidler
59c3263165 Replace new by new(std::nothrow).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39678 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-29 20:46:40 +00:00
Clemens Zeidler
5cfaa5ee78 Some clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39643 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-11-26 04:23:52 +00:00
Clemens Zeidler
c2f0a314a0 Rename ReplaceObjectiveFunction to SwapObjectiveFunction I think this makes it more clear that the old function is not deleted.
Cleanup Jamfile.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-13 05:44:52 +00:00
Clemens Zeidler
fc691d7de2 - Remove lp_solve dependencies form Variable class and put everything into LinearSpec. As a side effect Variable management is a bit more consistence now. We want to replace lp_solve soon so it will be easier to replace it just in LinearSpec.
- Update copyrights.
- Lot of small things related to the Variable refactoring.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38892 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-05 20:15:55 +00:00
Clemens Zeidler
cad0c434c7 Refactor LinearSpec a bit, make it more difficult to leak the objective function.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38888 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-04 22:27:02 +00:00
Clemens Zeidler
d9c5a02fff Put liblinprog.so into a static library and compile it into libalm.so.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38886 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-10-04 19:32:35 +00:00
Clemens Zeidler
cd88ee006d More cleanup and BList -> BObjectList.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38742 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 06:26:32 +00:00
Clemens Zeidler
601eded950 - Hide constraint header in Area file.
- Start to replace BList with BObjectList.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 06:09:19 +00:00
Clemens Zeidler
0401a9c712 Remove unused fOwner variable. Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38740 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 05:42:31 +00:00
Clemens Zeidler
43b24b87de Simplify code and clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38738 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 04:52:30 +00:00
Clemens Zeidler
b329767e2f Clean up.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38737 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 04:34:38 +00:00
Clemens Zeidler
416aca7ac9 Fix some memory leaks.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38735 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-20 03:45:04 +00:00
Clemens Zeidler
e16e4d4de1 Small optimization.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38642 a95241bf-73f2-0310-859d-f6bbb57e9c96
2010-09-14 05:11:15 +00:00