diff: more clpr enhancements

Fergus Henderson fjh at kryten.cs.mu.OZ.AU
Fri Sep 5 07:36:22 AEST 1997


Add some more functionality to the CLP(R) interface:
support CLP(R)'s various non-linear constraints.
Fix samples/tranny.m so that `full_analysis' works.

clpr/cfloat.m:
	Add constraint functions `min', `max', `abs',
	`sin', `cos', `arcsin', and `arccos'.
	Implement minus more efficiently and fix the determinism of one
	of its modes.
	Factor out the common code for the different modes of the
	various constraint operations into macros, and document them.
	Add a comment about division being broken.

clpr/cfloat_float.m:
	Fix the determinism of one of the modes of minus.

clpr/samples/tranny.m:
	Remove some old debugging code.
	Simplify the code in a couple of places.
	Delete the definition for `max', and instead use the
	constraint version in cfloat.m.
	Uncomment and fix the `full_analysis', `go2', and `go3' predicates.

clpr/samples/tranny.exp:
	Update to reflect the new output from `go2' and `go3'.

clpr/clpr/samples/Mmakefile:
	List `tranny' first, since that improves the speed of parallel makes.

clpr/clpr/Mmakefile:
	Fix a bug: we need to set `MAKEFLAGS' to empty when
	invoking `make' from within `mmake', to avoid implicitly passing
	`-r', which disables the builtin rules.

clpr/clpr/init.clpr:
	Fix singleton variable warnings.

clpr/clpr/README.Mercury:
	Document above-mentioned change to init.clpr.

clpr/clpr/clpr_misc.h:
	Declare the functions s_min(), s_max(), s_abs(),
	s_sin(), s_cos(), s_arcsin(), and s_arccos().
	Use macro guard to avoid problems with multiple #inclusion.

-- 
Fergus Henderson <fjh at cs.mu.oz.au>   |  "I have always known that the pursuit
WWW: <http://www.cs.mu.oz.au/~fjh>   |  of excellence is a lethal habit"
PGP: finger fjh at 128.250.37.3         |     -- the last words of T. S. Garp.



More information about the developers mailing list