view.hpp iostream gecode/float/var/float.hpp gecode/float/view/float.hpp gecode/float/view/minus.hpp gecode/float/view/offset.hpp gecode/float/view/scale.hpp gecode/float/view/print.hpp gecode/float/var/print.hpp gecode/float/view/rel-test.hpp /usr/include/gecode/float.hh Gecode::Float::FloatView Gecode::Float::MinusView Gecode::Float::OffsetView Gecode::Float::ScaleView 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,2005 *VincentBarichard,2012 * *Lastmodified: *$Date:2013-02-0417:54:05+0100(Mon,04Feb2013)$by$Author:schulte$ *$Revision:13260$ * *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. * */ #include<iostream> namespaceGecode{namespaceFloat{ classFloatView:publicVarImpView<FloatVar>{ protected: usingVarImpView<FloatVar>::x; public: FloatView(void); FloatView(constFloatVar&y); FloatView(FloatVarImp*y); FloatValdomain(void)const; FloatNummin(void)const; FloatNummax(void)const; FloatNummed(void)const; FloatValval(void)const; FloatNumsize(void)const; boolzero_in(void)const; boolin(FloatNumn)const; boolin(constFloatVal&n)const; ModEventlq(Space&home,intn); ModEventlq(Space&home,FloatNumn); ModEventlq(Space&home,FloatValn); ModEventgq(Space&home,intn); ModEventgq(Space&home,FloatNumn); ModEventgq(Space&home,FloatValn); ModEventeq(Space&home,intn); ModEventeq(Space&home,FloatNumn); ModEventeq(Space&home,constFloatVal&n); FloatNummin(constDelta&d)const; FloatNummax(constDelta&d)const; staticModEventDeltamed(ModEventme); }; template<classChar,classTraits> std::basic_ostream<Char,Traits>& operator<<(std::basic_ostream<Char,Traits>&os,constFloatView&x); classMinusView:publicDerivedView<FloatView>{ protected: usingDerivedView<FloatView>::x; public: MinusView(void); explicitMinusView(constFloatView&y); FloatValdomain(void)const; FloatNummin(void)const; FloatNummax(void)const; FloatNummed(void)const; FloatValval(void)const; FloatNumsize(void)const; boolzero_in(void)const; boolin(FloatNumn)const; boolin(constFloatVal&n)const; ModEventlq(Space&home,intn); ModEventlq(Space&home,FloatNumn); ModEventlq(Space&home,FloatValn); ModEventgq(Space&home,intn); ModEventgq(Space&home,FloatNumn); ModEventgq(Space&home,FloatValn); ModEventeq(Space&home,intn); ModEventeq(Space&home,FloatNumn); ModEventeq(Space&home,constFloatVal&n); FloatNummin(constDelta&d)const; FloatNummax(constDelta&d)const; staticModEventDeltamed(ModEventme); }; template<classChar,classTraits> std::basic_ostream<Char,Traits>& operator<<(std::basic_ostream<Char,Traits>&os,constMinusView&x); classOffsetView:publicDerivedView<FloatView>{ protected: FloatNumc; usingDerivedView<FloatView>::x; public: OffsetView(void); explicitOffsetView(constFloatView&y,FloatNumc); FloatNumoffset(void)const; voidoffset(FloatNumn); FloatValdomain(void)const; FloatNummin(void)const; FloatNummax(void)const; FloatNummed(void)const; FloatValval(void)const; FloatNumsize(void)const; boolzero_in(void)const; boolin(FloatNumn)const; boolin(constFloatVal&n)const; ModEventlq(Space&home,intn); ModEventlq(Space&home,FloatNumn); ModEventlq(Space&home,FloatValn); ModEventgq(Space&home,intn); ModEventgq(Space&home,FloatNumn); ModEventgq(Space&home,FloatValn); ModEventeq(Space&home,intn); ModEventeq(Space&home,FloatNumn); ModEventeq(Space&home,constFloatVal&n); FloatNummin(constDelta&d)const; FloatNummax(constDelta&d)const; staticModEventDeltamed(ModEventme); voidupdate(Space&home,boolshare,OffsetView&y); }; template<classChar,classTraits> std::basic_ostream<Char,Traits>& operator<<(std::basic_ostream<Char,Traits>&os,constOffsetView&x); classScaleView:publicDerivedView<FloatView>{ protected: usingDerivedView<FloatView>::x; FloatVala; public: ScaleView(void); ScaleView(FloatValb,constFloatView&y); FloatValdomain(void)const; FloatValscale(void)const; FloatNummin(void)const; FloatNummax(void)const; FloatNummed(void)const; FloatValval(void)const; FloatNumsize(void)const; boolzero_in(void)const; boolin(FloatNumn)const; boolin(constFloatVal&n)const; ModEventlq(Space&home,intn); ModEventlq(Space&home,FloatNumn); ModEventlq(Space&home,FloatValn); ModEventgq(Space&home,intn); ModEventgq(Space&home,FloatNumn); ModEventgq(Space&home,FloatValn); ModEventeq(Space&home,intn); ModEventeq(Space&home,FloatNumn); ModEventeq(Space&home,constFloatVal&n); FloatNummin(constDelta&d)const; FloatNummax(constDelta&d)const; staticModEventDeltamed(ModEventme); voidupdate(Space&home,boolshare,ScaleView&y); }; template<classChar,classTraits> std::basic_ostream<Char,Traits>& operator<<(std::basic_ostream<Char,Traits>&os,constScaleView&x); }} #include<gecode/float/var/float.hpp> #include<gecode/float/view/float.hpp> #include<gecode/float/view/minus.hpp> #include<gecode/float/view/offset.hpp> #include<gecode/float/view/scale.hpp> #include<gecode/float/view/print.hpp> #include<gecode/float/var/print.hpp> namespaceGecode{namespaceFloat{ enumRelTest{ RT_FALSE=0, RT_MAYBE=1, RT_TRUE=2 }; template<classView>RelTestrtest_eq(Viewx,Viewy); template<classView>RelTestrtest_eq(Viewx,FloatValn); template<classView>RelTestrtest_lq(Viewx,Viewy); template<classView>RelTestrtest_lq(Viewx,FloatValn); template<classView>RelTestrtest_le(Viewx,Viewy); template<classView>RelTestrtest_le(Viewx,FloatValn); }} #include<gecode/float/view/rel-test.hpp> //STATISTICS:float-var