aboutsummaryrefslogtreecommitdiff
path: root/src/interp/sys-macros.lisp
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-04-27 01:41:53 +0000
committerdos-reis <gdr@axiomatics.org>2009-04-27 01:41:53 +0000
commita6b14a62e4c347c6459d7aee6590581aff17f001 (patch)
tree4e16d7e30d9d1d24ce5fefe55f8785f67d6be62c /src/interp/sys-macros.lisp
parent859f04d06f9961fe66abcace3ba37985f641d30c (diff)
downloadopen-axiom-a6b14a62e4c347c6459d7aee6590581aff17f001.tar.gz
* interp/sys-macros.lisp (makeSimpleArrayFromList): New.
* algebra/array1.spad.pamphlet (construct$PrimitiveArray): Implement. (copy$PrimitiveArray): Likewise. (IndexedOneDimensionalArray): Rework. Explicitly use PrimitiveArray(S) as representation domain.
Diffstat (limited to 'src/interp/sys-macros.lisp')
-rw-r--r--src/interp/sys-macros.lisp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/interp/sys-macros.lisp b/src/interp/sys-macros.lisp
index 1564206b..db4b08ec 100644
--- a/src/interp/sys-macros.lisp
+++ b/src/interp/sys-macros.lisp
@@ -334,6 +334,9 @@
(defmacro |makeFilledSimpleArray| (|t| |n| |v|)
`(make-array ,|n| :element-type ,|t| :initial-element ,|v|))
+(defmacro |makeSimpleArrayFromList| (|t| |l|)
+ `(make-array (list-length ,|l|) :element-type ,|t| :initial-contents ,|l|))
+
(defmacro |getSimpleArrayEntry| (|a| |i|)
`(aref (the simple-array ,|a|) (the fixnum ,|i|)))