Fix two solve() bugs.

master
skylarmt 9 years ago
parent 243f782214
commit 9d22deb645

@ -246,7 +246,7 @@ public class Functions {
return diff(function, idv);
}
public double[] solve(String function, String idv, String eq) {
public double[] solve(String function, String idv, int eq) {
String res = $("Solve[" + function + "==" + eq + ", " + idv + "]");
res = res.substring(1, res.length() - 1);
String[] cmp = res.split(",");
@ -257,16 +257,24 @@ public class Functions {
double[] out = new double[cmp.length];
for (int i = 0; i < cmp.length; i++) {
try {
out[i] = Double.parseDouble(cmp[i]);
if (cmp[i].contains("I")) {
if (cmp[i].contains("-I")) {
out[i] = Double.NEGATIVE_INFINITY;
} else {
out[i] = Double.POSITIVE_INFINITY;
}
} else {
out[i] = Double.parseDouble(cmp[i]);
}
} catch (Exception ex) {
Debug.stacktrace(ex);
return new double[]{Double.NaN};
}
}
return out;
}
public double[] solve(String function, String idv) {
return solve(function, idv, "0");
return solve(function, idv, 0);
}
public double[] solve(String function) {

@ -72,11 +72,7 @@ def powermod(a,b,m):
return _.powermod(a,b,m)
def gcd(a,b):
return _.gcd(a,b)
def solve(a,b,c):
def solve(a,b='x',c=0):
return _.solve(a,b,c)
def solve(a,b):
return _.solve(a,b)
def solve(a):
return _.solve(a)
def printa(a):
return _.printa(a)
Loading…
Cancel
Save