oms3.dsl.Util Maven / Gradle / Ivy
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package oms3.dsl;
import java.lang.reflect.Array;
import java.util.List;
/**
*
* @author od
*/
public class Util {
public static double[] getVals(Param p) {
Object o = p.getValue();
if (o.getClass() == double[].class) {
return (double[]) o;
} else if (o.getClass() == Double.class) {
return new double[]{(Double) o};
}
throw new IllegalArgumentException(p.toString());
}
public static void setVals(double[] val, Param p) {
Object o = p.getValue();
if (o.getClass() == double[].class) {
p.setValue(val);
} else if (o.getClass() == Double.class) {
p.setValue(val[0]);
}
throw new IllegalArgumentException(p.toString());
}
public static double[] convert(List l) {
double[] d = new double[l.size()];
for (int i = 0; i < d.length; i++) {
d[i] = l.get(i);
}
return d;
}
public static double[] convertNumber(List l) {
double[] d = new double[l.size()];
for (int i = 0; i < d.length; i++) {
d[i] = l.get(i).doubleValue();
}
return d;
}
static Object accessArray(String name, Object val, int idx[]) {
if (!val.getClass().isArray()) {
throw new IllegalArgumentException("Not an array : " + name + " " + val);
}
for (int i : idx) {
val = Array.get(val, i);
}
return val;
}
static public int[] arraysDims(String[] arr) {
if (arr.length > 1) {
int[] idx = new int[arr.length - 1];
for (int i = 1; i < arr.length; i++) {
idx[i - 1] = Integer.parseInt(arr[i]);
}
return idx;
}
return null;
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy