| 974 | |
| 975 | #ifdef GECODE_HAS_FLOAT_VARS |
| 976 | void |
| 977 | FlatZincSpace::newFloatVar(FloatVarSpec* vs) { |
| 978 | if (vs->alias) { |
| 979 | fv[floatVarCount++] = fv[vs->i]; |
| 980 | } else { |
| 981 | double dmin, dmax; |
| 982 | if (vs->domain()) { |
| 983 | dmin = vs->domain.some().first; |
| 984 | dmax = vs->domain.some().second; |
| 985 | if (dmin > dmax) { |
| 986 | fail(); |
| 987 | return; |
| 988 | } |
| 989 | } else { |
| 990 | dmin = Float::Limits::min; |
| 991 | dmax = Float::Limits::max; |
| 992 | } |
| 993 | fv[floatVarCount++] = FloatVar(*this, dmin, dmax); |
| 994 | } |
| 995 | fv_introduced[2*(floatVarCount-1)] = vs->introduced; |
| 996 | fv_introduced[2*(floatVarCount-1)+1] = vs->funcDep; |
| 997 | } |
| 998 | #else |
| 999 | void |
| 1000 | FlatZincSpace::newFloatVar(FloatVarSpec*) { |