(ResultsTable rt)
| 1332 | } |
| 1333 | |
| 1334 | double getResult(ResultsTable rt) { |
| 1335 | interp.getLeftParen(); |
| 1336 | String column = getString(); |
| 1337 | int row = -1; |
| 1338 | if (interp.nextToken()==',') { |
| 1339 | interp.getComma(); |
| 1340 | row = (int)interp.getExpression(); |
| 1341 | } |
| 1342 | if (interp.nextToken()==',') { |
| 1343 | interp.getComma(); |
| 1344 | String title = getString(); |
| 1345 | rt = getResultsTable(title); |
| 1346 | } |
| 1347 | if (rt==null) |
| 1348 | rt = getResultsTable(true); |
| 1349 | interp.getRightParen(); |
| 1350 | int counter = rt.size(); |
| 1351 | if (row==-1) row = counter-1; |
| 1352 | if (row<0 || row>=counter) |
| 1353 | interp.error("Row ("+row+") out of range"); |
| 1354 | int col = rt.getColumnIndex(column); |
| 1355 | if (!rt.columnExists(col)) |
| 1356 | return Double.NaN; |
| 1357 | else { |
| 1358 | double value = rt.getValueAsDouble(col, row); |
| 1359 | if (Double.isNaN(value)) { |
| 1360 | String s = rt.getStringValue(col, row); |
| 1361 | if (s!=null && !s.equals("NaN")) |
| 1362 | value = Tools.parseDouble(s); |
| 1363 | } |
| 1364 | return value; |
| 1365 | } |
| 1366 | } |
| 1367 | |
| 1368 | String getResultString(ResultsTable rt) { |
| 1369 | interp.getLeftParen(); |
no test coverage detected