Greetings! Matt Kaufmann <[EMAIL PROTECTED]> writes:
> Hi, Camm -- > > Thanks for the fixes. > > >> Lastly, if anyone has a moment to describe the new mv strategy in > >> acl2, that would be helpful. > > If #+acl2-mv-as-values, then mv is just values and mv-let is just > multiple-value-bind. If #-acl2-mv-as-values, which is the default, then mv > and > mv-let work as before. > Thanks! I guess what I really meant was -- is there an easy summary of how it worked before? Take care, > -- Matt > cc: [EMAIL PROTECTED], [email protected] > From: Camm Maguire <[EMAIL PROTECTED]> > Date: 24 Feb 2006 17:03:12 -0500 > X-SpamAssassin-Status: No, hits=-2.5 required=5.0 > X-UTCS-Spam-Status: No, hits=-130 required=180 > > Greetings! > > Matt Kaufmann <[EMAIL PROTECTED]> writes: > > > Hi, Camm -- > > > > FYI: > > > > The following error still occurs in a version of GCL 2.6.8pre I happen > to have > > lying around on a Mac, probably from Feb. 5. But it's fixed in a recent > > (Feb. 14 or earlier) GCL 2.7.0 (/p/bin/xg at UT CS), so maybe it's fixed > in > > 2.6.8pre by now too; I figured you probably have a recent 2.6.8pre build > handy > > and can check in an instant. > > > > OK, this should be fixed now. Also just committed: > > 1) nthcdr/binum fix to 2.6.8 and head > 2) atanh branch cut fix to 2.6.8 and head > 3) subtypep support for partially unknown types defined with saftisfies, > e.g. si::proper-list, > input-stream, etc. (to HEAD) > 4) certain multiple-value-binding autodeclaration fixes (HEAD) > 5) inf and nan contants, and their use in a substantially expanded > type propagation scheme (including floating point) for random ash > floor et. al. + - * / lcm gcd log exp expt atan sqrt max min abs > mod rem (HEAD) > 6) some new optimizers, e.g. abs and sqrt, nth and nthcdr inliners > (please see gcl_cmpopt.lsp for inlining rules) > > If anyone is interested in 5), please check out gcl_cmptype.lsp. The > idea is to use +-inf and nan as a proxy to probe the function when the > type is unbounded, to probe the function for its contagion rules, and > to probe behavior around a possible pole at 0. This facilitates the > following optimizations thus far (for example): > > > ============================================================================= > (disassemble '(lambda (x y) > (declare ((short-float 0) x) ((integer 1 12312312) y)) > (multiple-value-bind (x y) (ffloor x y) > (abs (sqrt (/ x (ash y -3) x x y))))) nil) > > > ;; Compiling /tmp/gazonk_899_0.lsp. > (FFLOOR X Y) (VALUES (SHORT-FLOAT 0.0 *) (INTEGER 0 (12312312))) > ;; End of Pass 1. > ;; End of Pass 2. > ;; OPTIMIZE levels: Safety=0 (No runtime error checking), Space=0, > Speed=3, (Debug quality ignored) > ;; Finished compiling /tmp/gazonk_899_0.o. > > #include "gazonk_899_0.h" > void init_code(){do_init(VV);} > /* function definition for CMP-ANON */ > > static void L1() > {register object *base=vs_base; > register object *sup=base+VM1; VC1 > vs_check; > {float V1; > fixnum V2; > V1=sf(base[0]); > V2=fix(base[1]); > vs_top=sup; > goto TTL; > TTL:; > {float V3; > fixnum V4; > base[2]= make_shortfloat(V1); > base[3]= CMPmake_fixnum(V2); > vs_top=(vs_base=base+2)+2; > (void) (*Lnk0)(); > if(vs_base>=vs_top){vs_top=sup;goto T1;} > V3= sf(vs_base[0]); > vs_base++; > if(vs_base>=vs_top){vs_top=sup;goto T2;} > V4= fix(vs_base[0]); > vs_top=sup;goto T3; > goto T1; > T1:; > V3= sf(Cnil); > goto T2; > T2:; > V4= fix(Cnil); > goto T3; > T3:; > {fixnum V5= (fixnum)(-((fixnum)-3)&-32? ((V4)>=0 ? 0 : -1) : > (V4)>>-((fixnum)-3)); > V6 = (V3)/((double)(((double)(/* INLINE-ARGS > */V5)*(double)(V3))*(V3))*(double)(V4)); > base[2]= make_shortfloat(sqrt((double)V6)); > vs_top=(vs_base=base+2)+1; > return;}} > } > } > NIL > > ============================================================================= > > More later time permitting. Including the HEAD bug involving big > integer type inlining (Bob's segfault.) > > If anyone needs anything else in 2.6.8pre, please so state soon. I > just have to clean up xgcl therein before it is to be released. > > Lastly, if anyone has a moment to describe the new mv strategy in > acl2, that would be helpful. > > Take care, > > > > vlad:~> gcl > > GCL (GNU Common Lisp) 2.6.6 CLtL1 Jan 19 2005 20:24:14 > > Source License: LGPL(gcl,gmp), GPL(unexec,bfd) > > Binary License: GPL due to GPL'ed components: (BFD UNEXEC) > > Modifications of this banner must retain notice of a compatible license > > Dedicated to the memory of W. Schelter > > > > Use (help) to get some basic information on how to use GCL. > > > > >(the (simple-vector 5) #(0 0 0 0 0)) > > > > Error: 5 is not of type SYMBOL. > > Fast links are on: do (si::use-fast-links nil) for debugging > > Error signalled by TYPEP. > > Broken at TYPEP. Type :H for Help. > > >> > > > > -- Matt > > > > > > > > -- > Camm Maguire [EMAIL > PROTECTED] > ========================================================================== > "The earth is but one country, and mankind its citizens." -- Baha'u'llah > > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list [email protected] http://lists.gnu.org/mailman/listinfo/gcl-devel
