/** * Compute the raw matrix for an instance run set * * @param data the data the instance runs * @return the raw matrix */ private final IMatrix __computeInstanceRuns(final IInstanceRuns data) { final _List list; final DimensionTransformation xIn, yIn; final Transformation yOut; final IDimension timeDim, goalDim; xIn = this.getXAxisTransformation(); try (final TransformationFunction xInFunc = xIn.use(data)) { yIn = this.getYAxisInputTransformation(); try (final TransformationFunction yInFunc = yIn.use(data)) { yOut = this.getYAxisOutputTransformation(); try (final TransformationFunction yOutFunc = yOut.use(data)) { timeDim = xIn.getDimension(); goalDim = yIn.getDimension(); if (goalDim.getDataType().isInteger() && yInFunc.isLongArithmeticAccurate()) { if (timeDim.getDataType().isInteger()) { list = new _LongTimeLongGoal( timeDim, goalDim, this.m_criterion, yInFunc, this.m_goalValueLong); } else { list = new _DoubleTimeLongGoal( timeDim, goalDim, this.m_criterion, yInFunc, this.m_goalValueLong); } } else { if (timeDim.getDataType().isInteger()) { list = new _LongTimeDoubleGoal( timeDim, goalDim, this.m_criterion, yInFunc, this.m_goalValueDouble); } else { list = new _DoubleTimeDoubleGoal( timeDim, goalDim, this.m_criterion, yInFunc, this.m_goalValueDouble); } } for (final IRun run : data.getData()) { list._addRun(run); } return list._toMatrix(xInFunc, yOutFunc); } } } }