aboutsummaryrefslogtreecommitdiff
path: root/src/algebra/vector.spad.pamphlet
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2010-03-01 08:16:36 +0000
committerdos-reis <gdr@axiomatics.org>2010-03-01 08:16:36 +0000
commit89122c246b751bba715be67884000a0ef236975d (patch)
tree6d008a27d0394538dd435e8968ae3735e887cf1e /src/algebra/vector.spad.pamphlet
parent6dc0a8a511253741245a48bd02d4f6861b1a938b (diff)
downloadopen-axiom-89122c246b751bba715be67884000a0ef236975d.tar.gz
* algebra/vector.spad.pamphlet (maxIndex$Vector): Define.
Diffstat (limited to 'src/algebra/vector.spad.pamphlet')
-rw-r--r--src/algebra/vector.spad.pamphlet10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/algebra/vector.spad.pamphlet b/src/algebra/vector.spad.pamphlet
index 292a8a01..e11e41e9 100644
--- a/src/algebra/vector.spad.pamphlet
+++ b/src/algebra/vector.spad.pamphlet
@@ -140,14 +140,18 @@ IndexedVector(R:Type, mn:Integer):
++ and indexed by a finite segment of integers starting at 1.
Vector(R:Type): Exports == Implementation where
- VECTORMININDEX ==> 1 -- if you want to change this, be my guest
-
Exports ==> VectorCategory R with
vector: List R -> %
++ vector(l) converts the list l to a vector.
Implementation ==>
- IndexedVector(R, VECTORMININDEX) add
+ IndexedVector(R, 1) add
vector l == construct l
+ -- We want maxIndex to be inlined. Ideally, the definition should
+ -- read
+ -- maxIndex x == # rep x
+ -- However, there is currently an infelicity in the compiler that
+ -- prevents good uses of dependent domains. So, we fall back to
+ maxIndex x == sizeOfSimpleArray(x)$Foreign(Builtin)
if R has ConvertibleTo InputForm then
convert(x:%):InputForm ==
convert [convert('vector)@InputForm,