forceinline ModEvent SetVarImp::exclude(Space& home, int i, int j) { if (j<i) return ME_SET_NONE; Iter::Ranges::Singleton sij(i,j); BndSetRanges lb(glb); Iter::Ranges::Inter<Iter::Ranges::Singleton,BndSetRanges> probe(sij,lb); if (probe()) return ME_SET_FAILED; SetDelta d; if (lub.exclude(home, i, j, d)) return processLubChange(home, d); return ME_SET_NONE; }
forceinline ModEvent SetVarImp::include(Space& home, int i, int j) { if (j<i) return ME_SET_NONE; BndSetRanges ub(lub); Iter::Ranges::Singleton sij(i,j); if (!Iter::Ranges::subset(sij,ub)) { return ME_SET_FAILED; } SetDelta d; if (glb.include(home, i, j, d)) return processGlbChange(home, d); return ME_SET_NONE; }
Complex gamgamgamgam_mmpp(int i1,int i2,int i3,int i4) { return spa(i1,i2)*spa(i1,i2)*spa(i1,i2)/spa(i2,i3)/spa(i3,i4)/spa(i4,i1) * ( 0.5 * sij(i2,i3)/pow(sij(i1,i2),3) * ( pow(sij(i1,i3),2) + pow(sij(i2,i3),2) ) * ( pow(Clog(sij(i1,i3),sij(i2,i3)),2) + PISQ ) + sij(i2,i3)/sij(i1,i2)/sij(i1,i2) * (sij(i1,i3)-sij(i2,i3)) * ( Clog(sij(i1,i3),sij(i2,i3)) ) + sij(i2,i3)/sij(i1,i2) ) ; }