1# 2# Main authors: 3# Lubomir Moric <lubomir.moric@logis.cz> 4# Filip Konvicka <filip.konvicka@logis.cz> 5# Christian Schulte <schulte@gecode.org> 6# Vincent Barichard <Vincent.Barichard@univ-angers.fr> 7# 8# Copyright: 9# LOGIS, s.r.o., 2008 10# Christian Schulte, 2010 11# Vincent Barichard, 2012 12# 13# This file is part of Gecode, the generic constraint 14# development environment: 15# http://www.gecode.org 16# 17# Permission is hereby granted, free of charge, to any person obtaining 18# a copy of this software and associated documentation files (the 19# "Software"), to deal in the Software without restriction, including 20# without limitation the rights to use, copy, modify, merge, publish, 21# distribute, sublicense, and/or sell copies of the Software, and to 22# permit persons to whom the Software is furnished to do so, subject to 23# the following conditions: 24# 25# The above copyright notice and this permission notice shall be 26# included in all copies or substantial portions of the Software. 27# 28# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 29# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 30# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 31# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 32# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 33# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 34# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 35# 36 37[General] 38Name: Float 39Namespace: Gecode::Float 40Ifdef: GECODE_HAS_FLOAT_VARS 41Bits: 0 42Dispose: false 43[ModEventHeader] 44 /** 45 * \defgroup TaskActorFloatMEPC Float modification events and propagation conditions 46 * \ingroup TaskActorFloat 47 */ 48 //@{ 49[ModEvent] 50Name: FAILED=FAILED 51 /// Domain operation has resulted in failure 52[ModEvent] 53Name: NONE=NONE 54 /// Domain operation has not changed domain 55[ModEvent] 56Name: VAL=ASSIGNED 57Combine: VAL=VAL, BND=VAL 58 /// Domain operation has resulted in a value (assigned variable) 59[ModEvent] 60Name: BND=SUBSCRIBE 61Combine: VAL=VAL, BND=BND 62 /** 63 * \brief Domain operation has changed the minimum or maximum of the domain 64 * 65 * Note that this implies that the domain has not resulted in a value. 66 * 67 * If a propagator subscribes to this variable, it will be processed 68 * assuming a ME_FLOAT_BND modification event. 69 */ 70[ModEventFooter] 71[PropCondHeader] 72[PropCond] 73Name: NONE=NONE 74 /// Propagation condition to be ignored (convenience) 75[PropCond] 76Name: VAL=ASSIGNED 77ScheduledBy: VAL 78 /** 79 * \brief Propagate when a view becomes assigned (single value) 80 * 81 * If a propagator \a p depends on a view \a x with propagation 82 * condition PC_FLOAT_VAL, then \a p is propagated when a domain 83 * update operation on \a x returns the modification event ME_FLOAT_VAL. 84 */ 85[PropCond] 86Name: BND 87ScheduledBy: VAL, BND 88 /** 89 * \brief Propagate when minimum or maximum of a view changes 90 * 91 * If a propagator \a p depends on a view \a x with propagation 92 * condition PC_FLOAT_BND, then \a p is propagated when a domain 93 * update operation on \a x returns the modification events ME_FLOAT_VAL 94 * or ME_FLOAT_BND. 95 */ 96[PropCondFooter] 97 //@} 98[End] 99