[m-dev.] diff: clpr division and \==

Tyson Richard DOWD trd at cs.mu.oz.au
Sun Sep 7 15:58:00 AEST 1997


Fergus Henderson wrote:
> 
> clpr/cfloat.m:
> clpr/cfloat_float.m:
> clpr/float_cfloat.m:
> 	Add disequality constraints (\==).
> 	Fix division so that it handles division by zero properly;
> 	in particular, define `X/Y=Z' as if by `X=Y*Z, Y\==Z'
> 	rather than just `X=Y*Z', since the latter breaks referential
> 	transparency.
> 
> clpr/cfloat.m:
> 	Remove the calls to save_transient_registers() and
> 	restore_transient_registers() from MR_cfloat_maybe_trail_solver(),
> 	because they are not needed.
> 

One comment on this change:

> @@ -478,6 +476,8 @@
>  
>  bool ML_cfloat_eq(ML_svar, ML_svar);
>  bool ML_cfloat_eq_float(ML_svar, Float);
> +/* bool ML_cfloat_diseq(ML_svar, ML_svar, bool&); */
> +/* bool ML_cfloat_diseq_float(ML_svar, Float, bool&); */
>  bool ML_cfloat_gt(ML_svar, ML_svar);
>  bool ML_cfloat_gt_float(ML_svar, Float);
>  bool ML_cfloat_lt(ML_svar, ML_svar);

If these are just commented out because they are implemented as
macros, it would be best to say so.

-- 
       Tyson Dowd           #          Another great idea from the 
                            #            people who brought you
      trd at .cs.mu.oz.au      #               Beer Milkshakes!
http://www.cs.mu.oz.au/~trd #	         Confidence --- Red Dwarf



More information about the developers mailing list