changing makevector so it must take in the elements

This commit is contained in:
Danny Yoo 2012-02-10 14:40:55 -05:00
parent d70db16956
commit 97d8848e01
5 changed files with 14 additions and 21 deletions

View File

@ -151,8 +151,7 @@
(format "RT.makePath(~s)" (format "RT.makePath(~s)"
(path->string val))] (path->string val))]
[(vector? val) [(vector? val)
(format "RT.makeVector(~a,[~a])" (format "RT.makeVector([~a])"
(vector-length val)
(string-join (for/list ([elt (vector->list val)]) (string-join (for/list ([elt (vector->list val)])
(loop elt)) (loop elt))
","))] ","))]

View File

@ -707,7 +707,7 @@
for (i = 0; i < M.a; i++) { for (i = 0; i < M.a; i++) {
result.push(M.e[M.e.length-1-i]); result.push(M.e[M.e.length-1-i]);
} }
var newVector = makeVector(result.length, result); var newVector = makeVector(result);
return newVector; return newVector;
}); });
@ -727,7 +727,7 @@
for(i = 0; i < length; i++) { for(i = 0; i < length; i++) {
arr[i] = value; arr[i] = value;
} }
return makeVector(arr.length, arr); return makeVector(arr);
}); });
installPrimitiveProcedure( installPrimitiveProcedure(
@ -753,7 +753,7 @@
result.push(firstArg.first); result.push(firstArg.first);
firstArg = firstArg.rest; firstArg = firstArg.rest;
} }
return makeVector(result.length, result); return makeVector(result);
}); });

View File

@ -22,7 +22,7 @@
if (baselib.vectors.isVector(x)) { if (baselib.vectors.isVector(x)) {
var len = x.length(); var len = x.length();
var aVector = baselib.vectors.makeVector(len, x.elts); var aVector = baselib.vectors.makeVector(x.elts.slice(0));
objectHash.put(x, aVector); objectHash.put(x, aVector);
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
aVector.elts[i] = readerGraph(aVector.elts[i], objectHash, n + 1); aVector.elts[i] = readerGraph(aVector.elts[i], objectHash, n + 1);

View File

@ -7,20 +7,14 @@
var Vector = function (n, initialElements) { var Vector = function (initialElements) {
var i; var i;
this.elts = []; this.elts = initialElements;
this.elts.length = n;
if (initialElements) {
for (i = 0; i < n; i++) {
this.elts[i] = initialElements[i];
}
}
this.mutable = true; this.mutable = true;
}; };
Vector.makeInstance = function (n, elts) { Vector.makeInstance = function (elts) {
return new Vector(n, elts); return new Vector(elts);
}; };
Vector.prototype.length = function () { Vector.prototype.length = function () {
@ -115,12 +109,12 @@
var isVector = function (x) { return x instanceof Vector; }; var isVector = function (x) { return x instanceof Vector; };
// makeVector: x ... -> vector // makeVector: x ... -> vector
var makeVector = function (n, elts) { var makeVector = function (elts) {
return Vector.makeInstance(n, elts); return Vector.makeInstance(elts);
}; };
var makeVectorImmutable = function (n, elts) { var makeVectorImmutable = function (elts) {
var v = Vector.makeInstance(n, elts); var v = Vector.makeInstance(elts);
v.mutable = false; v.mutable = false;
return v; return v;
}; };

View File

@ -7,4 +7,4 @@
(provide version) (provide version)
(: version String) (: version String)
(define version "1.114") (define version "1.116")