1508 lines
112 KiB
XML
1508 lines
112 KiB
XML
<?xml version='1.0' encoding='UTF-8' standalone='no'?>
|
|
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="1.8.6">
|
|
<compounddef id="weights_8hpp" kind="file">
|
|
<compoundname>weights.hpp</compoundname>
|
|
<includes refid="set_8hh" local="no">gecode/set.hh</includes>
|
|
<includes refid="int_8hh" local="no">gecode/int.hh</includes>
|
|
<includedby refid="set_2int_8hh" local="no">/usr/include/gecode/set/int.hh</includedby>
|
|
<incdepgraph>
|
|
<node id="31221">
|
|
<label>gecode/support/cast.hpp</label>
|
|
<link refid="cast_8hpp_source"/>
|
|
</node>
|
|
<node id="31318">
|
|
<label>gecode/iter/values-ranges.hpp</label>
|
|
<link refid="values-ranges_8hpp_source"/>
|
|
</node>
|
|
<node id="31385">
|
|
<label>gecode/set/branch/assign.hpp</label>
|
|
<link refid="set_2branch_2assign_8hpp_source"/>
|
|
</node>
|
|
<node id="31340">
|
|
<label>gecode/int/div.hh</label>
|
|
<link refid="div_8hh_source"/>
|
|
<childnode refid="31283" relation="include">
|
|
</childnode>
|
|
<childnode refid="31341" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31339">
|
|
<label>gecode/int/view/scale.hpp</label>
|
|
<link refid="int_2view_2scale_8hpp_source"/>
|
|
<childnode refid="31340" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31307">
|
|
<label>gecode/iter/ranges-rangelist.hpp</label>
|
|
<link refid="ranges-rangelist_8hpp_source"/>
|
|
</node>
|
|
<node id="31278">
|
|
<label>gecode/kernel/brancher-val-sel-commit.hpp</label>
|
|
<link refid="brancher-val-sel-commit_8hpp_source"/>
|
|
</node>
|
|
<node id="31313">
|
|
<label>gecode/iter/values-map.hpp</label>
|
|
<link refid="values-map_8hpp_source"/>
|
|
</node>
|
|
<node id="31298">
|
|
<label>gecode/iter/ranges-negative.hpp</label>
|
|
<link refid="ranges-negative_8hpp_source"/>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31239">
|
|
<label>gecode/support/static-stack.hpp</label>
|
|
<link refid="static-stack_8hpp_source"/>
|
|
</node>
|
|
<node id="31280">
|
|
<label>gecode/kernel/var-imp.hpp</label>
|
|
<link refid="kernel_2var-imp_8hpp_source"/>
|
|
</node>
|
|
<node id="31237">
|
|
<label>gecode/support/random.hpp</label>
|
|
<link refid="random_8hpp_source"/>
|
|
</node>
|
|
<node id="31282">
|
|
<label>limits</label>
|
|
</node>
|
|
<node id="31255">
|
|
<label>gecode/kernel/var.hpp</label>
|
|
<link refid="kernel_2var_8hpp_source"/>
|
|
</node>
|
|
<node id="31343">
|
|
<label>gecode/int/view/bool.hpp</label>
|
|
<link refid="int_2view_2bool_8hpp_source"/>
|
|
</node>
|
|
<node id="31322">
|
|
<label>gecode/iter/ranges-size.hpp</label>
|
|
<link refid="ranges-size_8hpp_source"/>
|
|
</node>
|
|
<node id="31240">
|
|
<label>gecode/support/thread/none.hpp</label>
|
|
<link refid="none_8hpp_source"/>
|
|
</node>
|
|
<node id="31259">
|
|
<label>iterator</label>
|
|
</node>
|
|
<node id="31290">
|
|
<label>gecode/iter/ranges-array.hpp</label>
|
|
<link refid="ranges-array_8hpp_source"/>
|
|
</node>
|
|
<node id="31242">
|
|
<label>gecode/support/timer.hpp</label>
|
|
<link refid="timer_8hpp_source"/>
|
|
</node>
|
|
<node id="31241">
|
|
<label>gecode/support/thread/thread.hpp</label>
|
|
<link refid="thread_2thread_8hpp_source"/>
|
|
</node>
|
|
<node id="31306">
|
|
<label>gecode/iter/ranges-singleton-append.hpp</label>
|
|
<link refid="ranges-singleton-append_8hpp_source"/>
|
|
</node>
|
|
<node id="31300">
|
|
<label>gecode/iter/ranges-positive.hpp</label>
|
|
<link refid="ranges-positive_8hpp_source"/>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31277">
|
|
<label>gecode/kernel/brancher-val-commit.hpp</label>
|
|
<link refid="brancher-val-commit_8hpp_source"/>
|
|
</node>
|
|
<node id="31331">
|
|
<label>gecode/int/view/iter.hpp</label>
|
|
<link refid="int_2view_2iter_8hpp_source"/>
|
|
</node>
|
|
<node id="31383">
|
|
<label>gecode/set/branch/var.hpp</label>
|
|
<link refid="set_2branch_2var_8hpp_source"/>
|
|
</node>
|
|
<node id="31370">
|
|
<label>gecode/set/var/set.hpp</label>
|
|
<link refid="set_2var_2set_8hpp_source"/>
|
|
</node>
|
|
<node id="31267">
|
|
<label>gecode/kernel/afc.hpp</label>
|
|
<link refid="kernel_2afc_8hpp_source"/>
|
|
</node>
|
|
<node id="31251">
|
|
<label>gecode/kernel/var-type.hpp</label>
|
|
<link refid="var-type_8hpp_source"/>
|
|
</node>
|
|
<node id="31243">
|
|
<label>gecode/support/hw-rnd.hpp</label>
|
|
<link refid="hw-rnd_8hpp_source"/>
|
|
</node>
|
|
<node id="31368">
|
|
<label>gecode/set/var-imp/set.hpp</label>
|
|
<link refid="set_2var-imp_2set_8hpp_source"/>
|
|
</node>
|
|
<node id="31310">
|
|
<label>gecode/iter/values-bitsetoffset.hpp</label>
|
|
<link refid="values-bitsetoffset_8hpp_source"/>
|
|
</node>
|
|
<node id="31381">
|
|
<label>gecode/set/branch/afc.hpp</label>
|
|
<link refid="set_2branch_2afc_8hpp_source"/>
|
|
</node>
|
|
<node id="31230">
|
|
<label>cmath</label>
|
|
</node>
|
|
<node id="31214">
|
|
<label>cassert</label>
|
|
</node>
|
|
<node id="31274">
|
|
<label>gecode/kernel/brancher-view-sel.hpp</label>
|
|
<link refid="brancher-view-sel_8hpp_source"/>
|
|
</node>
|
|
<node id="31281">
|
|
<label>gecode/kernel/allocators.hpp</label>
|
|
<link refid="allocators_8hpp_source"/>
|
|
<childnode refid="31282" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31363">
|
|
<label>gecode/set/limits.hpp</label>
|
|
<link refid="set_2limits_8hpp_source"/>
|
|
</node>
|
|
<node id="31362">
|
|
<label>gecode/set/exception.hpp</label>
|
|
<link refid="set_2exception_8hpp_source"/>
|
|
</node>
|
|
<node id="31351">
|
|
<label>gecode/int/int-set-2.hpp</label>
|
|
<link refid="int-set-2_8hpp_source"/>
|
|
</node>
|
|
<node id="31258">
|
|
<label>cstdarg</label>
|
|
</node>
|
|
<node id="31228">
|
|
<label>gecode/support/bitset-base.hpp</label>
|
|
<link refid="bitset-base_8hpp_source"/>
|
|
<childnode refid="31227" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31262">
|
|
<label>gecode/kernel/shared-array.hpp</label>
|
|
<link refid="shared-array_8hpp_source"/>
|
|
<childnode refid="31258" relation="include">
|
|
</childnode>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31342">
|
|
<label>gecode/int/view/cached.hpp</label>
|
|
<link refid="int_2view_2cached_8hpp_source"/>
|
|
</node>
|
|
<node id="31252">
|
|
<label>gecode/kernel/modevent.hpp</label>
|
|
<link refid="modevent_8hpp_source"/>
|
|
</node>
|
|
<node id="31245">
|
|
<label>gecode/kernel/memory-config.hpp</label>
|
|
<link refid="memory-config_8hpp_source"/>
|
|
</node>
|
|
<node id="31360">
|
|
<label>gecode/int/branch/val.hpp</label>
|
|
<link refid="int_2branch_2val_8hpp_source"/>
|
|
</node>
|
|
<node id="31226">
|
|
<label>gecode/support/int-type.hpp</label>
|
|
<link refid="int-type_8hpp_source"/>
|
|
<childnode refid="31227" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31378">
|
|
<label>gecode/set/array-traits.hpp</label>
|
|
<link refid="set_2array-traits_8hpp_source"/>
|
|
</node>
|
|
<node id="31317">
|
|
<label>gecode/iter/values-positive.hpp</label>
|
|
<link refid="values-positive_8hpp_source"/>
|
|
</node>
|
|
<node id="31284">
|
|
<label>cfloat</label>
|
|
</node>
|
|
<node id="31323">
|
|
<label>gecode/int/exception.hpp</label>
|
|
<link refid="int_2exception_8hpp_source"/>
|
|
</node>
|
|
<node id="31219">
|
|
<label>gecode/support/exception.hpp</label>
|
|
<link refid="support_2exception_8hpp_source"/>
|
|
<childnode refid="31220" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31220">
|
|
<label>exception</label>
|
|
</node>
|
|
<node id="31372">
|
|
<label>gecode/set/view/const.hpp</label>
|
|
<link refid="const_8hpp_source"/>
|
|
</node>
|
|
<node id="31296">
|
|
<label>gecode/iter/ranges-map.hpp</label>
|
|
<link refid="ranges-map_8hpp_source"/>
|
|
</node>
|
|
<node id="31254">
|
|
<label>gecode/kernel/region.hpp</label>
|
|
<link refid="region_8hpp_source"/>
|
|
</node>
|
|
<node id="31225">
|
|
<label>gecode/support/marked-pointer.hpp</label>
|
|
<link refid="marked-pointer_8hpp_source"/>
|
|
<childnode refid="31211" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31222">
|
|
<label>gecode/support/thread.hpp</label>
|
|
<link refid="thread_8hpp_source"/>
|
|
<childnode refid="31211" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31210">
|
|
<label>gecode/kernel.hh</label>
|
|
<link refid="kernel_8hh_source"/>
|
|
<childnode refid="31211" relation="include">
|
|
</childnode>
|
|
<childnode refid="31212" relation="include">
|
|
</childnode>
|
|
<childnode refid="31213" relation="include">
|
|
</childnode>
|
|
<childnode refid="31214" relation="include">
|
|
</childnode>
|
|
<childnode refid="31215" relation="include">
|
|
</childnode>
|
|
<childnode refid="31217" relation="include">
|
|
</childnode>
|
|
<childnode refid="31244" relation="include">
|
|
</childnode>
|
|
<childnode refid="31245" relation="include">
|
|
</childnode>
|
|
<childnode refid="31246" relation="include">
|
|
</childnode>
|
|
<childnode refid="31247" relation="include">
|
|
</childnode>
|
|
<childnode refid="31248" relation="include">
|
|
</childnode>
|
|
<childnode refid="31249" relation="include">
|
|
</childnode>
|
|
<childnode refid="31250" relation="include">
|
|
</childnode>
|
|
<childnode refid="31252" relation="include">
|
|
</childnode>
|
|
<childnode refid="31253" relation="include">
|
|
</childnode>
|
|
<childnode refid="31254" relation="include">
|
|
</childnode>
|
|
<childnode refid="31255" relation="include">
|
|
</childnode>
|
|
<childnode refid="31256" relation="include">
|
|
</childnode>
|
|
<childnode refid="31257" relation="include">
|
|
</childnode>
|
|
<childnode refid="31262" relation="include">
|
|
</childnode>
|
|
<childnode refid="31263" relation="include">
|
|
</childnode>
|
|
<childnode refid="31265" relation="include">
|
|
</childnode>
|
|
<childnode refid="31266" relation="include">
|
|
</childnode>
|
|
<childnode refid="31267" relation="include">
|
|
</childnode>
|
|
<childnode refid="31268" relation="include">
|
|
</childnode>
|
|
<childnode refid="31269" relation="include">
|
|
</childnode>
|
|
<childnode refid="31270" relation="include">
|
|
</childnode>
|
|
<childnode refid="31271" relation="include">
|
|
</childnode>
|
|
<childnode refid="31272" relation="include">
|
|
</childnode>
|
|
<childnode refid="31273" relation="include">
|
|
</childnode>
|
|
<childnode refid="31274" relation="include">
|
|
</childnode>
|
|
<childnode refid="31275" relation="include">
|
|
</childnode>
|
|
<childnode refid="31276" relation="include">
|
|
</childnode>
|
|
<childnode refid="31277" relation="include">
|
|
</childnode>
|
|
<childnode refid="31278" relation="include">
|
|
</childnode>
|
|
<childnode refid="31279" relation="include">
|
|
</childnode>
|
|
<childnode refid="31280" relation="include">
|
|
</childnode>
|
|
<childnode refid="31281" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31325">
|
|
<label>gecode/int/int-set-1.hpp</label>
|
|
<link refid="int-set-1_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31366">
|
|
<label>gecode/set/var-imp/integerset.hpp</label>
|
|
<link refid="integerset_8hpp_source"/>
|
|
</node>
|
|
<node id="31268">
|
|
<label>gecode/kernel/branch-traits.hpp</label>
|
|
<link refid="branch-traits_8hpp_source"/>
|
|
</node>
|
|
<node id="31336">
|
|
<label>gecode/int/view/zero.hpp</label>
|
|
<link refid="zero_8hpp_source"/>
|
|
</node>
|
|
<node id="31292">
|
|
<label>gecode/iter/ranges-compl.hpp</label>
|
|
<link refid="ranges-compl_8hpp_source"/>
|
|
</node>
|
|
<node id="31354">
|
|
<label>gecode/int/extensional/dfa.hpp</label>
|
|
<link refid="dfa_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31257">
|
|
<label>gecode/kernel/array.hpp</label>
|
|
<link refid="kernel_2array_8hpp_source"/>
|
|
<childnode refid="31258" relation="include">
|
|
</childnode>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31259" relation="include">
|
|
</childnode>
|
|
<childnode refid="31260" relation="include">
|
|
</childnode>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31357">
|
|
<label>gecode/int/branch/afc.hpp</label>
|
|
<link refid="int_2branch_2afc_8hpp_source"/>
|
|
</node>
|
|
<node id="31272">
|
|
<label>gecode/kernel/branch-val.hpp</label>
|
|
<link refid="branch-val_8hpp_source"/>
|
|
</node>
|
|
<node id="31236">
|
|
<label>gecode/support/dynamic-stack.hpp</label>
|
|
<link refid="dynamic-stack_8hpp_source"/>
|
|
</node>
|
|
<node id="31301">
|
|
<label>gecode/iter/ranges-scale.hpp</label>
|
|
<link refid="ranges-scale_8hpp_source"/>
|
|
<childnode refid="31230" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31248">
|
|
<label>gecode/kernel/archive.hpp</label>
|
|
<link refid="archive_8hpp_source"/>
|
|
</node>
|
|
<node id="31253">
|
|
<label>gecode/kernel/range-list.hpp</label>
|
|
<link refid="range-list_8hpp_source"/>
|
|
</node>
|
|
<node id="31312">
|
|
<label>gecode/iter/values-inter.hpp</label>
|
|
<link refid="values-inter_8hpp_source"/>
|
|
</node>
|
|
<node id="31273">
|
|
<label>gecode/kernel/brancher-merit.hpp</label>
|
|
<link refid="brancher-merit_8hpp_source"/>
|
|
</node>
|
|
<node id="31216">
|
|
<label>gecode/support/config.hpp</label>
|
|
<link refid="support_2config_8hpp_source"/>
|
|
</node>
|
|
<node id="31382">
|
|
<label>gecode/set/branch/activity.hpp</label>
|
|
<link refid="set_2branch_2activity_8hpp_source"/>
|
|
</node>
|
|
<node id="31348">
|
|
<label>gecode/int/view/bool-test.hpp</label>
|
|
<link refid="bool-test_8hpp_source"/>
|
|
</node>
|
|
<node id="31305">
|
|
<label>gecode/iter/ranges-add.hpp</label>
|
|
<link refid="ranges-add_8hpp_source"/>
|
|
</node>
|
|
<node id="31330">
|
|
<label>gecode/int/view.hpp</label>
|
|
<link refid="int_2view_8hpp_source"/>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31331" relation="include">
|
|
</childnode>
|
|
<childnode refid="31332" relation="include">
|
|
</childnode>
|
|
<childnode refid="31333" relation="include">
|
|
</childnode>
|
|
<childnode refid="31334" relation="include">
|
|
</childnode>
|
|
<childnode refid="31335" relation="include">
|
|
</childnode>
|
|
<childnode refid="31336" relation="include">
|
|
</childnode>
|
|
<childnode refid="31337" relation="include">
|
|
</childnode>
|
|
<childnode refid="31338" relation="include">
|
|
</childnode>
|
|
<childnode refid="31339" relation="include">
|
|
</childnode>
|
|
<childnode refid="31342" relation="include">
|
|
</childnode>
|
|
<childnode refid="31343" relation="include">
|
|
</childnode>
|
|
<childnode refid="31344" relation="include">
|
|
</childnode>
|
|
<childnode refid="31345" relation="include">
|
|
</childnode>
|
|
<childnode refid="31346" relation="include">
|
|
</childnode>
|
|
<childnode refid="31347" relation="include">
|
|
</childnode>
|
|
<childnode refid="31348" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31311">
|
|
<label>gecode/iter/values-list.hpp</label>
|
|
<link refid="values-list_8hpp_source"/>
|
|
</node>
|
|
<node id="31314">
|
|
<label>gecode/iter/values-minus.hpp</label>
|
|
<link refid="values-minus_8hpp_source"/>
|
|
</node>
|
|
<node id="31270">
|
|
<label>gecode/kernel/branch-var.hpp</label>
|
|
<link refid="branch-var_8hpp_source"/>
|
|
</node>
|
|
<node id="31364">
|
|
<label>gecode/set/var-imp.hpp</label>
|
|
<link refid="set_2var-imp_8hpp_source"/>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31365" relation="include">
|
|
</childnode>
|
|
<childnode refid="31366" relation="include">
|
|
</childnode>
|
|
<childnode refid="31367" relation="include">
|
|
</childnode>
|
|
<childnode refid="31368" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31246">
|
|
<label>gecode/kernel/memory-manager.hpp</label>
|
|
<link refid="memory-manager_8hpp_source"/>
|
|
</node>
|
|
<node id="31324">
|
|
<label>gecode/int/limits.hpp</label>
|
|
<link refid="int_2limits_8hpp_source"/>
|
|
</node>
|
|
<node id="31235">
|
|
<label>gecode/support/dynamic-queue.hpp</label>
|
|
<link refid="dynamic-queue_8hpp_source"/>
|
|
</node>
|
|
<node id="31349">
|
|
<label>gecode/int/propagator.hpp</label>
|
|
<link refid="int_2propagator_8hpp_source"/>
|
|
</node>
|
|
<node id="31356">
|
|
<label>gecode/int/branch/traits.hpp</label>
|
|
<link refid="int_2branch_2traits_8hpp_source"/>
|
|
</node>
|
|
<node id="31320">
|
|
<label>gecode/iter/values-union.hpp</label>
|
|
<link refid="values-union_8hpp_source"/>
|
|
</node>
|
|
<node id="31247">
|
|
<label>gecode/kernel/macros.hpp</label>
|
|
<link refid="kernel_2macros_8hpp_source"/>
|
|
</node>
|
|
<node id="31375">
|
|
<label>gecode/set/view/cached.hpp</label>
|
|
<link refid="set_2view_2cached_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31371">
|
|
<label>gecode/set/view/set.hpp</label>
|
|
<link refid="set_2view_2set_8hpp_source"/>
|
|
</node>
|
|
<node id="31299">
|
|
<label>gecode/iter/ranges-offset.hpp</label>
|
|
<link refid="ranges-offset_8hpp_source"/>
|
|
</node>
|
|
<node id="31264">
|
|
<label>ctime</label>
|
|
</node>
|
|
<node id="31338">
|
|
<label>gecode/int/view/offset.hpp</label>
|
|
<link refid="int_2view_2offset_8hpp_source"/>
|
|
</node>
|
|
<node id="31374">
|
|
<label>gecode/set/view/complement.hpp</label>
|
|
<link refid="complement_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31308">
|
|
<label>gecode/iter/values-array.hpp</label>
|
|
<link refid="values-array_8hpp_source"/>
|
|
</node>
|
|
<node id="31359">
|
|
<label>gecode/int/branch/var.hpp</label>
|
|
<link refid="int_2branch_2var_8hpp_source"/>
|
|
</node>
|
|
<node id="31302">
|
|
<label>gecode/iter/ranges-singleton.hpp</label>
|
|
<link refid="ranges-singleton_8hpp_source"/>
|
|
</node>
|
|
<node id="31260">
|
|
<label>vector</label>
|
|
</node>
|
|
<node id="31379">
|
|
<label>gecode/set/array.hpp</label>
|
|
<link refid="set_2array_8hpp_source"/>
|
|
</node>
|
|
<node id="31345">
|
|
<label>gecode/int/view/print.hpp</label>
|
|
<link refid="int_2view_2print_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31266">
|
|
<label>gecode/kernel/advisor.hpp</label>
|
|
<link refid="advisor_8hpp_source"/>
|
|
</node>
|
|
<node id="31355">
|
|
<label>gecode/int/extensional/tuple-set.hpp</label>
|
|
<link refid="tuple-set_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31279">
|
|
<label>gecode/kernel/brancher-view-val.hpp</label>
|
|
<link refid="brancher-view-val_8hpp_source"/>
|
|
</node>
|
|
<node id="31334">
|
|
<label>gecode/int/view/int.hpp</label>
|
|
<link refid="int_2view_2int_8hpp_source"/>
|
|
</node>
|
|
<node id="31347">
|
|
<label>gecode/int/view/rel-test.hpp</label>
|
|
<link refid="int_2view_2rel-test_8hpp_source"/>
|
|
</node>
|
|
<node id="31261">
|
|
<label>sstream</label>
|
|
</node>
|
|
<node id="31350">
|
|
<label>gecode/int/array-traits.hpp</label>
|
|
<link refid="int_2array-traits_8hpp_source"/>
|
|
</node>
|
|
<node id="31276">
|
|
<label>gecode/kernel/brancher-val-sel.hpp</label>
|
|
<link refid="brancher-val-sel_8hpp_source"/>
|
|
</node>
|
|
<node id="31265">
|
|
<label>gecode/kernel/propagator.hpp</label>
|
|
<link refid="kernel_2propagator_8hpp_source"/>
|
|
</node>
|
|
<node id="31233">
|
|
<label>gecode/support/block-allocator.hpp</label>
|
|
<link refid="block-allocator_8hpp_source"/>
|
|
</node>
|
|
<node id="31341">
|
|
<label>gecode/int/div.hpp</label>
|
|
<link refid="int_2div_8hpp_source"/>
|
|
</node>
|
|
<node id="31376">
|
|
<label>gecode/set/view/print.hpp</label>
|
|
<link refid="set_2view_2print_8hpp_source"/>
|
|
<childnode refid="31261" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31316">
|
|
<label>gecode/iter/values-offset.hpp</label>
|
|
<link refid="values-offset_8hpp_source"/>
|
|
</node>
|
|
<node id="31352">
|
|
<label>gecode/int/array.hpp</label>
|
|
<link refid="int_2array_8hpp_source"/>
|
|
</node>
|
|
<node id="31373">
|
|
<label>gecode/set/view/singleton.hpp</label>
|
|
<link refid="singleton_8hpp_source"/>
|
|
</node>
|
|
<node id="31269">
|
|
<label>gecode/kernel/activity.hpp</label>
|
|
<link refid="kernel_2activity_8hpp_source"/>
|
|
</node>
|
|
<node id="31283">
|
|
<label>gecode/int.hh</label>
|
|
<link refid="int_8hh_source"/>
|
|
<childnode refid="31227" relation="include">
|
|
</childnode>
|
|
<childnode refid="31284" relation="include">
|
|
</childnode>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31260" relation="include">
|
|
</childnode>
|
|
<childnode refid="31210" relation="include">
|
|
</childnode>
|
|
<childnode refid="31285" relation="include">
|
|
</childnode>
|
|
<childnode refid="31217" relation="include">
|
|
</childnode>
|
|
<childnode refid="31323" relation="include">
|
|
</childnode>
|
|
<childnode refid="31324" relation="include">
|
|
</childnode>
|
|
<childnode refid="31325" relation="include">
|
|
</childnode>
|
|
<childnode refid="31326" relation="include">
|
|
</childnode>
|
|
<childnode refid="31330" relation="include">
|
|
</childnode>
|
|
<childnode refid="31349" relation="include">
|
|
</childnode>
|
|
<childnode refid="31350" relation="include">
|
|
</childnode>
|
|
<childnode refid="31351" relation="include">
|
|
</childnode>
|
|
<childnode refid="31352" relation="include">
|
|
</childnode>
|
|
<childnode refid="31353" relation="include">
|
|
</childnode>
|
|
<childnode refid="31354" relation="include">
|
|
</childnode>
|
|
<childnode refid="31355" relation="include">
|
|
</childnode>
|
|
<childnode refid="31356" relation="include">
|
|
</childnode>
|
|
<childnode refid="31357" relation="include">
|
|
</childnode>
|
|
<childnode refid="31358" relation="include">
|
|
</childnode>
|
|
<childnode refid="31359" relation="include">
|
|
</childnode>
|
|
<childnode refid="31360" relation="include">
|
|
</childnode>
|
|
<childnode refid="31361" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31212">
|
|
<label>cstdlib</label>
|
|
</node>
|
|
<node id="31229">
|
|
<label>gecode/support/bitset.hpp</label>
|
|
<link refid="bitset_8hpp_source"/>
|
|
<childnode refid="31227" relation="include">
|
|
</childnode>
|
|
<childnode refid="31230" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31333">
|
|
<label>gecode/int/var/bool.hpp</label>
|
|
<link refid="int_2var_2bool_8hpp_source"/>
|
|
</node>
|
|
<node id="31369">
|
|
<label>gecode/set/view.hpp</label>
|
|
<link refid="set_2view_8hpp_source"/>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31370" relation="include">
|
|
</childnode>
|
|
<childnode refid="31371" relation="include">
|
|
</childnode>
|
|
<childnode refid="31372" relation="include">
|
|
</childnode>
|
|
<childnode refid="31373" relation="include">
|
|
</childnode>
|
|
<childnode refid="31374" relation="include">
|
|
</childnode>
|
|
<childnode refid="31375" relation="include">
|
|
</childnode>
|
|
<childnode refid="31376" relation="include">
|
|
</childnode>
|
|
<childnode refid="31377" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31217">
|
|
<label>gecode/support/auto-link.hpp</label>
|
|
<link refid="auto-link_8hpp_source"/>
|
|
</node>
|
|
<node id="31361">
|
|
<label>gecode/int/branch/assign.hpp</label>
|
|
<link refid="int_2branch_2assign_8hpp_source"/>
|
|
</node>
|
|
<node id="31232">
|
|
<label>iostream</label>
|
|
</node>
|
|
<node id="31244">
|
|
<label>gecode/kernel/exception.hpp</label>
|
|
<link refid="kernel_2exception_8hpp_source"/>
|
|
</node>
|
|
<node id="31344">
|
|
<label>gecode/int/view/neg-bool.hpp</label>
|
|
<link refid="neg-bool_8hpp_source"/>
|
|
</node>
|
|
<node id="31297">
|
|
<label>gecode/iter/ranges-minus.hpp</label>
|
|
<link refid="ranges-minus_8hpp_source"/>
|
|
</node>
|
|
<node id="31315">
|
|
<label>gecode/iter/values-negative.hpp</label>
|
|
<link refid="values-negative_8hpp_source"/>
|
|
</node>
|
|
<node id="31218">
|
|
<label>gecode/support/macros.hpp</label>
|
|
<link refid="support_2macros_8hpp_source"/>
|
|
</node>
|
|
<node id="31384">
|
|
<label>gecode/set/branch/val.hpp</label>
|
|
<link refid="set_2branch_2val_8hpp_source"/>
|
|
</node>
|
|
<node id="31256">
|
|
<label>gecode/kernel/view.hpp</label>
|
|
<link refid="kernel_2view_8hpp_source"/>
|
|
</node>
|
|
<node id="31271">
|
|
<label>gecode/kernel/branch-tiebreak.hpp</label>
|
|
<link refid="branch-tiebreak_8hpp_source"/>
|
|
</node>
|
|
<node id="31211">
|
|
<label>cstddef</label>
|
|
</node>
|
|
<node id="31365">
|
|
<label>gecode/set/var-imp/delta.hpp</label>
|
|
<link refid="set_2var-imp_2delta_8hpp_source"/>
|
|
</node>
|
|
<node id="31208">
|
|
<label>/usr/include/gecode/set/int/weights.hpp</label>
|
|
<link refid="weights.hpp"/>
|
|
<childnode refid="31209" relation="include">
|
|
</childnode>
|
|
<childnode refid="31283" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31377">
|
|
<label>gecode/set/var/print.hpp</label>
|
|
<link refid="set_2var_2print_8hpp_source"/>
|
|
</node>
|
|
<node id="31227">
|
|
<label>climits</label>
|
|
</node>
|
|
<node id="31367">
|
|
<label>gecode/set/var-imp/iter.hpp</label>
|
|
<link refid="set_2var-imp_2iter_8hpp_source"/>
|
|
</node>
|
|
<node id="31319">
|
|
<label>gecode/iter/values-singleton.hpp</label>
|
|
<link refid="values-singleton_8hpp_source"/>
|
|
</node>
|
|
<node id="31250">
|
|
<label>gecode/kernel/core.hpp</label>
|
|
<link refid="core_8hpp_source"/>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
<childnode refid="31251" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31295">
|
|
<label>gecode/iter/ranges-inter.hpp</label>
|
|
<link refid="ranges-inter_8hpp_source"/>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31289">
|
|
<label>gecode/iter/ranges-append.hpp</label>
|
|
<link refid="ranges-append_8hpp_source"/>
|
|
</node>
|
|
<node id="31286">
|
|
<label>gecode/iter/ranges-operations.hpp</label>
|
|
<link refid="ranges-operations_8hpp_source"/>
|
|
</node>
|
|
<node id="31215">
|
|
<label>gecode/support.hh</label>
|
|
<link refid="support_8hh_source"/>
|
|
<childnode refid="31214" relation="include">
|
|
</childnode>
|
|
<childnode refid="31216" relation="include">
|
|
</childnode>
|
|
<childnode refid="31217" relation="include">
|
|
</childnode>
|
|
<childnode refid="31218" relation="include">
|
|
</childnode>
|
|
<childnode refid="31219" relation="include">
|
|
</childnode>
|
|
<childnode refid="31221" relation="include">
|
|
</childnode>
|
|
<childnode refid="31222" relation="include">
|
|
</childnode>
|
|
<childnode refid="31223" relation="include">
|
|
</childnode>
|
|
<childnode refid="31225" relation="include">
|
|
</childnode>
|
|
<childnode refid="31226" relation="include">
|
|
</childnode>
|
|
<childnode refid="31228" relation="include">
|
|
</childnode>
|
|
<childnode refid="31229" relation="include">
|
|
</childnode>
|
|
<childnode refid="31231" relation="include">
|
|
</childnode>
|
|
<childnode refid="31233" relation="include">
|
|
</childnode>
|
|
<childnode refid="31234" relation="include">
|
|
</childnode>
|
|
<childnode refid="31235" relation="include">
|
|
</childnode>
|
|
<childnode refid="31236" relation="include">
|
|
</childnode>
|
|
<childnode refid="31237" relation="include">
|
|
</childnode>
|
|
<childnode refid="31238" relation="include">
|
|
</childnode>
|
|
<childnode refid="31239" relation="include">
|
|
</childnode>
|
|
<childnode refid="31240" relation="include">
|
|
</childnode>
|
|
<childnode refid="31241" relation="include">
|
|
</childnode>
|
|
<childnode refid="31242" relation="include">
|
|
</childnode>
|
|
<childnode refid="31243" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31358">
|
|
<label>gecode/int/branch/activity.hpp</label>
|
|
<link refid="int_2branch_2activity_8hpp_source"/>
|
|
</node>
|
|
<node id="31328">
|
|
<label>gecode/int/var-imp/int.hpp</label>
|
|
<link refid="int_2var-imp_2int_8hpp_source"/>
|
|
</node>
|
|
<node id="31326">
|
|
<label>gecode/int/var-imp.hpp</label>
|
|
<link refid="int_2var-imp_8hpp_source"/>
|
|
<childnode refid="31230" relation="include">
|
|
</childnode>
|
|
<childnode refid="31327" relation="include">
|
|
</childnode>
|
|
<childnode refid="31328" relation="include">
|
|
</childnode>
|
|
<childnode refid="31329" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31291">
|
|
<label>gecode/iter/ranges-cache.hpp</label>
|
|
<link refid="ranges-cache_8hpp_source"/>
|
|
</node>
|
|
<node id="31234">
|
|
<label>gecode/support/dynamic-array.hpp</label>
|
|
<link refid="dynamic-array_8hpp_source"/>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31335">
|
|
<label>gecode/int/view/constint.hpp</label>
|
|
<link refid="constint_8hpp_source"/>
|
|
</node>
|
|
<node id="31321">
|
|
<label>gecode/iter/values-unique.hpp</label>
|
|
<link refid="values-unique_8hpp_source"/>
|
|
</node>
|
|
<node id="31293">
|
|
<label>gecode/iter/ranges-diff.hpp</label>
|
|
<link refid="ranges-diff_8hpp_source"/>
|
|
</node>
|
|
<node id="31238">
|
|
<label>gecode/support/sort.hpp</label>
|
|
<link refid="support_2sort_8hpp_source"/>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
<childnode refid="31227" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31327">
|
|
<label>gecode/int/var-imp/delta.hpp</label>
|
|
<link refid="int_2var-imp_2delta_8hpp_source"/>
|
|
</node>
|
|
<node id="31263">
|
|
<label>gecode/kernel/rnd.hpp</label>
|
|
<link refid="rnd_8hpp_source"/>
|
|
<childnode refid="31264" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31224">
|
|
<label>algorithm</label>
|
|
</node>
|
|
<node id="31275">
|
|
<label>gecode/kernel/brancher-view.hpp</label>
|
|
<link refid="brancher-view_8hpp_source"/>
|
|
</node>
|
|
<node id="31209">
|
|
<label>gecode/set.hh</label>
|
|
<link refid="set_8hh_source"/>
|
|
<childnode refid="31210" relation="include">
|
|
</childnode>
|
|
<childnode refid="31283" relation="include">
|
|
</childnode>
|
|
<childnode refid="31285" relation="include">
|
|
</childnode>
|
|
<childnode refid="31217" relation="include">
|
|
</childnode>
|
|
<childnode refid="31362" relation="include">
|
|
</childnode>
|
|
<childnode refid="31363" relation="include">
|
|
</childnode>
|
|
<childnode refid="31364" relation="include">
|
|
</childnode>
|
|
<childnode refid="31369" relation="include">
|
|
</childnode>
|
|
<childnode refid="31378" relation="include">
|
|
</childnode>
|
|
<childnode refid="31379" relation="include">
|
|
</childnode>
|
|
<childnode refid="31380" relation="include">
|
|
</childnode>
|
|
<childnode refid="31381" relation="include">
|
|
</childnode>
|
|
<childnode refid="31382" relation="include">
|
|
</childnode>
|
|
<childnode refid="31383" relation="include">
|
|
</childnode>
|
|
<childnode refid="31384" relation="include">
|
|
</childnode>
|
|
<childnode refid="31385" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31309">
|
|
<label>gecode/iter/values-bitset.hpp</label>
|
|
<link refid="values-bitset_8hpp_source"/>
|
|
</node>
|
|
<node id="31249">
|
|
<label>gecode/kernel/global-afc.hpp</label>
|
|
<link refid="global-afc_8hpp_source"/>
|
|
<childnode refid="31230" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31294">
|
|
<label>gecode/iter/ranges-empty.hpp</label>
|
|
<link refid="ranges-empty_8hpp_source"/>
|
|
</node>
|
|
<node id="31332">
|
|
<label>gecode/int/var/int.hpp</label>
|
|
<link refid="int_2var_2int_8hpp_source"/>
|
|
</node>
|
|
<node id="31285">
|
|
<label>gecode/iter.hh</label>
|
|
<link refid="iter_8hh_source"/>
|
|
<childnode refid="31210" relation="include">
|
|
</childnode>
|
|
<childnode refid="31286" relation="include">
|
|
</childnode>
|
|
<childnode refid="31287" relation="include">
|
|
</childnode>
|
|
<childnode refid="31288" relation="include">
|
|
</childnode>
|
|
<childnode refid="31289" relation="include">
|
|
</childnode>
|
|
<childnode refid="31290" relation="include">
|
|
</childnode>
|
|
<childnode refid="31291" relation="include">
|
|
</childnode>
|
|
<childnode refid="31292" relation="include">
|
|
</childnode>
|
|
<childnode refid="31293" relation="include">
|
|
</childnode>
|
|
<childnode refid="31294" relation="include">
|
|
</childnode>
|
|
<childnode refid="31295" relation="include">
|
|
</childnode>
|
|
<childnode refid="31296" relation="include">
|
|
</childnode>
|
|
<childnode refid="31297" relation="include">
|
|
</childnode>
|
|
<childnode refid="31298" relation="include">
|
|
</childnode>
|
|
<childnode refid="31299" relation="include">
|
|
</childnode>
|
|
<childnode refid="31300" relation="include">
|
|
</childnode>
|
|
<childnode refid="31301" relation="include">
|
|
</childnode>
|
|
<childnode refid="31302" relation="include">
|
|
</childnode>
|
|
<childnode refid="31303" relation="include">
|
|
</childnode>
|
|
<childnode refid="31304" relation="include">
|
|
</childnode>
|
|
<childnode refid="31305" relation="include">
|
|
</childnode>
|
|
<childnode refid="31306" relation="include">
|
|
</childnode>
|
|
<childnode refid="31307" relation="include">
|
|
</childnode>
|
|
<childnode refid="31308" relation="include">
|
|
</childnode>
|
|
<childnode refid="31309" relation="include">
|
|
</childnode>
|
|
<childnode refid="31310" relation="include">
|
|
</childnode>
|
|
<childnode refid="31311" relation="include">
|
|
</childnode>
|
|
<childnode refid="31312" relation="include">
|
|
</childnode>
|
|
<childnode refid="31313" relation="include">
|
|
</childnode>
|
|
<childnode refid="31314" relation="include">
|
|
</childnode>
|
|
<childnode refid="31315" relation="include">
|
|
</childnode>
|
|
<childnode refid="31316" relation="include">
|
|
</childnode>
|
|
<childnode refid="31317" relation="include">
|
|
</childnode>
|
|
<childnode refid="31318" relation="include">
|
|
</childnode>
|
|
<childnode refid="31319" relation="include">
|
|
</childnode>
|
|
<childnode refid="31320" relation="include">
|
|
</childnode>
|
|
<childnode refid="31321" relation="include">
|
|
</childnode>
|
|
<childnode refid="31322" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31304">
|
|
<label>gecode/iter/ranges-values.hpp</label>
|
|
<link refid="ranges-values_8hpp_source"/>
|
|
</node>
|
|
<node id="31329">
|
|
<label>gecode/int/var-imp/bool.hpp</label>
|
|
<link refid="int_2var-imp_2bool_8hpp_source"/>
|
|
</node>
|
|
<node id="31213">
|
|
<label>cstring</label>
|
|
</node>
|
|
<node id="31380">
|
|
<label>gecode/set/branch/traits.hpp</label>
|
|
<link refid="set_2branch_2traits_8hpp_source"/>
|
|
</node>
|
|
<node id="31353">
|
|
<label>gecode/int/reify.hpp</label>
|
|
<link refid="reify_8hpp_source"/>
|
|
</node>
|
|
<node id="31303">
|
|
<label>gecode/iter/ranges-union.hpp</label>
|
|
<link refid="ranges-union_8hpp_source"/>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31337">
|
|
<label>gecode/int/view/minus.hpp</label>
|
|
<link refid="int_2view_2minus_8hpp_source"/>
|
|
</node>
|
|
<node id="31287">
|
|
<label>gecode/iter/ranges-minmax.hpp</label>
|
|
<link refid="ranges-minmax_8hpp_source"/>
|
|
</node>
|
|
<node id="31231">
|
|
<label>gecode/support/bitset-offset.hpp</label>
|
|
<link refid="bitset-offset_8hpp_source"/>
|
|
<childnode refid="31227" relation="include">
|
|
</childnode>
|
|
<childnode refid="31230" relation="include">
|
|
</childnode>
|
|
<childnode refid="31232" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31223">
|
|
<label>gecode/support/heap.hpp</label>
|
|
<link refid="heap_8hpp_source"/>
|
|
<childnode refid="31213" relation="include">
|
|
</childnode>
|
|
<childnode refid="31212" relation="include">
|
|
</childnode>
|
|
<childnode refid="31224" relation="include">
|
|
</childnode>
|
|
</node>
|
|
<node id="31346">
|
|
<label>gecode/int/var/print.hpp</label>
|
|
<link refid="int_2var_2print_8hpp_source"/>
|
|
</node>
|
|
<node id="31288">
|
|
<label>gecode/iter/ranges-list.hpp</label>
|
|
<link refid="ranges-list_8hpp_source"/>
|
|
</node>
|
|
</incdepgraph>
|
|
<invincdepgraph>
|
|
<node id="31387">
|
|
<label>/usr/include/gecode/set/int.hh</label>
|
|
<link refid="set_2int_8hh_source"/>
|
|
</node>
|
|
<node id="31386">
|
|
<label>/usr/include/gecode/set/int/weights.hpp</label>
|
|
<link refid="weights.hpp"/>
|
|
<childnode refid="31387" relation="include">
|
|
</childnode>
|
|
</node>
|
|
</invincdepgraph>
|
|
<innerclass refid="classGecode_1_1Set_1_1Int_1_1OverweightValues" prot="public">Gecode::Set::Int::OverweightValues</innerclass>
|
|
<innerclass refid="classGecode_1_1Set_1_1Int_1_1IntLess" prot="public">Gecode::Set::Int::IntLess</innerclass>
|
|
<innernamespace refid="namespaceGecode">Gecode</innernamespace>
|
|
<innernamespace refid="namespaceGecode_1_1Set">Gecode::Set</innernamespace>
|
|
<innernamespace refid="namespaceGecode_1_1Set_1_1Int">Gecode::Set::Int</innernamespace>
|
|
<briefdescription>
|
|
</briefdescription>
|
|
<detaileddescription>
|
|
</detaileddescription>
|
|
<programlisting>
|
|
<codeline lineno="1"><highlight class="comment">/*<sp/>-*-<sp/>mode:<sp/>C++;<sp/>c-basic-offset:<sp/>2;<sp/>indent-tabs-mode:<sp/>nil<sp/>-*-<sp/>*/</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="2"><highlight class="normal"></highlight><highlight class="comment">/*</highlight></codeline>
|
|
<codeline lineno="3"><highlight class="comment"><sp/>*<sp/><sp/>Main<sp/>authors:</highlight></codeline>
|
|
<codeline lineno="4"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Guido<sp/>Tack<sp/><tack@gecode.org></highlight></codeline>
|
|
<codeline lineno="5"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Christian<sp/>Schulte<sp/><schulte@gecode.org></highlight></codeline>
|
|
<codeline lineno="6"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Gabor<sp/>Szokoli<sp/><szokoli@gecode.org></highlight></codeline>
|
|
<codeline lineno="7"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="8"><highlight class="comment"><sp/>*<sp/><sp/>Copyright:</highlight></codeline>
|
|
<codeline lineno="9"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Guido<sp/>Tack,<sp/>2004</highlight></codeline>
|
|
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Christian<sp/>Schulte,<sp/>2004</highlight></codeline>
|
|
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Gabor<sp/>Szokoli,<sp/>2004</highlight></codeline>
|
|
<codeline lineno="12"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="13"><highlight class="comment"><sp/>*<sp/><sp/>Last<sp/>modified:</highlight></codeline>
|
|
<codeline lineno="14"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Date:<sp/>2012-09-07<sp/>17:31:22<sp/>+0200<sp/>(Fri,<sp/>07<sp/>Sep<sp/>2012)<sp/>$<sp/>by<sp/>$Author:<sp/>schulte<sp/>$</highlight></codeline>
|
|
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Revision:<sp/>13068<sp/>$</highlight></codeline>
|
|
<codeline lineno="16"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="17"><highlight class="comment"><sp/>*<sp/><sp/>This<sp/>file<sp/>is<sp/>part<sp/>of<sp/>Gecode,<sp/>the<sp/>generic<sp/>constraint</highlight></codeline>
|
|
<codeline lineno="18"><highlight class="comment"><sp/>*<sp/><sp/>development<sp/>environment:</highlight></codeline>
|
|
<codeline lineno="19"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>http://www.gecode.org</highlight></codeline>
|
|
<codeline lineno="20"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="21"><highlight class="comment"><sp/>*<sp/><sp/>Permission<sp/>is<sp/>hereby<sp/>granted,<sp/>free<sp/>of<sp/>charge,<sp/>to<sp/>any<sp/>person<sp/>obtaining</highlight></codeline>
|
|
<codeline lineno="22"><highlight class="comment"><sp/>*<sp/><sp/>a<sp/>copy<sp/>of<sp/>this<sp/>software<sp/>and<sp/>associated<sp/>documentation<sp/>files<sp/>(the</highlight></codeline>
|
|
<codeline lineno="23"><highlight class="comment"><sp/>*<sp/><sp/>"Software"),<sp/>to<sp/>deal<sp/>in<sp/>the<sp/>Software<sp/>without<sp/>restriction,<sp/>including</highlight></codeline>
|
|
<codeline lineno="24"><highlight class="comment"><sp/>*<sp/><sp/>without<sp/>limitation<sp/>the<sp/>rights<sp/>to<sp/>use,<sp/>copy,<sp/>modify,<sp/>merge,<sp/>publish,</highlight></codeline>
|
|
<codeline lineno="25"><highlight class="comment"><sp/>*<sp/><sp/>distribute,<sp/>sublicense,<sp/>and/or<sp/>sell<sp/>copies<sp/>of<sp/>the<sp/>Software,<sp/>and<sp/>to</highlight></codeline>
|
|
<codeline lineno="26"><highlight class="comment"><sp/>*<sp/><sp/>permit<sp/>persons<sp/>to<sp/>whom<sp/>the<sp/>Software<sp/>is<sp/>furnished<sp/>to<sp/>do<sp/>so,<sp/>subject<sp/>to</highlight></codeline>
|
|
<codeline lineno="27"><highlight class="comment"><sp/>*<sp/><sp/>the<sp/>following<sp/>conditions:</highlight></codeline>
|
|
<codeline lineno="28"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="29"><highlight class="comment"><sp/>*<sp/><sp/>The<sp/>above<sp/>copyright<sp/>notice<sp/>and<sp/>this<sp/>permission<sp/>notice<sp/>shall<sp/>be</highlight></codeline>
|
|
<codeline lineno="30"><highlight class="comment"><sp/>*<sp/><sp/>included<sp/>in<sp/>all<sp/>copies<sp/>or<sp/>substantial<sp/>portions<sp/>of<sp/>the<sp/>Software.</highlight></codeline>
|
|
<codeline lineno="31"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="32"><highlight class="comment"><sp/>*<sp/><sp/>THE<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>"AS<sp/>IS",<sp/>WITHOUT<sp/>WARRANTY<sp/>OF<sp/>ANY<sp/>KIND,</highlight></codeline>
|
|
<codeline lineno="33"><highlight class="comment"><sp/>*<sp/><sp/>EXPRESS<sp/>OR<sp/>IMPLIED,<sp/>INCLUDING<sp/>BUT<sp/>NOT<sp/>LIMITED<sp/>TO<sp/>THE<sp/>WARRANTIES<sp/>OF</highlight></codeline>
|
|
<codeline lineno="34"><highlight class="comment"><sp/>*<sp/><sp/>MERCHANTABILITY,<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>AND</highlight></codeline>
|
|
<codeline lineno="35"><highlight class="comment"><sp/>*<sp/><sp/>NONINFRINGEMENT.<sp/>IN<sp/>NO<sp/>EVENT<sp/>SHALL<sp/>THE<sp/>AUTHORS<sp/>OR<sp/>COPYRIGHT<sp/>HOLDERS<sp/>BE</highlight></codeline>
|
|
<codeline lineno="36"><highlight class="comment"><sp/>*<sp/><sp/>LIABLE<sp/>FOR<sp/>ANY<sp/>CLAIM,<sp/>DAMAGES<sp/>OR<sp/>OTHER<sp/>LIABILITY,<sp/>WHETHER<sp/>IN<sp/>AN<sp/>ACTION</highlight></codeline>
|
|
<codeline lineno="37"><highlight class="comment"><sp/>*<sp/><sp/>OF<sp/>CONTRACT,<sp/>TORT<sp/>OR<sp/>OTHERWISE,<sp/>ARISING<sp/>FROM,<sp/>OUT<sp/>OF<sp/>OR<sp/>IN<sp/>CONNECTION</highlight></codeline>
|
|
<codeline lineno="38"><highlight class="comment"><sp/>*<sp/><sp/>WITH<sp/>THE<sp/>SOFTWARE<sp/>OR<sp/>THE<sp/>USE<sp/>OR<sp/>OTHER<sp/>DEALINGS<sp/>IN<sp/>THE<sp/>SOFTWARE.</highlight></codeline>
|
|
<codeline lineno="39"><highlight class="comment"><sp/>*</highlight></codeline>
|
|
<codeline lineno="40"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="41"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="42"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><gecode/set.hh></highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="43"><highlight class="normal"></highlight><highlight class="preprocessor">#include<sp/><gecode/int.hh></highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="44"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="45"><highlight class="normal"></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">Gecode<sp/>{<sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">Set<sp/>{<sp/></highlight><highlight class="keyword">namespace<sp/></highlight><highlight class="normal">Int<sp/>{</highlight></codeline>
|
|
<codeline lineno="46"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="48"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="49" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues" kindref="compound">OverweightValues</ref><sp/>{</highlight></codeline>
|
|
<codeline lineno="50"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">private</highlight><highlight class="normal">:</highlight></codeline>
|
|
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>threshold;</highlight></codeline>
|
|
<codeline lineno="54"><highlight class="normal"><sp/><sp/><sp/><sp/>I<sp/>iter;</highlight></codeline>
|
|
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref><sp/>elements;</highlight></codeline>
|
|
<codeline lineno="58"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref><sp/>weights;</highlight></codeline>
|
|
<codeline lineno="60"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>index;</highlight></codeline>
|
|
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/>next(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="63"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
|
<codeline lineno="65"></codeline>
|
|
<codeline lineno="66"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae80821b9b6a952efa3b368077d713b3d" kindref="member">OverweightValues</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="69"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae80821b9b6a952efa3b368077d713b3d" kindref="member">OverweightValues</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>t,</highlight></codeline>
|
|
<codeline lineno="70"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements0,</highlight></codeline>
|
|
<codeline lineno="71"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>weights0,</highlight></codeline>
|
|
<codeline lineno="72"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>I&<sp/>i);</highlight></codeline>
|
|
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a439e44a6244e14cc514c4b929871ccb9" kindref="member">init</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>t,</highlight></codeline>
|
|
<codeline lineno="75"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements0,</highlight></codeline>
|
|
<codeline lineno="76"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>weights0,</highlight></codeline>
|
|
<codeline lineno="77"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>I&<sp/>i);</highlight></codeline>
|
|
<codeline lineno="79"></codeline>
|
|
<codeline lineno="81"></codeline>
|
|
<codeline lineno="82"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a326a634735beff9f10c17bc3ffd59255" kindref="member">operator ()</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a8011029a407d581519d387d7f8db01c5" kindref="member">operator ++</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="87"></codeline>
|
|
<codeline lineno="89"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae42ba47eabd2fc078bc66916888a8e1e" kindref="member">val</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="92"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
|
|
<codeline lineno="93"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="94"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="95"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="96"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues" kindref="compound">OverweightValues<I>::next</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{</highlight></codeline>
|
|
<codeline lineno="97"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(iter())<sp/>{</highlight></codeline>
|
|
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(elements[index]<iter.val())<sp/>index++;</highlight></codeline>
|
|
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>assert(elements[index]==iter.val());</highlight></codeline>
|
|
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>[index]<sp/>><sp/>threshold)<sp/>{</highlight></codeline>
|
|
<codeline lineno="101"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="102"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="103"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>++iter;</highlight></codeline>
|
|
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="105"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="106"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="107"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="108"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="109" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae80821b9b6a952efa3b368077d713b3d" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae80821b9b6a952efa3b368077d713b3d" kindref="member">OverweightValues<I>::OverweightValues</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{}</highlight></codeline>
|
|
<codeline lineno="110"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="111"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="112"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="113" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a7360008ef9da7a91775110d546617db2" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae80821b9b6a952efa3b368077d713b3d" kindref="member">OverweightValues<I>::OverweightValues</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>t,</highlight></codeline>
|
|
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements0,</highlight></codeline>
|
|
<codeline lineno="115"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>weights0,</highlight></codeline>
|
|
<codeline lineno="116"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>I&<sp/>i)<sp/>:<sp/>threshold(t),</highlight></codeline>
|
|
<codeline lineno="117"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>iter(i),</highlight></codeline>
|
|
<codeline lineno="118"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>elements(elements0),</highlight></codeline>
|
|
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>(weights0),</highlight></codeline>
|
|
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>index(0)<sp/>{</highlight></codeline>
|
|
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/>next();</highlight></codeline>
|
|
<codeline lineno="122"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="123"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="124"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="125"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="126" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a439e44a6244e14cc514c4b929871ccb9" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a439e44a6244e14cc514c4b929871ccb9" kindref="member">OverweightValues<I>::init</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>t,</highlight></codeline>
|
|
<codeline lineno="127"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements0,</highlight></codeline>
|
|
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>weights0,</highlight></codeline>
|
|
<codeline lineno="129"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>I&<sp/>i)<sp/>{</highlight></codeline>
|
|
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/>threshold<sp/>=<sp/>t;<sp/>iter<sp/>=<sp/>i;</highlight></codeline>
|
|
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/>elements<sp/>=<sp/>elements0;<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref><sp/>=<sp/>weights0;</highlight></codeline>
|
|
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/>index<sp/>=<sp/>0;</highlight></codeline>
|
|
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/>next();</highlight></codeline>
|
|
<codeline lineno="134"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="135"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="136"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="137"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="138" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a326a634735beff9f10c17bc3ffd59255" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a326a634735beff9f10c17bc3ffd59255" kindref="member">OverweightValues<I>::operator ()</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>iter();<sp/>}</highlight></codeline>
|
|
<codeline lineno="139"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="140"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="141"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="142" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a8011029a407d581519d387d7f8db01c5" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1a8011029a407d581519d387d7f8db01c5" kindref="member">OverweightValues<I>::operator ++</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)<sp/>{<sp/>++iter;<sp/>next();<sp/>}</highlight></codeline>
|
|
<codeline lineno="143"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="144"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="145"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="146" refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae42ba47eabd2fc078bc66916888a8e1e" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues_1ae42ba47eabd2fc078bc66916888a8e1e" kindref="member">OverweightValues<I>::val</ref>(</highlight><highlight class="keywordtype">void</highlight><highlight class="normal">)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{<sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>elements[index];<sp/>}</highlight></codeline>
|
|
<codeline lineno="147"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="148"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="149"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="150" refid="classGecode_1_1Set_1_1Int_1_1Weights_1a37f02fab2845dba2eebfea580b386d0f" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a8f5cc862e22c2335ddb1d53b82cddd56" kindref="member">Weights<View>::Weights</ref>(<ref refid="classGecode_1_1Home" kindref="compound">Home</ref><sp/>home,</highlight></codeline>
|
|
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements0,</highlight></codeline>
|
|
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>weights0,</highlight></codeline>
|
|
<codeline lineno="153"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>View<sp/>x0,<sp/><ref refid="classGecode_1_1Int_1_1IntView" kindref="compound">Gecode::Int::IntView</ref><sp/>y0)</highlight></codeline>
|
|
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Propagator" kindref="compound">Propagator</ref>(home),<sp/>elements(elements0),<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>(weights0),</highlight></codeline>
|
|
<codeline lineno="155"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>x(x0),<sp/>y(y0)<sp/>{</highlight></codeline>
|
|
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/>home.<ref refid="classGecode_1_1Home_1a25526fc8f7e6ddd0d8a9b4eb83862c70" kindref="member">notice</ref>(*</highlight><highlight class="keyword">this</highlight><highlight class="normal">,<ref refid="namespaceGecode_1a99c644746a8611a92ce7f82ff6e12bc9a1f784a3552a29808c4d566132b9a1875" kindref="member">AP_DISPOSE</ref>);</highlight></codeline>
|
|
<codeline lineno="157"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a2f15b654a32fa4432c4198b5a9b92952" kindref="member">x</ref>.subscribe(home,*</highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>PC_SET_ANY);</highlight></codeline>
|
|
<codeline lineno="158"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a05388c9639df8283cb332522df91ce5d" kindref="member">y</ref>.<ref refid="classGecode_1_1VarImpView_1a9a475b6d28d2a0f263958aa36a322c50" kindref="member">subscribe</ref>(home,*</highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>Gecode::Int::PC_INT_BND);</highlight></codeline>
|
|
<codeline lineno="159"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="160"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="161"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="162"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="163" refid="classGecode_1_1Set_1_1Int_1_1Weights_1a8f5cc862e22c2335ddb1d53b82cddd56" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a8f5cc862e22c2335ddb1d53b82cddd56" kindref="member">Weights<View>::Weights</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&<sp/>home,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>share,<sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights" kindref="compound">Weights</ref>&<sp/>p)</highlight></codeline>
|
|
<codeline lineno="164"><highlight class="normal"><sp/><sp/><sp/><sp/>:<sp/><ref refid="classGecode_1_1Propagator" kindref="compound">Propagator</ref>(home,share,p)<sp/>{</highlight></codeline>
|
|
<codeline lineno="165"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a2f15b654a32fa4432c4198b5a9b92952" kindref="member">x</ref>.update(home,share,p.<ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a2f15b654a32fa4432c4198b5a9b92952" kindref="member">x</ref>);</highlight></codeline>
|
|
<codeline lineno="166"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a05388c9639df8283cb332522df91ce5d" kindref="member">y</ref>.<ref refid="classGecode_1_1VarImpView_1a5f0569230bea9a229d76eed32716b42a" kindref="member">update</ref>(home,share,p.<ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a05388c9639df8283cb332522df91ce5d" kindref="member">y</ref>);</highlight></codeline>
|
|
<codeline lineno="167"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a74afccc7b6a69dcabdb1acd80c3d7e4e" kindref="member">elements</ref>.<ref refid="classGecode_1_1SharedHandle_1afeb40b81ba09fed2539490f1035788f8" kindref="member">update</ref>(home,share,p.<ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a74afccc7b6a69dcabdb1acd80c3d7e4e" kindref="member">elements</ref>);</highlight></codeline>
|
|
<codeline lineno="168"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a2e28cfe7d488d41d5f98defc486e424c" kindref="member">weights</ref>.<ref refid="classGecode_1_1SharedHandle_1afeb40b81ba09fed2539490f1035788f8" kindref="member">update</ref>(home,share,p.<ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a2e28cfe7d488d41d5f98defc486e424c" kindref="member">weights</ref>);</highlight></codeline>
|
|
<codeline lineno="169"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="170"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="171"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="172"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref></highlight></codeline>
|
|
<codeline lineno="173" refid="classGecode_1_1Set_1_1Int_1_1Weights_1a43b77fdfc1d7580c32bc70fe204a9d0b" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a43b77fdfc1d7580c32bc70fe204a9d0b" kindref="member">Weights<View>::post</ref>(<ref refid="classGecode_1_1Home" kindref="compound">Home</ref><sp/>home,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements,</highlight></codeline>
|
|
<codeline lineno="174"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>,</highlight></codeline>
|
|
<codeline lineno="175"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>View<sp/>x,<sp/><ref refid="classGecode_1_1Int_1_1IntView" kindref="compound">Gecode::Int::IntView</ref><sp/>y)<sp/>{</highlight></codeline>
|
|
<codeline lineno="176"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(elements.<ref refid="classGecode_1_1SharedArray_1a6d8d56e55461f215a8854c7e91efdab6" kindref="member">size</ref>()<sp/>!=<sp/>weights.<ref refid="classGecode_1_1SharedArray_1a6d8d56e55461f215a8854c7e91efdab6" kindref="member">size</ref>())</highlight></codeline>
|
|
<codeline lineno="177"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Set_1_1ArgumentSizeMismatch" kindref="compound">ArgumentSizeMismatch</ref>(</highlight><highlight class="stringliteral">"Weights"</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="178"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
|
|
<codeline lineno="179"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>els_arr<sp/>=<sp/>r.<ref refid="classGecode_1_1Region_1a167cff2d16f08d890fff11f80e519233" kindref="member">alloc</ref><</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">>(elements.<ref refid="classGecode_1_1SharedArray_1a6d8d56e55461f215a8854c7e91efdab6" kindref="member">size</ref>());</highlight></codeline>
|
|
<codeline lineno="180"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i=elements.<ref refid="classGecode_1_1SharedArray_1a6d8d56e55461f215a8854c7e91efdab6" kindref="member">size</ref>();<sp/>i--;)</highlight></codeline>
|
|
<codeline lineno="181"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>els_arr[i]<sp/>=<sp/>elements[i];</highlight></codeline>
|
|
<codeline lineno="182"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1IntSet" kindref="compound">IntSet</ref><sp/>els(els_arr,<sp/>elements.<ref refid="classGecode_1_1SharedArray_1a6d8d56e55461f215a8854c7e91efdab6" kindref="member">size</ref>());</highlight></codeline>
|
|
<codeline lineno="183"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1IntSetRanges" kindref="compound">IntSetRanges</ref><sp/>er(els);</highlight></codeline>
|
|
<codeline lineno="184"><highlight class="normal"><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(x.intersectI(home,<sp/>er));</highlight></codeline>
|
|
<codeline lineno="185"><highlight class="normal"><sp/><sp/><sp/><sp/>(void)<sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/>(home)<sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights" kindref="compound">Weights</ref>(home,elements,weights,x,y);</highlight></codeline>
|
|
<codeline lineno="186"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a01d6fb1ec70479e8e413d5ecfd63e303" kindref="member">ES_OK</ref>;</highlight></codeline>
|
|
<codeline lineno="187"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="188"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="189"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="190"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1PropCost" kindref="compound">PropCost</ref></highlight></codeline>
|
|
<codeline lineno="191" refid="classGecode_1_1Set_1_1Int_1_1Weights_1a9814e7181a2761d8c14c6927ca1357ca" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a9814e7181a2761d8c14c6927ca1357ca" kindref="member">Weights<View>::cost</ref>(</highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1a129e41c1d037528010d7b6706495a560" kindref="member">ModEventDelta</ref>&)</highlight><highlight class="keyword"><sp/>const<sp/></highlight><highlight class="normal">{</highlight></codeline>
|
|
<codeline lineno="192"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1PropCost_1a4a383a3772df2c1e49341813edc19b34" kindref="member">PropCost::linear</ref>(<ref refid="classGecode_1_1PropCost_1ad1bebae59ea373495c5bf51ffc249dcda29f70a7d7f550f3822568ddce422d861" kindref="member">PropCost::LO</ref>,<sp/>y.size()+1);</highlight></codeline>
|
|
<codeline lineno="193"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="194"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="195"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="196"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">size_t</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="197" refid="classGecode_1_1Set_1_1Int_1_1Weights_1ae72527237cd3ba2a7dab2c52e93a805b" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1ae72527237cd3ba2a7dab2c52e93a805b" kindref="member">Weights<View>::dispose</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&<sp/>home)<sp/>{</highlight></codeline>
|
|
<codeline lineno="198"><highlight class="normal"><sp/><sp/><sp/><sp/>home.<ref refid="classGecode_1_1Space_1aab89b878dbffb5b16a50ad19add652f7" kindref="member">ignore</ref>(*</highlight><highlight class="keyword">this</highlight><highlight class="normal">,<ref refid="namespaceGecode_1a99c644746a8611a92ce7f82ff6e12bc9a1f784a3552a29808c4d566132b9a1875" kindref="member">AP_DISPOSE</ref>);</highlight></codeline>
|
|
<codeline lineno="199"><highlight class="normal"><sp/><sp/><sp/><sp/>x.cancel(home,*</highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>PC_SET_ANY);</highlight></codeline>
|
|
<codeline lineno="200"><highlight class="normal"><sp/><sp/><sp/><sp/>y.cancel(home,*</highlight><highlight class="keyword">this</highlight><highlight class="normal">,<sp/>Gecode::Int::PC_INT_BND);</highlight></codeline>
|
|
<codeline lineno="201"><highlight class="normal"><sp/><sp/><sp/><sp/>elements.~SharedArray();</highlight></codeline>
|
|
<codeline lineno="202"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>.~SharedArray();</highlight></codeline>
|
|
<codeline lineno="203"><highlight class="normal"><sp/><sp/><sp/><sp/>(void)<sp/><ref refid="classGecode_1_1Actor_1a143253b3eceda40f36834e38c8ac05d9" kindref="member">Propagator::dispose</ref>(home);</highlight></codeline>
|
|
<codeline lineno="204"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(*this);</highlight></codeline>
|
|
<codeline lineno="205"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="206"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="207"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="208"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Actor" kindref="compound">Actor</ref>*</highlight></codeline>
|
|
<codeline lineno="209" refid="classGecode_1_1Set_1_1Int_1_1Weights_1a4b0bd136de576e2f772bbfb79cd1b91c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a4b0bd136de576e2f772bbfb79cd1b91c" kindref="member">Weights<View>::copy</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&<sp/>home,<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>share)<sp/>{</highlight></codeline>
|
|
<codeline lineno="210"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">new</highlight><highlight class="normal"><sp/>(home)<sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights" kindref="compound">Weights</ref>(home,share,*</highlight><highlight class="keyword">this</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="211"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="212"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="214"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>I></highlight></codeline>
|
|
<codeline lineno="215"><highlight class="normal"><sp/><sp/>forceinline</highlight></codeline>
|
|
<codeline lineno="216" refid="namespaceGecode_1_1Set_1_1Int_1a43f51e6095c101ceadeb6899283ba4ae" refkind="member"><highlight class="normal"><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1_1Set_1_1Int_1a43f51e6095c101ceadeb6899283ba4ae" kindref="member">weightI</ref>(<ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/>elements,</highlight></codeline>
|
|
<codeline lineno="217"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1SharedArray" kindref="compound">SharedArray<int></ref>&<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>,</highlight></codeline>
|
|
<codeline lineno="218"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>I&<sp/>iter)<sp/>{</highlight></codeline>
|
|
<codeline lineno="219"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__TaskModelMiniModelLin_1ga8c3d837827d68f719e11213e95da6db1" kindref="member">sum</ref><sp/>=<sp/>0;</highlight></codeline>
|
|
<codeline lineno="220"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i<sp/>=<sp/>0;</highlight></codeline>
|
|
<codeline lineno="221"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues" kindref="compound">Iter::Ranges::ToValues<I></ref><sp/>v(iter);</highlight></codeline>
|
|
<codeline lineno="222"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(;<sp/>v();<sp/>++v)<sp/>{</highlight></codeline>
|
|
<codeline lineno="223"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Skip<sp/>all<sp/>elements<sp/>below<sp/>the<sp/>current</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="224"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">while</highlight><highlight class="normal"><sp/>(elements[i]<v.<ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues_1a0fa7a1051bf37c3d44d7971292ff0dd4" kindref="member">val</ref>())<sp/>i++;</highlight></codeline>
|
|
<codeline lineno="225"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>assert(elements[i]<sp/>==<sp/>v.<ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues_1a0fa7a1051bf37c3d44d7971292ff0dd4" kindref="member">val</ref>());</highlight></codeline>
|
|
<codeline lineno="226"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>sum<sp/>+=<sp/>weights[i];</highlight></codeline>
|
|
<codeline lineno="227"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="228"><highlight class="normal"><sp/><sp/><sp/><sp/>assert(!v());</highlight></codeline>
|
|
<codeline lineno="229"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="group__TaskModelMiniModelLin_1ga8c3d837827d68f719e11213e95da6db1" kindref="member">sum</ref>;</highlight></codeline>
|
|
<codeline lineno="230"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="231"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="232"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="234" refid="classGecode_1_1Set_1_1Int_1_1IntLess" refkind="compound"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">class<sp/></highlight><highlight class="normal"><ref refid="classGecode_1_1Set_1_1Int_1_1IntLess" kindref="compound">IntLess</ref><sp/>{</highlight></codeline>
|
|
<codeline lineno="235"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">public</highlight><highlight class="normal">:</highlight></codeline>
|
|
<codeline lineno="236"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"><sp/>operator<sp/>()(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>y);</highlight></codeline>
|
|
<codeline lineno="237"><highlight class="normal"><sp/><sp/>};</highlight></codeline>
|
|
<codeline lineno="238"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="239"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="240"><highlight class="normal"><sp/><sp/>IntLess::operator<sp/>()(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>x,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>y)<sp/>{</highlight></codeline>
|
|
<codeline lineno="241"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>x<sp/><<sp/>y;</highlight></codeline>
|
|
<codeline lineno="242"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="243"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="244"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">template</highlight><highlight class="normal"><</highlight><highlight class="keyword">class</highlight><highlight class="normal"><sp/>View></highlight></codeline>
|
|
<codeline lineno="245"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5" kindref="member">ExecStatus</ref></highlight></codeline>
|
|
<codeline lineno="246" refid="classGecode_1_1Set_1_1Int_1_1Weights_1a16a92abf4c7ca2c55e703e790b947a1a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1Weights_1a16a92abf4c7ca2c55e703e790b947a1a" kindref="member">Weights<View>::propagate</ref>(<ref refid="classGecode_1_1Space" kindref="compound">Space</ref>&<sp/>home,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1a129e41c1d037528010d7b6706495a560" kindref="member">ModEventDelta</ref>&)<sp/>{</highlight></codeline>
|
|
<codeline lineno="247"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="248"><highlight class="normal"><sp/><sp/><sp/><sp/><ref refid="group__TaskVarMEPC_1gafa985ae465bd12df08e29252cdb7519b" kindref="member">ModEvent</ref><sp/>me<sp/>=<sp/>ME_SET_NONE;</highlight></codeline>
|
|
<codeline lineno="249"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="250"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!x.assigned())<sp/>{</highlight></codeline>
|
|
<codeline lineno="251"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Collect<sp/>the<sp/>weights<sp/>of<sp/>the<sp/>elements<sp/>in<sp/>the<sp/>unknown<sp/>set<sp/>in<sp/>an<sp/>array</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="252"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/><ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref><sp/>=<sp/>elements.size();</highlight></codeline>
|
|
<codeline lineno="253"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Region" kindref="compound">Region</ref><sp/>r(home);</highlight></codeline>
|
|
<codeline lineno="254"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal">*<sp/>currentWeights<sp/>=<sp/>r.<ref refid="classGecode_1_1Region_1a167cff2d16f08d890fff11f80e519233" kindref="member">alloc</ref><</highlight><highlight class="keywordtype">int</highlight><highlight class="normal">>(<ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>);</highlight></codeline>
|
|
<codeline lineno="255"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="256"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1UnknownRanges" kindref="compound">UnknownRanges<View></ref><sp/>ur(x);</highlight></codeline>
|
|
<codeline lineno="257"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues" kindref="compound">Iter::Ranges::ToValues<UnknownRanges<View></ref><sp/>><sp/>urv(ur);</highlight></codeline>
|
|
<codeline lineno="258"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i=0;<sp/>i<<ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>;<sp/>i++)<sp/>{</highlight></codeline>
|
|
<codeline lineno="259"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(!urv()<sp/>||<sp/>elements[i]<urv.<ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues_1a0fa7a1051bf37c3d44d7971292ff0dd4" kindref="member">val</ref>())<sp/>{</highlight></codeline>
|
|
<codeline lineno="260"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>currentWeights[i]<sp/>=<sp/>0;</highlight></codeline>
|
|
<codeline lineno="261"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}<sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/>{</highlight></codeline>
|
|
<codeline lineno="262"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>assert(elements[i]<sp/>==<sp/>urv.<ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues_1a0fa7a1051bf37c3d44d7971292ff0dd4" kindref="member">val</ref>());</highlight></codeline>
|
|
<codeline lineno="263"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>currentWeights[i]<sp/>=<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>[i];</highlight></codeline>
|
|
<codeline lineno="264"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>++urv;</highlight></codeline>
|
|
<codeline lineno="265"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="266"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="267"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="268"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Sort<sp/>the<sp/>weights<sp/>of<sp/>the<sp/>unknown<sp/>elements</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="269"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1IntLess" kindref="compound">IntLess</ref><sp/>il;</highlight></codeline>
|
|
<codeline lineno="270"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>Support::quicksort<int>(currentWeights,<sp/><ref refid="group__FuncIterRangesOp_1ga9f9ab6d72452ad86b95cd65abf463161" kindref="member">size</ref>,<sp/>il);</highlight></codeline>
|
|
<codeline lineno="271"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="272"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>The<sp/>maximum<sp/>number<sp/>of<sp/>elements<sp/>that<sp/>can<sp/>still<sp/>be<sp/>added<sp/>to<sp/>x</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="273"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>delta<sp/>=<sp/></highlight><highlight class="keyword">static_cast<</highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">></highlight><highlight class="normal">(<ref refid="group__TaskModelFloatArith_1ga121700708772a60191be6256c3c0d151" kindref="member">std::min</ref>(x.unknownSize(),<sp/>x.cardMax()<sp/>-<sp/>x.glbSize()));</highlight></codeline>
|
|
<codeline lineno="274"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="275"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>The<sp/>weight<sp/>of<sp/>the<sp/>elements<sp/>already<sp/>in<sp/>x</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="276"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1GlbRanges" kindref="compound">GlbRanges<View></ref><sp/>glb(x);</highlight></codeline>
|
|
<codeline lineno="277"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>glbWeight<sp/>=<sp/>weightI<GlbRanges<View><sp/>>(elements,<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>,<sp/>glb);</highlight></codeline>
|
|
<codeline lineno="278"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="279"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Compute<sp/>the<sp/>weight<sp/>of<sp/>the<sp/>current<sp/>lower<sp/>bound<sp/>of<sp/>x,<sp/>plus<sp/>at<sp/>most</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="280"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>delta-1<sp/>further<sp/>elements<sp/>with<sp/>smallest<sp/>negative<sp/>weights.<sp/>This<sp/>weight</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="281"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>determines<sp/>which<sp/>elements<sp/>in<sp/>the<sp/>upper<sp/>bound<sp/>cannot<sp/>possibly<sp/>be</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="282"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>added<sp/>to<sp/>x<sp/>(those<sp/>whose<sp/>weight<sp/>would<sp/>exceed<sp/>the<sp/>capacity<sp/>even<sp/>if</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="283"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>all<sp/>other<sp/>elements<sp/>are<sp/>minimal)</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="284"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>lowWeight<sp/>=<sp/>glbWeight;</highlight></codeline>
|
|
<codeline lineno="285"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i=0;<sp/>i<delta-1;<sp/>i++)<sp/>{</highlight></codeline>
|
|
<codeline lineno="286"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(currentWeights[i]<sp/>>=<sp/>0)</highlight></codeline>
|
|
<codeline lineno="287"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="288"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lowWeight+=currentWeights[i];</highlight></codeline>
|
|
<codeline lineno="289"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="290"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="291"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Compute<sp/>the<sp/>lowest<sp/>possible<sp/>weight<sp/>of<sp/>x.<sp/>If<sp/>there<sp/>is<sp/>another<sp/>element</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="292"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>with<sp/>negative<sp/>weight<sp/>left,<sp/>then<sp/>add<sp/>its<sp/>weight<sp/>to<sp/>lowWeight.</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="293"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Otherwise<sp/>lowWeight<sp/>is<sp/>already<sp/>the<sp/>lowest<sp/>possible<sp/>weight.</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="294"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>lowestWeight<sp/>=<sp/>lowWeight;</highlight></codeline>
|
|
<codeline lineno="295"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(delta>0<sp/>&&<sp/>currentWeights[delta-1]<0)</highlight></codeline>
|
|
<codeline lineno="296"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lowestWeight+=currentWeights[delta-1];</highlight></codeline>
|
|
<codeline lineno="297"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="298"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>If<sp/>after<sp/>including<sp/>the<sp/>minimal<sp/>number<sp/>of<sp/>required<sp/>elements,</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="299"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>no<sp/>more<sp/>element<sp/>with<sp/>negative<sp/>weight<sp/>is<sp/>available,<sp/>then</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="300"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>a<sp/>tighter<sp/>lower<sp/>bound<sp/>can<sp/>be<sp/>computed.</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="301"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(<sp/>(x.cardMin()<sp/>-<sp/>x.glbSize()<sp/>><sp/>0<sp/>&&</highlight></codeline>
|
|
<codeline lineno="302"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>currentWeights[x.cardMin()<sp/>-<sp/>x.glbSize()<sp/>-<sp/>1]<sp/>>=<sp/>0)<sp/>||</highlight></codeline>
|
|
<codeline lineno="303"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>currentWeights[0]<sp/>>=<sp/>0<sp/>)<sp/>{</highlight></codeline>
|
|
<codeline lineno="304"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>lowestPosWeight<sp/>=<sp/>glbWeight;</highlight></codeline>
|
|
<codeline lineno="305"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i=0;<sp/>i<x.cardMin()<sp/>-<sp/>x.glbSize();<sp/>i++)<sp/>{</highlight></codeline>
|
|
<codeline lineno="306"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lowestPosWeight<sp/>+=<sp/>currentWeights[i];</highlight></codeline>
|
|
<codeline lineno="307"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="308"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>lowestWeight<sp/>=<sp/><ref refid="group__TaskModelFloatArith_1ga958cb25ae9754d6cc35c7c6e34ebc1e3" kindref="member">std::max</ref>(lowestWeight,<sp/>lowestPosWeight);<sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight></codeline>
|
|
<codeline lineno="309"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="310"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="311"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Compute<sp/>the<sp/>highest<sp/>possible<sp/>weight<sp/>of<sp/>x<sp/>as<sp/>the<sp/>weight<sp/>of<sp/>the<sp/>lower</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="312"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>bound<sp/>plus<sp/>the<sp/>weight<sp/>of<sp/>the<sp/>delta<sp/>heaviest<sp/>elements<sp/>still<sp/>in<sp/>the</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="313"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>upper<sp/>bound.</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="314"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>highestWeight<sp/>=<sp/>glbWeight;</highlight></codeline>
|
|
<codeline lineno="315"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">for</highlight><highlight class="normal"><sp/>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>i=0;<sp/>i<delta;<sp/>i++)<sp/>{</highlight></codeline>
|
|
<codeline lineno="316"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(currentWeights[size-i-1]<=0)</highlight></codeline>
|
|
<codeline lineno="317"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">break</highlight><highlight class="normal">;</highlight></codeline>
|
|
<codeline lineno="318"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>highestWeight<sp/>+=<sp/>currentWeights[size-i-1];</highlight></codeline>
|
|
<codeline lineno="319"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="320"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="321"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Prune<sp/>the<sp/>weight<sp/>using<sp/>the<sp/>computed<sp/>bounds</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="322"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(y.gq(home,<sp/>lowestWeight));</highlight></codeline>
|
|
<codeline lineno="323"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(y.lq(home,<sp/>highestWeight));</highlight></codeline>
|
|
<codeline lineno="324"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="325"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Exclude<sp/>all<sp/>elements<sp/>that<sp/>are<sp/>too<sp/>heavy<sp/>from<sp/>the<sp/>set<sp/>x.</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="326"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Elements<sp/>are<sp/>too<sp/>heavy<sp/>if<sp/>their<sp/>weight<sp/>alone<sp/>already</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="327"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>exceeds<sp/>the<sp/>remaining<sp/>capacity</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="328"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>remainingCapacity<sp/>=<sp/>y.max()-lowWeight;</highlight></codeline>
|
|
<codeline lineno="329"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="330"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1UnknownRanges" kindref="compound">UnknownRanges<View></ref><sp/>ur2(x);</highlight></codeline>
|
|
<codeline lineno="331"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues" kindref="compound">Iter::Ranges::ToValues<UnknownRanges<View></ref><sp/>><sp/>urv2(ur2);</highlight></codeline>
|
|
<codeline lineno="332"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues" kindref="compound">OverweightValues<Iter::Ranges::ToValues<UnknownRanges<View></ref><sp/>><sp/>></highlight></codeline>
|
|
<codeline lineno="333"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>ov(remainingCapacity,<sp/>elements,<sp/>weights,<sp/>urv2);</highlight></codeline>
|
|
<codeline lineno="334"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Values_1_1ToRanges" kindref="compound">Iter::Values::ToRanges</ref><<ref refid="classGecode_1_1Set_1_1Int_1_1OverweightValues" kindref="compound">OverweightValues</ref><</highlight></codeline>
|
|
<codeline lineno="335"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Iter_1_1Ranges_1_1ToValues" kindref="compound">Iter::Ranges::ToValues<UnknownRanges<View></ref><sp/>><sp/>><sp/>><sp/>ovr(ov);</highlight></codeline>
|
|
<codeline lineno="336"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>me<sp/>=<sp/>x.excludeI(home,<sp/>ovr);</highlight></codeline>
|
|
<codeline lineno="337"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(me);</highlight></codeline>
|
|
<codeline lineno="338"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="339"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(x.assigned())<sp/>{</highlight></codeline>
|
|
<codeline lineno="340"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>If<sp/>x<sp/>is<sp/>assigned,<sp/>just<sp/>compute<sp/>its<sp/>weight<sp/>and<sp/>assign<sp/>y.</highlight><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="341"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><ref refid="classGecode_1_1Set_1_1GlbRanges" kindref="compound">GlbRanges<View></ref><sp/>glb(x);</highlight></codeline>
|
|
<codeline lineno="342"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>w<sp/>=</highlight></codeline>
|
|
<codeline lineno="343"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/><sp/><sp/>weightI<GlbRanges<View><sp/>>(elements,<sp/><ref refid="group__TaskModelSetConnect_1ga5b279613cd3b2d155e0ceec9bb462bb6" kindref="member">weights</ref>,<sp/>glb);</highlight></codeline>
|
|
<codeline lineno="344"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>GECODE_ME_CHECK(y.eq(home,<sp/>w));</highlight></codeline>
|
|
<codeline lineno="345"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>home.<ref refid="group__TaskActorStatus_1gafc19cbf71ed90a9e0b414b875103f4c7" kindref="member">ES_SUBSUMED</ref>(*</highlight><highlight class="keyword">this</highlight><highlight class="normal">);</highlight></codeline>
|
|
<codeline lineno="346"><highlight class="normal"><sp/><sp/><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="347"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="348"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/><ref refid="namespaceGecode_1ab0c2b67fac58a0d289893450d8a9b2bd" kindref="member">me_modified</ref>(me)<sp/>?<sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5ac32341b682bca52b8617a8ad004023ef" kindref="member">ES_NOFIX</ref><sp/>:<sp/><ref refid="namespaceGecode_1ab278aee34126d2f13c5429ee3c4ed3b5a13bb69056fb9293e8df98c0e347ba634" kindref="member">ES_FIX</ref>;</highlight></codeline>
|
|
<codeline lineno="349"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
|
|
<codeline lineno="350"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="351"><highlight class="normal">}}}</highlight></codeline>
|
|
<codeline lineno="352"><highlight class="normal"></highlight></codeline>
|
|
<codeline lineno="353"><highlight class="normal"></highlight><highlight class="comment">//<sp/>STATISTICS:<sp/>set-prop</highlight><highlight class="normal"></highlight></codeline>
|
|
</programlisting>
|
|
<location file="/usr/include/gecode/set/int/weights.hpp"/>
|
|
</compounddef>
|
|
</doxygen>
|