Artifact a0c033696503f70034b5f88fbb5710c09ed684c8747594912d5e27e2974ec062:
- File
psl-1983/3-1/util/fast-vectors.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 967) [annotate] [blame] [check-ins using] [more...]
- File
psl-1983/util/fast-vectors.sl
— part of check-in
[eb17ceb7f6]
at
2020-04-21 19:40:01
on branch master
— Add Reduce 3.0 to the historical section of the archive, and some more
files relating to version sof PSL from the early 1980s. Thanks are due to
Paul McJones and Nelson Beebe for these, as well as to all the original
authors.git-svn-id: https://svn.code.sf.net/p/reduce-algebra/code/historical@5328 2bfe0521-f11c-4a00-b80e-6202646ff360 (user: arthurcnorman@users.sourceforge.net, size: 967) [annotate] [blame] [check-ins using]
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % % FAST-VECTORS - Fast (unchecked) version of Vector Functions % % Author: Alan Snyder % Hewlett-Packard/CRC % Date: 17 September 1982 % % Load this at compile-time to make compiled invocations of the following % functions fast (and unchecked): % % (vector-fetch v i) % (vector-store v i x) % (vector-size v) % (vector-upper-bound v) % (vector-empty? v) % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (load slow-vectors) % for the interpreted versions (CompileTime (load fast-vector)) % for machine-dependent primitives (put 'vector-fetch 'cmacro '(lambda (v i) (igetv v i))) (put 'vector-store 'cmacro '(lambda (v i x) (iputv v i x))) (put 'vector-size 'cmacro '(lambda (v) (Wplus2 (isizev v) 1))) (put 'vector-upper-bound 'cmacro '(lambda (v) (isizev v))) (put 'vector-empty? 'cmacro '(lambda (v) (WLessP (isizev v) 0)))