summaryrefslogtreecommitdiff
path: root/src/jvm/clojure/lang/Numbers.java
diff options
context:
space:
mode:
authorRich Hickey <richhickey@gmail.com>2008-05-30 21:23:25 +0000
committerRich Hickey <richhickey@gmail.com>2008-05-30 21:23:25 +0000
commitdbeb11e22fd1a30610b07cf27505e5ec0fd6e1e7 (patch)
tree4f2ee70746644f2adeb683864eeb6363a338a685 /src/jvm/clojure/lang/Numbers.java
parent2c04ba2ab5288e9d0952a4174889da422d73783d (diff)
added aset!, aclone
Diffstat (limited to 'src/jvm/clojure/lang/Numbers.java')
-rw-r--r--src/jvm/clojure/lang/Numbers.java55
1 files changed, 55 insertions, 0 deletions
diff --git a/src/jvm/clojure/lang/Numbers.java b/src/jvm/clojure/lang/Numbers.java
index d10d99e2..e833e693 100644
--- a/src/jvm/clojure/lang/Numbers.java
+++ b/src/jvm/clojure/lang/Numbers.java
@@ -1251,6 +1251,25 @@ static BitOps bitOps(Object x){
// executor.invokeAll(ops);
// }
+static final public class Indexer{
+ int i;
+
+ public Indexer(int i){
+ this.i = i;
+ }
+
+ public final int get(){
+ return i;
+ }
+
+ public final int inc(){
+ return i += 1;
+ }
+ public final int inc(int n){
+ return i += n;
+ }
+
+}
static public class F{
static public float add(float x, float y) {return x + y;}
static public float subtract(float x, float y) {return x - y;}
@@ -1272,10 +1291,19 @@ static public class F{
return xs[i];
}
+ static public float aset(float[] xs, int i, float v){
+ xs[i] = v;
+ return v;
+ }
+
static public int alength(float[] xs){
return xs.length;
}
+ static public float[] aclone(float[] xs){
+ return xs.clone();
+ }
+
static public float[] vec(int size, Object init){
float[] ret = new float[size];
if(init instanceof Number)
@@ -1648,10 +1676,19 @@ static public class D{
return xs[i];
}
+ static public double aset(double[] xs, int i, double v){
+ xs[i] = v;
+ return v;
+ }
+
static public int alength(double[] xs){
return xs.length;
}
+ static public double[] aclone(double[] xs){
+ return xs.clone();
+ }
+
static public double[] vec(int size, Object init){
double[] ret = new double[size];
if(init instanceof Number)
@@ -2022,10 +2059,19 @@ static public class I{
return xs[i];
}
+ static public int aset(int[] xs, int i, int v){
+ xs[i] = v;
+ return v;
+ }
+
static public int alength(int[] xs){
return xs.length;
}
+ static public int[] aclone(int[] xs){
+ return xs.clone();
+ }
+
static public int[] vec(int size, Object init){
int[] ret = new int[size];
if(init instanceof Number)
@@ -2397,10 +2443,19 @@ static public class L{
return xs[i];
}
+ static public long aset(long[] xs, int i, long v){
+ xs[i] = v;
+ return v;
+ }
+
static public int alength(long[] xs){
return xs.length;
}
+ static public long[] aclone(long[] xs){
+ return xs.clone();
+ }
+
static public long[] vec(int size, Object init){
long[] ret = new long[size];
if(init instanceof Number)