Ejemplo n.º 1
0
SymbolicVal Min( const SymbolicVal &v1, const SymbolicVal &v2,
                       MapObject<SymbolicVal, SymbolicBound>* f)
         { if (v1.IsNIL())
              return v2;
           if (v2.IsNIL())
              return v1;
            switch (CompareVal(v1,v2,f)) {
            case REL_NONE:
            case REL_UNKNOWN:
            case REL_NE:
               {
               SelectApplicator minOp(-1);
               return ApplyBinOP(minOp,v1,v2);
               }
           case REL_EQ:
           case REL_LT:
           case REL_LE:
               return v1;
           case REL_GT:
           case REL_GE:
               return v2;
           default:
              assert(0);
           }
         }
Ejemplo n.º 2
0
        __device__ __forceinline__ void reduceVal(typename TypeTraits<src_type>::parameter_type srcVal)
        {
            minimum<work_type> minOp;
            maximum<work_type> maxOp;

            mymin = minOp(mymin, srcVal);
            mymax = maxOp(mymax, srcVal);
        }