예제 #1
0
파일: rel.cpp 프로젝트: Wushaowei001/vcp
 /// Perform creation and registration
 Create(void) {
   using namespace Gecode;
   Gecode::FloatNum step = 0.7;
   for (FloatRelTypes frts; frts(); ++frts) {
    (void) new FloatVarXY(frts.frt(),1,step);
    (void) new FloatVarXY(frts.frt(),2,step);
    (void) new FloatVarXX(frts.frt(),step);
     for (int c=-4; c<=4; c++) {
       (void) new FloatFloat(frts.frt(),1,c,step);
       (void) new FloatFloat(frts.frt(),2,c,step);
     }
   }
 }
예제 #2
0
파일: linear.cpp 프로젝트: Gecode/gecode
       /// Perform creation and registration
       Create(void) {
         using namespace Gecode;
         {
           FloatNum step = 0.7;
           FloatVal f1(-2,2);
           FloatVal f2(-3,-1);
           FloatVal f3(3,8);

           FloatValArgs a1(1);
           a1[0] = 0.0;

           for (FloatRelTypes frts; frts(); ++frts) {
             (void) new FloatFloat("11",f1,a1,frts.frt(),0.0,step);
             (void) new FloatVar("11",f1,a1,frts.frt(),step);
             (void) new FloatFloat("21",f2,a1,frts.frt(),0.0,step);
             (void) new FloatVar("21",f2,a1,frts.frt(),step);
             (void) new FloatFloat("31",f3,a1,frts.frt(),1.0,step);
           }

           const FloatVal av2[4] = {1.0,1.0,1.0,1.0};
           const FloatVal av3[4] = {1.0,-1.0,-1.0,1.0};
           const FloatVal av4[4] = {2.0,3.0,5.0,7.0};
           const FloatVal av5[4] = {-2.0,3.0,-5.0,7.0};

           for (int i=1; i<=4; i++) {
             FloatValArgs a2(i, av2);
             FloatValArgs a3(i, av3);
             FloatValArgs a4(i, av4);
             FloatValArgs a5(i, av5);
             for (FloatRelTypes frts; frts(); ++frts) {
               (void) new FloatFloat("12",f1,a2,frts.frt(),0.0,step);
               (void) new FloatFloat("13",f1,a3,frts.frt(),0.0,step);
               (void) new FloatFloat("14",f1,a4,frts.frt(),0.0,step);
               (void) new FloatFloat("15",f1,a5,frts.frt(),0.0,step);
               (void) new FloatFloat("22",f2,a2,frts.frt(),0.0,step);
               (void) new FloatFloat("23",f2,a3,frts.frt(),0.0,step);
               (void) new FloatFloat("24",f2,a4,frts.frt(),0.0,step);
               (void) new FloatFloat("25",f2,a5,frts.frt(),0.0,step);
               (void) new FloatFloat("32",f3,a2,frts.frt(),1.0,step);
               if (i < 4) {
                 (void) new FloatVar("12",f1,a2,frts.frt(),step);
                 (void) new FloatVar("13",f1,a3,frts.frt(),step);
                 (void) new FloatVar("14",f1,a4,frts.frt(),step);
                 (void) new FloatVar("15",f1,a5,frts.frt(),step);
                 (void) new FloatVar("22",f2,a2,frts.frt(),step);
                 (void) new FloatVar("23",f2,a3,frts.frt(),step);
                 (void) new FloatVar("24",f2,a4,frts.frt(),step);
                 (void) new FloatVar("25",f2,a5,frts.frt(),step);
               }
             }
           }
         }
       }