mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-17 09:10:22 +02:00
Implement immediate version of vector primitives.
* module/language/js-il/runtime.js (make-vector/immediate, vector-set!/immediate, vector-ref/immediate): New Primitives.
This commit is contained in:
parent
cf1ddd466b
commit
0b9b08a28d
1 changed files with 15 additions and 3 deletions
|
@ -235,9 +235,21 @@ scheme.primitives["vector?"] = function (obj) {
|
||||||
return coerce_bool(obj instanceof scheme.Vector);
|
return coerce_bool(obj instanceof scheme.Vector);
|
||||||
};
|
};
|
||||||
|
|
||||||
scheme.primitives["make-vector/immediate"] = not_implemented_yet;
|
scheme.primitives["make-vector/immediate"] = function(length, init) {
|
||||||
scheme.primitives["vector-set!/immediate"] = not_implemented_yet;
|
var v = new scheme.Vector();
|
||||||
scheme.primitives["vector-ref/immediate"] = not_implemented_yet;
|
|
||||||
|
var temp = []
|
||||||
|
for (var i=0; i < length; i++) {
|
||||||
|
temp[i] = init;
|
||||||
|
}
|
||||||
|
|
||||||
|
v.array = temp;
|
||||||
|
|
||||||
|
return v;
|
||||||
|
};
|
||||||
|
|
||||||
|
scheme.primitives["vector-set!/immediate"] = scheme.primitives["vector-set!"];
|
||||||
|
scheme.primitives["vector-ref/immediate"] = scheme.primitives["vector-ref"];
|
||||||
|
|
||||||
// Bytevectors
|
// Bytevectors
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue