@Override
public double getValue(BikeLogsumSegment segment, int rowId, int columnId) {
double[] logsums = getLogsums(rowId,columnId);
return logsums == null ? -999 : logsums[segment.getSegmentId()];
}
<BUG>public double getMultiSegmentLogsum(int rowId, int columnId, BikeLogsumSegment ... segments) {
double[] logsums = getLogsums(rowId,columnId);
double logsum = 0.0;
for (BikeLogsumSegment segment : segments)
logsum += logsums[segment.getSegmentId()];
return logsum / segments.length;</BUG>
}

@Override
public double getValue(BikeLogsumSegment segment, int rowId, int columnId) {
double[] logsums = getLogsums(rowId,columnId);
return logsums == null ? -999 : logsums[segment.getSegmentId()];
}
public double getLogsum(BikeLogsumSegment segment, int rowId, int columnId) {
return getValue(segment,rowId,columnId);
}
public double getTime(BikeLogsumSegment segment, int rowId, int columnId) {
double[] logsums = getLogsums(rowId,columnId);
return logsums == null ? Double.POSITIVE_INFINITY : logsums[segment.getSegmentId()+segment.segmentWidth()];
}
