AWLF unit test relaxAKD.sac fails - can't analyze _le_VxS( constant, val w/maxval)
Bugzilla Link | 1039 |
Created on | Dec 14, 2012 20:48 |
Version | svn |
OS | Linux |
Architecture | PC |
Attachments | relaxAKDnotake.sac |
Extended Description
Created an attachment (id=941) source code to reproduce fault An AKD version of Bodo's function relax() from his "Condensing..." paper does not AWLF. The attached much-simplified version (basically, drop(i, drop( j, X)) does not fold either. The immediate problem is that the predicate, WLINTERSECTION1PART, can not be computed from this relational: p = _le_VxS_( constant, valueWithMaxval); Cf can handle values with extrema, and it can handle constants, but not both at once. I started to extend CF to make it do this, but it occurred to me that PRFUNR would likely do the trick. And, indeed, it does, so I am going to extend PRFUNR to unroll VxS, SxV and VxV relationals. If that proves catastrophic for some reason, I'll do the dirty work in CF. sac2c -V sac2c v1.00-beta (Haggis And Apple) developer rev 18040 linux-gnu_x86_64 (Fri Dec 14 15:32:12 EST 2012 by sac) sac2c -v1 relaxAKDnotake.sac -doawlf -nowlf -bopt >crud
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information