branch.hh gecode/float.hh gecode/float/branch/merit.hpp gecode/float/branch/val-sel.hpp gecode/float/branch/val-commit.hpp Gecode::Float::Branch::MeritMin Gecode::Float::Branch::MeritMax Gecode::Float::Branch::MeritSize Gecode::Float::Branch::MeritDegreeSize Gecode::Float::Branch::MeritAFCSize Gecode::Float::Branch::MeritActivitySize Gecode::Float::Branch::ValSelLq Gecode::Float::Branch::ValSelGq Gecode::Float::Branch::ValSelRnd Gecode::Float::Branch::ValCommitLqGq Gecode::Float::Branch Gecode Gecode::Float /*-*-mode:C++;c-basic-offset:2;indent-tabs-mode:nil-*-*/ /* *Mainauthors: *ChristianSchulte<schulte@gecode.org> *VincentBarichard<Vincent.Barichard@univ-angers.fr> * *Copyright: *ChristianSchulte,2012 *VincentBarichard,2012 * *Lastmodified: *$Date:2013-07-0417:03:13+0200(Thu,04Jul2013)$by$Author:schulte$ *$Revision:13801$ * *ThisfileispartofGecode,thegenericconstraint *developmentenvironment: *http://www.gecode.org * *Permissionisherebygranted,freeofcharge,toanypersonobtaining *acopyofthissoftwareandassociateddocumentationfiles(the *"Software"),todealintheSoftwarewithoutrestriction,including *withoutlimitationtherightstouse,copy,modify,merge,publish, *distribute,sublicense,and/orsellcopiesoftheSoftware,andto *permitpersonstowhomtheSoftwareisfurnishedtodoso,subjectto *thefollowingconditions: * *Theabovecopyrightnoticeandthispermissionnoticeshallbe *includedinallcopiesorsubstantialportionsoftheSoftware. * *THESOFTWAREISPROVIDED"ASIS",WITHOUTWARRANTYOFANYKIND, *EXPRESSORIMPLIED,INCLUDINGBUTNOTLIMITEDTOTHEWARRANTIESOF *MERCHANTABILITY,FITNESSFORAPARTICULARPURPOSEAND *NONINFRINGEMENT.INNOEVENTSHALLTHEAUTHORSORCOPYRIGHTHOLDERSBE *LIABLEFORANYCLAIM,DAMAGESOROTHERLIABILITY,WHETHERINANACTION *OFCONTRACT,TORTOROTHERWISE,ARISINGFROM,OUTOFORINCONNECTION *WITHTHESOFTWAREORTHEUSEOROTHERDEALINGSINTHESOFTWARE. * */ #ifndef__GECODE_FLOAT_BRANCH_HH__ #define__GECODE_FLOAT_BRANCH_HH__ #include<gecode/float.hh> namespaceGecode{namespaceFloat{namespaceBranch{ classMeritMin:publicMeritBase<FloatView,double>{ public: MeritMin(Space&home,constVarBranch&vb); MeritMin(Space&home,boolshared,MeritMin&m); doubleoperator ()(constSpace&home,FloatViewx,inti); }; classMeritMax:publicMeritBase<FloatView,double>{ public: MeritMax(Space&home,constVarBranch&vb); MeritMax(Space&home,boolshared,MeritMax&m); doubleoperator ()(constSpace&home,FloatViewx,inti); }; classMeritSize:publicMeritBase<FloatView,double>{ public: MeritSize(Space&home,constVarBranch&vb); MeritSize(Space&home,boolshared,MeritSize&m); doubleoperator ()(constSpace&home,FloatViewx,inti); }; classMeritDegreeSize:publicMeritBase<FloatView,double>{ public: MeritDegreeSize(Space&home,constVarBranch&vb); MeritDegreeSize(Space&home,boolshared,MeritDegreeSize&m); doubleoperator ()(constSpace&home,FloatViewx,inti); }; classMeritAFCSize:publicMeritBase<FloatView,double>{ protected: AFCafc; public: MeritAFCSize(Space&home,constVarBranch&vb); MeritAFCSize(Space&home,boolshared,MeritAFCSize&m); doubleoperator ()(constSpace&home,FloatViewx,inti); boolnotice(void)const; voiddispose(Space&home); }; classMeritActivitySize:publicMeritBase<FloatView,double>{ protected: Activityactivity; public: MeritActivitySize(Space&home,constVarBranch&vb); MeritActivitySize(Space&home,boolshared,MeritActivitySize&m); doubleoperator ()(constSpace&home,FloatViewx,inti); boolnotice(void)const; voiddispose(Space&home); }; }}} #include<gecode/float/branch/merit.hpp> namespaceGecode{namespaceFloat{namespaceBranch{ GECODE_FLOAT_EXPORT ViewSel<FloatView>*viewsel(Space&home,constFloatVarBranch&fvb); }}} namespaceGecode{namespaceFloat{namespaceBranch{ classValSelLq:publicValSel<FloatView,FloatNumBranch>{ public: ValSelLq(Space&home,constValBranch&vb); ValSelLq(Space&home,boolshared,ValSelLq&vs); FloatNumBranchval(constSpace&home,FloatViewx,inti); }; classValSelGq:publicValSel<FloatView,FloatNumBranch>{ public: ValSelGq(Space&home,constValBranch&vb); ValSelGq(Space&home,boolshared,ValSelGq&vs); FloatNumBranchval(constSpace&home,FloatViewx,inti); }; classValSelRnd:publicValSel<FloatView,FloatNumBranch>{ protected: Rndr; public: ValSelRnd(Space&home,constValBranch&vb); ValSelRnd(Space&home,boolshared,ValSelRnd&vs); FloatNumBranchval(constSpace&home,FloatViewx,inti); boolnotice(void)const; voiddispose(Space&home); }; }}} #include<gecode/float/branch/val-sel.hpp> namespaceGecode{namespaceFloat{namespaceBranch{ classValCommitLqGq:publicValCommit<FloatView,FloatVal>{ public: ValCommitLqGq(Space&home,constValBranch&vb); ValCommitLqGq(Space&home,boolshared,ValCommitLqGq&vc); ModEventcommit(Space&home,unsignedinta,FloatViewx,inti, FloatNumBranchn); NGL*ngl(Space&home,unsignedinta,FloatViewx,FloatNumBranchn)const; voidprint(constSpace&home,unsignedinta,FloatViewx,inti, FloatNumBranchn, std::ostream&o)const; }; }}} #include<gecode/float/branch/val-commit.hpp> namespaceGecode{namespaceFloat{namespaceBranch{ GECODE_FLOAT_EXPORT ValSelCommitBase<FloatView,FloatNumBranch>* valselcommit(Space&home,constFloatValBranch&svb); GECODE_FLOAT_EXPORT ValSelCommitBase<FloatView,FloatNumBranch>* valselcommit(Space&home,constFloatAssign&ia); }}} #endif //STATISTICS:float-branch