> Christian Schulte (25.5.2009 16:31): >> If no variables are modified by a propagator and the propagator says >> ES_NOFIX, Gecode still knows that nothing has changed. So finding out >> whether something has changed, and if yes reporting ES_NOFIX and >> ES_FIX >> otherwise is exactly the same than reporting ES_NOFIX.
ok ... now I am confused ... :) So to say, if I am not changing the domains within my filtering it doesnt matter what I return (ES_FIX or ES_NOFIX) ? But isnt there a difference in the "meaning"? That is, either I want to tell the engine I cannot do any filtering anymore (ES_FIX) or that only a partial filtering of the domains was done? "[..] # ES_NOFIX: the propagator has done propagation # ES_FIX: the propagator has done propagation and has computed a fixpoint. That is, running the propagator immediately again will do nothing. [..]" (from Gecode documentation) So in a case I dont want to filter (e.g. due to too large domain sizes etc.) what is better to return? I would guess ES_FIX, because the propagator should not be called again until another change of the domains has been done... Or am I wrong about that? Think the use cases / description of the ExecStatus possibilities is quite short. Everytime I have to write a propagator I am a bit confused what to return. Only the ES_FAILED and ES_SUBSUMED cases are totally clear to me.. ;) Thanks for your help to the eyeless user! Martin _______________________________________________ Gecode users mailing list [email protected] https://www.gecode.org/mailman/listinfo/gecode-users
