This repository has been archived on 2023-08-20. You can view files and clone it, but cannot push or open issues or pull requests.
yap-6.3/packages/gecode/dev/extractor/xml/int_2limits_8hpp.xml
Vitor Santos Costa a8eda03305 4.2.1 support
2014-01-22 09:41:47 +00:00

864 lines
64 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="int_2limits_8hpp" kind="file">
<compoundname>limits.hpp</compoundname>
<includedby refid="int_8hh" local="no">/usr/include/gecode/int.hh</includedby>
<invincdepgraph>
<node id="4199">
<label>/usr/include/gecode/int/nvalues/int-base.hpp</label>
<link refid="nvalues_2int-base_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4182">
<label>/usr/include/gecode/int/arithmetic.hh</label>
<link refid="int_2arithmetic_8hh_source"/>
</node>
<node id="4207">
<label>/usr/include/gecode/int/view/scale.hpp</label>
<link refid="int_2view_2scale_8hpp_source"/>
<childnode refid="4208" relation="include">
</childnode>
</node>
<node id="4205">
<label>/usr/include/gecode/int/div.hh</label>
<link refid="div_8hh_source"/>
<childnode refid="4206" relation="include">
</childnode>
<childnode refid="4207" relation="include">
</childnode>
</node>
<node id="4206">
<label>/usr/include/gecode/int/arithmetic/mult.hpp</label>
<link refid="int_2arithmetic_2mult_8hpp_source"/>
<childnode refid="4182" relation="include">
</childnode>
</node>
<node id="4167">
<label>/usr/include/gecode/flatzinc.hh</label>
<link refid="flatzinc_8hh_source"/>
<childnode refid="4168" relation="include">
</childnode>
<childnode refid="4169" relation="include">
</childnode>
</node>
<node id="4188">
<label>/usr/include/gecode/int/gcc/post.hpp</label>
<link refid="int_2gcc_2post_8hpp_source"/>
<childnode refid="4189" relation="include">
</childnode>
</node>
<node id="4237">
<label>/usr/include/gecode/minimodel.hh</label>
<link refid="minimodel_8hh_source"/>
<childnode refid="4238" relation="include">
</childnode>
</node>
<node id="4225">
<label>/usr/include/gecode/int/dom/range.hpp</label>
<link refid="range_8hpp_source"/>
<childnode refid="4209" relation="include">
</childnode>
</node>
<node id="4233">
<label>/usr/include/gecode/int/cumulative.hh</label>
<link refid="cumulative_8hh_source"/>
</node>
<node id="4234">
<label>/usr/include/gecode/int/unary.hh</label>
<link refid="unary_8hh_source"/>
<childnode refid="4233" relation="include">
</childnode>
</node>
<node id="4217">
<label>/usr/include/gecode/int/no-overlap.hh</label>
<link refid="no-overlap_8hh_source"/>
</node>
<node id="4231">
<label>/usr/include/gecode/int/support-values.hh</label>
<link refid="support-values_8hh_source"/>
<childnode refid="4206" relation="include">
</childnode>
</node>
<node id="4197">
<label>/usr/include/gecode/int/cumulatives.hh</label>
<link refid="cumulatives_8hh_source"/>
</node>
<node id="4240">
<label>/usr/include/gecode/set/channel.hh</label>
<link refid="set_2channel_8hh_source"/>
</node>
<node id="4198">
<label>/usr/include/gecode/int/distinct.hh</label>
<link refid="int_2distinct_8hh_source"/>
<childnode refid="4194" relation="include">
</childnode>
<childnode refid="4195" relation="include">
</childnode>
<childnode refid="4188" relation="include">
</childnode>
<childnode refid="4199" relation="include">
</childnode>
<childnode refid="4200" relation="include">
</childnode>
<childnode refid="4201" relation="include">
</childnode>
<childnode refid="4202" relation="include">
</childnode>
<childnode refid="4203" relation="include">
</childnode>
</node>
<node id="4176">
<label>/usr/include/gecode/gist/mainwindow.hh</label>
<link refid="mainwindow_8hh_source"/>
</node>
<node id="4254">
<label>/usr/include/gecode/set/rel.hh</label>
<link refid="set_2rel_8hh_source"/>
<childnode refid="4242" relation="include">
</childnode>
<childnode refid="4211" relation="include">
</childnode>
<childnode refid="4252" relation="include">
</childnode>
<childnode refid="4253" relation="include">
</childnode>
<childnode refid="4255" relation="include">
</childnode>
</node>
<node id="4244">
<label>/usr/include/gecode/set/int.hh</label>
<link refid="set_2int_8hh_source"/>
</node>
<node id="4178">
<label>/usr/include/gecode/gist/preferences.hh</label>
<link refid="preferences_8hh_source"/>
</node>
<node id="4227">
<label>/usr/include/gecode/int/member/prop.hpp</label>
<link refid="member_2prop_8hpp_source"/>
<childnode refid="4216" relation="include">
</childnode>
</node>
<node id="4212">
<label>/usr/include/gecode/int/exec.hh</label>
<link refid="exec_8hh_source"/>
</node>
<node id="4219">
<label>/usr/include/gecode/int/rel.hh</label>
<link refid="int_2rel_8hh_source"/>
<childnode refid="4220" relation="include">
</childnode>
<childnode refid="4221" relation="include">
</childnode>
<childnode refid="4222" relation="include">
</childnode>
<childnode refid="4182" relation="include">
</childnode>
<childnode refid="4223" relation="include">
</childnode>
<childnode refid="4224" relation="include">
</childnode>
<childnode refid="4198" relation="include">
</childnode>
<childnode refid="4225" relation="include">
</childnode>
<childnode refid="4209" relation="include">
</childnode>
<childnode refid="4226" relation="include">
</childnode>
<childnode refid="4210" relation="include">
</childnode>
<childnode refid="4213" relation="include">
</childnode>
<childnode refid="4227" relation="include">
</childnode>
<childnode refid="4228" relation="include">
</childnode>
<childnode refid="4190" relation="include">
</childnode>
<childnode refid="4229" relation="include">
</childnode>
<childnode refid="4200" relation="include">
</childnode>
<childnode refid="4201" relation="include">
</childnode>
<childnode refid="4202" relation="include">
</childnode>
<childnode refid="4230" relation="include">
</childnode>
<childnode refid="4203" relation="include">
</childnode>
</node>
<node id="4238">
<label>/usr/include/gecode/driver.hh</label>
<link refid="driver_8hh_source"/>
<childnode refid="4167" relation="include">
</childnode>
</node>
<node id="4221">
<label>/usr/include/gecode/int/arithmetic/nroot.hpp</label>
<link refid="nroot_8hpp_source"/>
<childnode refid="4182" relation="include">
</childnode>
</node>
<node id="4173">
<label>/usr/include/gecode/float.hh</label>
<link refid="float_8hh_source"/>
<childnode refid="4170" relation="include">
</childnode>
<childnode refid="4174" relation="include">
</childnode>
<childnode refid="4171" relation="include">
</childnode>
<childnode refid="4172" relation="include">
</childnode>
</node>
<node id="4220">
<label>/usr/include/gecode/int/arithmetic/max.hpp</label>
<link refid="max_8hpp_source"/>
<childnode refid="4182" relation="include">
</childnode>
</node>
<node id="4216">
<label>/usr/include/gecode/int/member.hh</label>
<link refid="member_8hh_source"/>
</node>
<node id="4168">
<label>/usr/include/gecode/flatzinc/parser.hh</label>
<link refid="parser_8hh_source"/>
</node>
<node id="4181">
<label>/usr/include/gecode/gist/qtgist.hh</label>
<link refid="qtgist_8hh_source"/>
<childnode refid="4176" relation="include">
</childnode>
<childnode refid="4177" relation="include">
</childnode>
</node>
<node id="4229">
<label>/usr/include/gecode/int/nvalues/bool-gq.hpp</label>
<link refid="bool-gq_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4248">
<label>/usr/include/gecode/set/branch.hh</label>
<link refid="set_2branch_8hh_source"/>
</node>
<node id="4196">
<label>/usr/include/gecode/int/count.hh</label>
<link refid="count_8hh_source"/>
</node>
<node id="4180">
<label>/usr/include/gecode/gist/treecanvas.hh</label>
<link refid="treecanvas_8hh_source"/>
<childnode refid="4181" relation="include">
</childnode>
</node>
<node id="4201">
<label>/usr/include/gecode/int/nvalues/int-gq.hpp</label>
<link refid="nvalues_2int-gq_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4224">
<label>/usr/include/gecode/int/count/rel.hpp</label>
<link refid="rel_8hpp_source"/>
<childnode refid="4196" relation="include">
</childnode>
</node>
<node id="4211">
<label>/usr/include/gecode/set/element.hh</label>
<link refid="set_2element_8hh_source"/>
</node>
<node id="4250">
<label>/usr/include/gecode/set/distinct.hh</label>
<link refid="set_2distinct_8hh_source"/>
</node>
<node id="4253">
<label>/usr/include/gecode/set/rel-op.hh</label>
<link refid="rel-op_8hh_source"/>
<childnode refid="4211" relation="include">
</childnode>
<childnode refid="4252" relation="include">
</childnode>
</node>
<node id="4202">
<label>/usr/include/gecode/int/nvalues/int-lq.hpp</label>
<link refid="nvalues_2int-lq_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4210">
<label>/usr/include/gecode/int/element.hh</label>
<link refid="int_2element_8hh_source"/>
<childnode refid="4211" relation="include">
</childnode>
</node>
<node id="4194">
<label>/usr/include/gecode/int/channel.hh</label>
<link refid="int_2channel_8hh_source"/>
</node>
<node id="4215">
<label>/usr/include/gecode/set/ldsb.hh</label>
<link refid="set_2ldsb_8hh_source"/>
</node>
<node id="4177">
<label>/usr/include/gecode/gist/nodewidget.hh</label>
<link refid="nodewidget_8hh_source"/>
</node>
<node id="4208">
<label>/usr/include/gecode/int/view.hpp</label>
<link refid="int_2view_8hpp_source"/>
<childnode refid="4166" relation="include">
</childnode>
</node>
<node id="4183">
<label>/usr/include/gecode/int/bin-packing.hh</label>
<link refid="bin-packing_8hh_source"/>
</node>
<node id="4184">
<label>/usr/include/gecode/int/bool.hh</label>
<link refid="bool_8hh_source"/>
<childnode refid="4185" relation="include">
</childnode>
<childnode refid="4190" relation="include">
</childnode>
<childnode refid="4192" relation="include">
</childnode>
</node>
<node id="4241">
<label>/usr/include/gecode/set/channel/int.hpp</label>
<link refid="set_2channel_2int_8hpp_source"/>
<childnode refid="4240" relation="include">
</childnode>
</node>
<node id="4242">
<label>/usr/include/gecode/set/channel/sorted.hpp</label>
<link refid="sorted_8hpp_source"/>
<childnode refid="4240" relation="include">
</childnode>
</node>
<node id="4228">
<label>/usr/include/gecode/int/member/re-prop.hpp</label>
<link refid="re-prop_8hpp_source"/>
<childnode refid="4216" relation="include">
</childnode>
</node>
<node id="4165">
<label>/usr/include/gecode/int/limits.hpp</label>
<link refid="int/limits.hpp"/>
<childnode refid="4166" relation="include">
</childnode>
</node>
<node id="4214">
<label>/usr/include/gecode/int/ldsb.hh</label>
<link refid="int_2ldsb_8hh_source"/>
<childnode refid="4215" relation="include">
</childnode>
</node>
<node id="4175">
<label>/usr/include/gecode/gist.hh</label>
<link refid="gist_8hh_source"/>
<childnode refid="4176" relation="include">
</childnode>
<childnode refid="4177" relation="include">
</childnode>
<childnode refid="4178" relation="include">
</childnode>
<childnode refid="4179" relation="include">
</childnode>
<childnode refid="4180" relation="include">
</childnode>
</node>
<node id="4193">
<label>/usr/include/gecode/int/branch.hh</label>
<link refid="int_2branch_8hh_source"/>
</node>
<node id="4191">
<label>/usr/include/gecode/int/nvalues.hh</label>
<link refid="nvalues_8hh_source"/>
</node>
<node id="4223">
<label>/usr/include/gecode/int/bool/ite.hpp</label>
<link refid="ite_8hpp_source"/>
<childnode refid="4184" relation="include">
</childnode>
</node>
<node id="4230">
<label>/usr/include/gecode/int/sequence.hh</label>
<link refid="int_2sequence_8hh_source"/>
</node>
<node id="4236">
<label>/usr/include/gecode/int/view-val-graph.hh</label>
<link refid="view-val-graph_8hh_source"/>
<childnode refid="4198" relation="include">
</childnode>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4185">
<label>/usr/include/gecode/int/linear/bool-int.hpp</label>
<link refid="bool-int_8hpp_source"/>
<childnode refid="4186" relation="include">
</childnode>
</node>
<node id="4203">
<label>/usr/include/gecode/int/sorted/propagate.hpp</label>
<link refid="sorted_2propagate_8hpp_source"/>
<childnode refid="4204" relation="include">
</childnode>
</node>
<node id="4172">
<label>/usr/include/gecode/float/rel.hh</label>
<link refid="float_2rel_8hh_source"/>
<childnode refid="4170" relation="include">
</childnode>
</node>
<node id="4179">
<label>/usr/include/gecode/gist/stopbrancher.hh</label>
<link refid="stopbrancher_8hh_source"/>
</node>
<node id="4170">
<label>/usr/include/gecode/float/arithmetic.hh</label>
<link refid="float_2arithmetic_8hh_source"/>
</node>
<node id="4169">
<label>/usr/include/gecode/flatzinc/registry.hh</label>
<link refid="registry_8hh_source"/>
</node>
<node id="4189">
<label>/usr/include/gecode/int/gcc.hh</label>
<link refid="gcc_8hh_source"/>
</node>
<node id="4245">
<label>/usr/include/gecode/set/int/minmax.hpp</label>
<link refid="minmax_8hpp_source"/>
<childnode refid="4244" relation="include">
</childnode>
</node>
<node id="4251">
<label>/usr/include/gecode/set/precede.hh</label>
<link refid="set_2precede_8hh_source"/>
</node>
<node id="4171">
<label>/usr/include/gecode/float/linear.hh</label>
<link refid="float_2linear_8hh_source"/>
</node>
<node id="4235">
<label>/usr/include/gecode/int/val-set.hh</label>
<link refid="val-set_8hh_source"/>
<childnode refid="4216" relation="include">
</childnode>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4166">
<label>/usr/include/gecode/int.hh</label>
<link refid="int_8hh_source"/>
<childnode refid="4167" relation="include">
</childnode>
<childnode refid="4170" relation="include">
</childnode>
<childnode refid="4171" relation="include">
</childnode>
<childnode refid="4172" relation="include">
</childnode>
<childnode refid="4173" relation="include">
</childnode>
<childnode refid="4175" relation="include">
</childnode>
<childnode refid="4182" relation="include">
</childnode>
<childnode refid="4183" relation="include">
</childnode>
<childnode refid="4184" relation="include">
</childnode>
<childnode refid="4193" relation="include">
</childnode>
<childnode refid="4194" relation="include">
</childnode>
<childnode refid="4195" relation="include">
</childnode>
<childnode refid="4196" relation="include">
</childnode>
<childnode refid="4197" relation="include">
</childnode>
<childnode refid="4198" relation="include">
</childnode>
<childnode refid="4205" relation="include">
</childnode>
<childnode refid="4209" relation="include">
</childnode>
<childnode refid="4210" relation="include">
</childnode>
<childnode refid="4212" relation="include">
</childnode>
<childnode refid="4213" relation="include">
</childnode>
<childnode refid="4189" relation="include">
</childnode>
<childnode refid="4214" relation="include">
</childnode>
<childnode refid="4186" relation="include">
</childnode>
<childnode refid="4216" relation="include">
</childnode>
<childnode refid="4217" relation="include">
</childnode>
<childnode refid="4191" relation="include">
</childnode>
<childnode refid="4218" relation="include">
</childnode>
<childnode refid="4219" relation="include">
</childnode>
<childnode refid="4230" relation="include">
</childnode>
<childnode refid="4204" relation="include">
</childnode>
<childnode refid="4231" relation="include">
</childnode>
<childnode refid="4232" relation="include">
</childnode>
<childnode refid="4235" relation="include">
</childnode>
<childnode refid="4236" relation="include">
</childnode>
<childnode refid="4237" relation="include">
</childnode>
<childnode refid="4239" relation="include">
</childnode>
<childnode refid="4241" relation="include">
</childnode>
<childnode refid="4242" relation="include">
</childnode>
<childnode refid="4243" relation="include">
</childnode>
<childnode refid="4245" relation="include">
</childnode>
<childnode refid="4246" relation="include">
</childnode>
<childnode refid="4247" relation="include">
</childnode>
</node>
<node id="4190">
<label>/usr/include/gecode/int/nvalues/bool-eq.hpp</label>
<link refid="bool-eq_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4192">
<label>/usr/include/gecode/int/nvalues/bool-lq.hpp</label>
<link refid="bool-lq_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4232">
<label>/usr/include/gecode/int/task.hh</label>
<link refid="task_8hh_source"/>
<childnode refid="4233" relation="include">
</childnode>
<childnode refid="4234" relation="include">
</childnode>
</node>
<node id="4213">
<label>/usr/include/gecode/int/extensional.hh</label>
<link refid="extensional_8hh_source"/>
</node>
<node id="4204">
<label>/usr/include/gecode/int/sorted.hh</label>
<link refid="sorted_8hh_source"/>
</node>
<node id="4246">
<label>/usr/include/gecode/set/int/weights.hpp</label>
<link refid="weights_8hpp_source"/>
<childnode refid="4244" relation="include">
</childnode>
</node>
<node id="4218">
<label>/usr/include/gecode/int/precede.hh</label>
<link refid="int_2precede_8hh_source"/>
</node>
<node id="4200">
<label>/usr/include/gecode/int/nvalues/int-eq.hpp</label>
<link refid="nvalues_2int-eq_8hpp_source"/>
<childnode refid="4191" relation="include">
</childnode>
</node>
<node id="4174">
<label>/usr/include/gecode/float/branch.hh</label>
<link refid="float_2branch_8hh_source"/>
</node>
<node id="4255">
<label>/usr/include/gecode/set/sequence.hh</label>
<link refid="set_2sequence_8hh_source"/>
</node>
<node id="4243">
<label>/usr/include/gecode/set/int/card.hpp</label>
<link refid="card_8hpp_source"/>
<childnode refid="4244" relation="include">
</childnode>
</node>
<node id="4187">
<label>/usr/include/gecode/int/arithmetic/divmod.hpp</label>
<link refid="divmod_8hpp_source"/>
<childnode refid="4182" relation="include">
</childnode>
</node>
<node id="4186">
<label>/usr/include/gecode/int/linear.hh</label>
<link refid="int_2linear_8hh_source"/>
<childnode refid="4187" relation="include">
</childnode>
<childnode refid="4182" relation="include">
</childnode>
<childnode refid="4188" relation="include">
</childnode>
</node>
<node id="4209">
<label>/usr/include/gecode/int/dom.hh</label>
<link refid="dom_8hh_source"/>
</node>
<node id="4239">
<label>/usr/include/gecode/set/channel/bool.hpp</label>
<link refid="set_2channel_2bool_8hpp_source"/>
<childnode refid="4240" relation="include">
</childnode>
</node>
<node id="4226">
<label>/usr/include/gecode/int/element/pair.hpp</label>
<link refid="pair_8hpp_source"/>
<childnode refid="4210" relation="include">
</childnode>
</node>
<node id="4247">
<label>/usr/include/gecode/set.hh</label>
<link refid="set_8hh_source"/>
<childnode refid="4248" relation="include">
</childnode>
<childnode refid="4242" relation="include">
</childnode>
<childnode refid="4240" relation="include">
</childnode>
<childnode refid="4249" relation="include">
</childnode>
<childnode refid="4250" relation="include">
</childnode>
<childnode refid="4211" relation="include">
</childnode>
<childnode refid="4243" relation="include">
</childnode>
<childnode refid="4245" relation="include">
</childnode>
<childnode refid="4246" relation="include">
</childnode>
<childnode refid="4244" relation="include">
</childnode>
<childnode refid="4215" relation="include">
</childnode>
<childnode refid="4251" relation="include">
</childnode>
<childnode refid="4252" relation="include">
</childnode>
<childnode refid="4253" relation="include">
</childnode>
<childnode refid="4254" relation="include">
</childnode>
<childnode refid="4255" relation="include">
</childnode>
</node>
<node id="4195">
<label>/usr/include/gecode/int/circuit.hh</label>
<link refid="circuit_8hh_source"/>
</node>
<node id="4252">
<label>/usr/include/gecode/set/rel-op/post.hpp</label>
<link refid="set_2rel-op_2post_8hpp_source"/>
<childnode refid="4253" relation="include">
</childnode>
</node>
<node id="4222">
<label>/usr/include/gecode/int/arithmetic/pow.hpp</label>
<link refid="pow_8hpp_source"/>
<childnode refid="4182" relation="include">
</childnode>
</node>
<node id="4249">
<label>/usr/include/gecode/set/convex.hh</label>
<link refid="convex_8hh_source"/>
</node>
</invincdepgraph>
<innernamespace refid="namespaceGecode">Gecode</innernamespace>
<innernamespace refid="namespaceGecode_1_1Int">Gecode::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/>Christian<sp/>Schulte<sp/>&lt;schulte@gecode.org&gt;</highlight></codeline>
<codeline lineno="5"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="6"><highlight class="comment"><sp/>*<sp/><sp/>Copyright:</highlight></codeline>
<codeline lineno="7"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>Christian<sp/>Schulte,<sp/>2005</highlight></codeline>
<codeline lineno="8"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="9"><highlight class="comment"><sp/>*<sp/><sp/>Last<sp/>modified:</highlight></codeline>
<codeline lineno="10"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Date:<sp/>2013-02-14<sp/>16:29:11<sp/>+0100<sp/>(Thu,<sp/>14<sp/>Feb<sp/>2013)<sp/>$<sp/>by<sp/>$Author:<sp/>schulte<sp/>$</highlight></codeline>
<codeline lineno="11"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>$Revision:<sp/>13292<sp/>$</highlight></codeline>
<codeline lineno="12"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="13"><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="14"><highlight class="comment"><sp/>*<sp/><sp/>development<sp/>environment:</highlight></codeline>
<codeline lineno="15"><highlight class="comment"><sp/>*<sp/><sp/><sp/><sp/><sp/>http://www.gecode.org</highlight></codeline>
<codeline lineno="16"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="17"><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="18"><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="19"><highlight class="comment"><sp/>*<sp/><sp/>&quot;Software&quot;),<sp/>to<sp/>deal<sp/>in<sp/>the<sp/>Software<sp/>without<sp/>restriction,<sp/>including</highlight></codeline>
<codeline lineno="20"><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="21"><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="22"><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="23"><highlight class="comment"><sp/>*<sp/><sp/>the<sp/>following<sp/>conditions:</highlight></codeline>
<codeline lineno="24"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="25"><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="26"><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="27"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="28"><highlight class="comment"><sp/>*<sp/><sp/>THE<sp/>SOFTWARE<sp/>IS<sp/>PROVIDED<sp/>&quot;AS<sp/>IS&quot;,<sp/>WITHOUT<sp/>WARRANTY<sp/>OF<sp/>ANY<sp/>KIND,</highlight></codeline>
<codeline lineno="29"><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="30"><highlight class="comment"><sp/>*<sp/><sp/>MERCHANTABILITY,<sp/>FITNESS<sp/>FOR<sp/>A<sp/>PARTICULAR<sp/>PURPOSE<sp/>AND</highlight></codeline>
<codeline lineno="31"><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="32"><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="33"><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="34"><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="35"><highlight class="comment"><sp/>*</highlight></codeline>
<codeline lineno="36"><highlight class="comment"><sp/>*/</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="37"><highlight class="normal"></highlight></codeline>
<codeline lineno="38"><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">Int<sp/>{</highlight></codeline>
<codeline lineno="39"><highlight class="normal"></highlight></codeline>
<codeline lineno="40"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="41" refid="namespaceGecode_1_1Int_1_1Limits_1a9f38c9a86fc2da4db070dd6fb8ea186c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a9f38c9a86fc2da4db070dd6fb8ea186c" kindref="member">Limits::valid</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n)<sp/>{</highlight></codeline>
<codeline lineno="42"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>((n<sp/>&gt;=<sp/>min)<sp/>&amp;&amp;<sp/>(n<sp/>&lt;=<sp/>max));</highlight></codeline>
<codeline lineno="43"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="44"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="45" refid="namespaceGecode_1_1Int_1_1Limits_1aad63f67cb78ec44f15fc48405bbb3d87" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a9f38c9a86fc2da4db070dd6fb8ea186c" kindref="member">Limits::valid</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n)<sp/>{</highlight></codeline>
<codeline lineno="46"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>((n<sp/>&gt;=<sp/>min)<sp/>&amp;&amp;<sp/>(n<sp/>&lt;=<sp/>max));</highlight></codeline>
<codeline lineno="47"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="48"><highlight class="normal"><sp/><sp/></highlight></codeline>
<codeline lineno="49"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="50" refid="namespaceGecode_1_1Int_1_1Limits_1a599fb66cd1480d48f8cb8f4aedf14551" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a599fb66cd1480d48f8cb8f4aedf14551" kindref="member">Limits::check</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>l)<sp/>{</highlight></codeline>
<codeline lineno="51"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&lt;<sp/>min)<sp/>||<sp/>(n<sp/>&gt;<sp/>max))</highlight></codeline>
<codeline lineno="52"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1OutOfLimits" kindref="compound">OutOfLimits</ref>(l);</highlight></codeline>
<codeline lineno="53"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="54"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="55" refid="namespaceGecode_1_1Int_1_1Limits_1a5bc72ca2907d717dae8eeaf6e2450541" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a599fb66cd1480d48f8cb8f4aedf14551" kindref="member">Limits::check</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>l)<sp/>{</highlight></codeline>
<codeline lineno="56"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&lt;<sp/>min)<sp/>||<sp/>(n<sp/>&gt;<sp/>max))</highlight></codeline>
<codeline lineno="57"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1OutOfLimits" kindref="compound">OutOfLimits</ref>(l);</highlight></codeline>
<codeline lineno="58"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="59"><highlight class="normal"><sp/><sp/></highlight></codeline>
<codeline lineno="60"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="61" refid="namespaceGecode_1_1Int_1_1Limits_1a3bd12aaf542cfe4220218c6ae290b2da" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a3bd12aaf542cfe4220218c6ae290b2da" kindref="member">Limits::positive</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>l)<sp/>{</highlight></codeline>
<codeline lineno="62"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&lt;=<sp/>0)<sp/>||<sp/>(n<sp/>&gt;<sp/>max))</highlight></codeline>
<codeline lineno="63"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1OutOfLimits" kindref="compound">OutOfLimits</ref>(l);</highlight></codeline>
<codeline lineno="64"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="65"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="66" refid="namespaceGecode_1_1Int_1_1Limits_1ae081933c7448044b37c1dbb5d4e6953a" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a3bd12aaf542cfe4220218c6ae290b2da" kindref="member">Limits::positive</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>l)<sp/>{</highlight></codeline>
<codeline lineno="67"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&lt;=<sp/>0.0)<sp/>||<sp/>(n<sp/>&gt;<sp/>max))</highlight></codeline>
<codeline lineno="68"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1OutOfLimits" kindref="compound">OutOfLimits</ref>(l);</highlight></codeline>
<codeline lineno="69"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="70"><highlight class="normal"><sp/><sp/></highlight></codeline>
<codeline lineno="71"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="72" refid="namespaceGecode_1_1Int_1_1Limits_1a4ed1c3010669dffdca42157047329b55" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a4ed1c3010669dffdca42157047329b55" kindref="member">Limits::nonnegative</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>l)<sp/>{</highlight></codeline>
<codeline lineno="73"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&lt;<sp/>0)<sp/>||<sp/>(n<sp/>&gt;<sp/>max))</highlight></codeline>
<codeline lineno="74"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1OutOfLimits" kindref="compound">OutOfLimits</ref>(l);</highlight></codeline>
<codeline lineno="75"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="76"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">void</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="77" refid="namespaceGecode_1_1Int_1_1Limits_1a17ac574266ed2195a4caae0cc84d6ad5" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a4ed1c3010669dffdca42157047329b55" kindref="member">Limits::nonnegative</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keyword">const</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">char</highlight><highlight class="normal">*<sp/>l)<sp/>{</highlight></codeline>
<codeline lineno="78"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>&lt;<sp/>0.0)<sp/>||<sp/>(n<sp/>&gt;<sp/>max))</highlight></codeline>
<codeline lineno="79"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">throw</highlight><highlight class="normal"><sp/><ref refid="classGecode_1_1Int_1_1OutOfLimits" kindref="compound">OutOfLimits</ref>(l);</highlight></codeline>
<codeline lineno="80"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="81"><highlight class="normal"><sp/><sp/></highlight></codeline>
<codeline lineno="82"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="83" refid="namespaceGecode_1_1Int_1_1Limits_1a6d4ef7d4bc24565a3ea8eee87bd560b4" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a6d4ef7d4bc24565a3ea8eee87bd560b4" kindref="member">Limits::overflow_add</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="84"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nm<sp/>=<sp/></highlight></codeline>
<codeline lineno="85"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(n)<sp/>+<sp/>static_cast&lt;long<sp/>long<sp/>int&gt;(m);</highlight></codeline>
<codeline lineno="86"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(nm<sp/>&gt;<sp/>INT_MAX)<sp/>||<sp/>(nm<sp/>&lt;<sp/>INT_MIN+1);</highlight></codeline>
<codeline lineno="87"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="88"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="89" refid="namespaceGecode_1_1Int_1_1Limits_1a09fb8df8a0747484bc56abaa2ad19530" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a6d4ef7d4bc24565a3ea8eee87bd560b4" kindref="member">Limits::overflow_add</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="90"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(m<sp/>&lt;<sp/>0)</highlight></codeline>
<codeline lineno="91"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>n<sp/>&lt;<sp/>LLONG_MIN<sp/>+<sp/>1<sp/>-<sp/>m;</highlight></codeline>
<codeline lineno="92"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="93"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>n<sp/>&gt;<sp/>LLONG_MAX<sp/>-<sp/>m;</highlight></codeline>
<codeline lineno="94"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="95"><highlight class="normal"></highlight></codeline>
<codeline lineno="96"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="97" refid="namespaceGecode_1_1Int_1_1Limits_1ac67ec5f9a4bf51ca96c216c01e8c0a24" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1ac67ec5f9a4bf51ca96c216c01e8c0a24" kindref="member">Limits::overflow_sub</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="98"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nm<sp/>=<sp/></highlight></codeline>
<codeline lineno="99"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(n)<sp/>-<sp/>static_cast&lt;long<sp/>long<sp/>int&gt;(m);</highlight></codeline>
<codeline lineno="100"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(nm<sp/>&gt;<sp/>INT_MAX)<sp/>||<sp/>(nm<sp/>&lt;<sp/>INT_MIN+1);</highlight></codeline>
<codeline lineno="101"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="102"><highlight class="normal"><sp/><sp/>forceinline<sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="103" refid="namespaceGecode_1_1Int_1_1Limits_1a6bc6fdb9c7ff103655a5029a767f4e24" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1ac67ec5f9a4bf51ca96c216c01e8c0a24" kindref="member">Limits::overflow_sub</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="104"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(m<sp/>&lt;<sp/>0)</highlight></codeline>
<codeline lineno="105"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>n<sp/>&gt;<sp/>LLONG_MAX<sp/>+<sp/>m;</highlight></codeline>
<codeline lineno="106"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="107"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>n<sp/>&lt;<sp/>LLONG_MIN<sp/>+<sp/>1<sp/>+<sp/>m;</highlight></codeline>
<codeline lineno="108"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="109"><highlight class="normal"></highlight></codeline>
<codeline lineno="110"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="111" refid="namespaceGecode_1_1Int_1_1Limits_1a6eed53c743936f191655e99fdd61944f" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a6eed53c743936f191655e99fdd61944f" kindref="member">Limits::overflow_mul</ref>(</highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="112"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>nm<sp/>=<sp/></highlight></codeline>
<codeline lineno="113"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(n)<sp/>*<sp/>static_cast&lt;long<sp/>long<sp/>int&gt;(m);</highlight></codeline>
<codeline lineno="114"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>(nm<sp/>&gt;<sp/>INT_MAX)<sp/>||<sp/>(nm<sp/>&lt;<sp/>INT_MIN+1);</highlight></codeline>
<codeline lineno="115"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="116"><highlight class="normal"></highlight></codeline>
<codeline lineno="117"><highlight class="normal"><sp/><sp/></highlight><highlight class="keyword">inline</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">bool</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="118" refid="namespaceGecode_1_1Int_1_1Limits_1a76c86d03e44d0097c62b4eec5d54225c" refkind="member"><highlight class="normal"><sp/><sp/><ref refid="namespaceGecode_1_1Int_1_1Limits_1a6eed53c743936f191655e99fdd61944f" kindref="member">Limits::overflow_mul</ref>(</highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>n,<sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>m)<sp/>{</highlight></codeline>
<codeline lineno="119"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Check<sp/>whether<sp/>we<sp/>can<sp/>at<sp/>least<sp/>change<sp/>the<sp/>sign</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="120"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((n<sp/>==<sp/>LLONG_MIN)<sp/>||<sp/>(m<sp/>==<sp/>LLONG_MIN))</highlight></codeline>
<codeline lineno="121"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="122"><highlight class="normal"></highlight></codeline>
<codeline lineno="123"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>un<sp/>=<sp/></highlight></codeline>
<codeline lineno="124"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(n<sp/>&lt;<sp/>0<sp/>?<sp/>-n<sp/>:<sp/>n);</highlight></codeline>
<codeline lineno="125"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>um<sp/>=<sp/></highlight></codeline>
<codeline lineno="126"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(m<sp/>&lt;<sp/>0<sp/>?<sp/>-m<sp/>:<sp/>m);</highlight></codeline>
<codeline lineno="127"><highlight class="normal"></highlight></codeline>
<codeline lineno="128"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keyword">const</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/>k<sp/>=<sp/>CHAR_BIT<sp/>*<sp/></highlight><highlight class="keyword">sizeof</highlight><highlight class="normal">(int);</highlight></codeline>
<codeline lineno="129"><highlight class="normal"></highlight></codeline>
<codeline lineno="130"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>un_hi<sp/>=<sp/>un<sp/>&gt;&gt;<sp/>k;<sp/></highlight></codeline>
<codeline lineno="131"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>un_lo<sp/>=<sp/>un<sp/>&amp;<sp/>((1ULL<sp/>&lt;&lt;<sp/>k)<sp/>-<sp/>1ULL);</highlight></codeline>
<codeline lineno="132"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>um_hi<sp/>=<sp/>um<sp/>&gt;&gt;<sp/>k;<sp/></highlight></codeline>
<codeline lineno="133"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>um_lo<sp/>=<sp/>um<sp/>&amp;<sp/>((1ULL<sp/>&lt;&lt;<sp/>k)<sp/>-<sp/>1ULL);</highlight></codeline>
<codeline lineno="134"><highlight class="normal"></highlight></codeline>
<codeline lineno="135"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>This<sp/>would<sp/>mean<sp/>that<sp/>there<sp/>is<sp/>something<sp/>larger<sp/>than<sp/>2^64</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="136"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((un_hi<sp/>!=<sp/>0ULL)<sp/>&amp;&amp;<sp/>(um_hi<sp/>!=<sp/>0ULL))</highlight></codeline>
<codeline lineno="137"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="138"><highlight class="normal"></highlight></codeline>
<codeline lineno="139"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>unm_hi<sp/>=<sp/>0ULL;</highlight></codeline>
<codeline lineno="140"><highlight class="normal"></highlight></codeline>
<codeline lineno="141"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Now,<sp/>either<sp/>un_hi<sp/>or<sp/>m_hi<sp/>can<sp/>be<sp/>different<sp/>from<sp/>zero</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="142"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(un_hi<sp/>!=<sp/>0ULL)</highlight></codeline>
<codeline lineno="143"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>unm_hi<sp/>=<sp/>un_hi<sp/>*<sp/>um_lo;</highlight></codeline>
<codeline lineno="144"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>(um_hi<sp/>!=<sp/>0ULL)</highlight></codeline>
<codeline lineno="145"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/>unm_hi<sp/>=<sp/>um_hi<sp/>*<sp/>un_lo;</highlight></codeline>
<codeline lineno="146"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">else</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="147"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">false</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="148"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight></codeline>
<codeline lineno="149"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="comment">//<sp/>Again,<sp/>something<sp/>larger<sp/>than<sp/>2^64</highlight><highlight class="normal"></highlight></codeline>
<codeline lineno="150"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">if</highlight><highlight class="normal"><sp/>((unm_hi<sp/>&gt;&gt;<sp/>k)<sp/>!=<sp/>0ULL)</highlight></codeline>
<codeline lineno="151"><highlight class="normal"><sp/><sp/><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/></highlight><highlight class="keyword">true</highlight><highlight class="normal">;</highlight></codeline>
<codeline lineno="152"><highlight class="normal"><sp/><sp/><sp/><sp/>unm_hi<sp/>&lt;&lt;=<sp/>k;</highlight></codeline>
<codeline lineno="153"><highlight class="normal"></highlight></codeline>
<codeline lineno="154"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="normal"><sp/>unm_lo<sp/>=<sp/>un_lo<sp/>*<sp/>um_lo;</highlight></codeline>
<codeline lineno="155"><highlight class="normal"></highlight></codeline>
<codeline lineno="156"><highlight class="normal"><sp/><sp/><sp/><sp/></highlight><highlight class="keywordflow">return</highlight><highlight class="normal"><sp/>unm_hi<sp/>&gt;<sp/></highlight><highlight class="keyword">static_cast&lt;</highlight><highlight class="keywordtype">unsigned</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">long</highlight><highlight class="normal"><sp/></highlight><highlight class="keywordtype">int</highlight><highlight class="keyword">&gt;</highlight><highlight class="normal">(LLONG_MAX)<sp/>-<sp/>unm_lo;</highlight></codeline>
<codeline lineno="157"><highlight class="normal"><sp/><sp/>}</highlight></codeline>
<codeline lineno="158"><highlight class="normal"></highlight></codeline>
<codeline lineno="159"><highlight class="normal">}}</highlight></codeline>
<codeline lineno="160"><highlight class="normal"></highlight></codeline>
<codeline lineno="161"><highlight class="normal"></highlight><highlight class="comment">//<sp/>STATISTICS:<sp/>int-var</highlight><highlight class="normal"></highlight></codeline>
</programlisting>
<location file="/usr/include/gecode/int/limits.hpp"/>
</compounddef>
</doxygen>