@Override public Object calculate(final List<Object> args) { VNumber size = (VNumber) args.get(0); VBoolean invert = (VBoolean) args.get(1); if (size == null || invert == null) { return null; } return ValueFactory.newDisplay(size.getValue().intValue(), VTableFactory.step(0, 1), invert.getValue()); }
@Override public Object calculate(final List<Object> args) { if (NullUtils.containsNull(args)) { return null; } VNumberArray array = (VNumberArray) args.get(0); if (array.getSizes().size() != args.size() - 1) { throw new IllegalArgumentException("Dimension of the array must match the number of ListNumberProvider"); } List<ArrayDimensionDisplay> dimDisplay = new ArrayList<>(); for (int i = 1; i < args.size(); i++) { ListNumberProvider numberGenerator = (ListNumberProvider) args.get(i); dimDisplay.add(ValueFactory.newDisplay(numberGenerator.createListNumber(array.getSizes().getInt(i-1) + 1), "")); } return ValueFactory.newVNumberArray(array.getData(), array.getSizes(), dimDisplay, array, array, array); }
Arrays.asList(ValueFactory.newDisplay(VTableFactory.range(lowerRange.getValue().doubleValue(), upperRange.getValue().doubleValue()).createListNumber(array.getSizes().getInt(0)+1), "")), array, array, array);
public Display getDisplay() { VTypeJsonMapper display = getJsonObject("display"); if (display == null) { return null; } return ValueFactory.newDisplay(display.getNotNullDouble("lowDisplay"), display.getNotNullDouble("lowAlarm"), display.getNotNullDouble("lowWarning"), display.getString("units"), null, display.getNotNullDouble("highWarning"), display.getNotNullDouble("highAlarm"), display.getNotNullDouble("highDisplay"), Double.NaN, Double.NaN); }
boolean reversed = dim.getBooleanField("reverse").get(); dimensionDisplay.add( ValueFactory.newDisplay( ListNumbers.linearList(0, 1, size + 1), reversed,
previousXRange = xRange; previousValue = numberArray; previousResult = newVNumberArray(new ArrayInt(binData), new ArrayInt(nBins), Arrays.asList(newDisplay(xBoundaries, unit)), numberArray, numberArray, newDisplay(0.0, 0.0, 0.0, "count", NumberFormats.format(0), maxCount, maxCount, maxCount, Double.NaN, Double.NaN));
/** * @param pvField * @param disconnected */ public PVFieldNTHistogramToVShortArray(PVStructure pvField, boolean disconnected) { super(pvField, disconnected); PVShortArray valueField = (PVShortArray)pvField.getScalarArrayField("value", ScalarType.pvShort); if (valueField != null) { ShortArrayData data = new ShortArrayData(); valueField.get(0, valueField.getLength(), data); this.size = new ArrayInt(data.data.length); this.list = new ArrayShort(data.data); } else { size = null; list = null; } PVDoubleArray rangesField = (PVDoubleArray)pvField.getScalarArrayField("ranges", ScalarType.pvDouble); if (rangesField != null) { DoubleArrayData data = new DoubleArrayData(); rangesField.get(0, rangesField.getLength(), data); ArrayDimensionDisplay display = ValueFactory.newDisplay(new ArrayDouble(data.data), RANGES_UNIT); displays.add(display); } }
/** * @param pvField * @param disconnected */ public PVFieldNTHistogramToVLongArray(PVStructure pvField, boolean disconnected) { super(pvField, disconnected); PVLongArray valueField = (PVLongArray)pvField.getScalarArrayField("value", ScalarType.pvLong); if (valueField != null) { LongArrayData data = new LongArrayData(); valueField.get(0, valueField.getLength(), data); this.size = new ArrayInt(data.data.length); this.list = new ArrayLong(data.data); } else { size = null; list = null; } PVDoubleArray rangesField = (PVDoubleArray)pvField.getScalarArrayField("ranges", ScalarType.pvDouble); if (rangesField != null) { DoubleArrayData data = new DoubleArrayData(); rangesField.get(0, rangesField.getLength(), data); ArrayDimensionDisplay display = ValueFactory.newDisplay(new ArrayDouble(data.data), RANGES_UNIT); displays.add(display); } }
/** * @param pvField * @param disconnected */ public PVFieldNTHistogramToVIntArray(PVStructure pvField, boolean disconnected) { super(pvField, disconnected); PVIntArray valueField = (PVIntArray)pvField.getScalarArrayField("value", ScalarType.pvInt); if (valueField != null) { IntArrayData data = new IntArrayData(); valueField.get(0, valueField.getLength(), data); this.size = new ArrayInt(data.data.length); this.list = new ArrayInt(data.data); } else { size = null; list = null; } PVDoubleArray rangesField = (PVDoubleArray)pvField.getScalarArrayField("ranges", ScalarType.pvDouble); if (rangesField != null) { DoubleArrayData data = new DoubleArrayData(); rangesField.get(0, rangesField.getLength(), data); ArrayDimensionDisplay display = ValueFactory.newDisplay(new ArrayDouble(data.data), RANGES_UNIT); displays.add(display); } }
previousXData = xData; previousYData = yData; previousResult = newVNumberArray(new ArrayInt(binData), new ArrayInt(nYBins, nXBins), Arrays.asList(newDisplay(yBoundaries, ""), newDisplay(xBoundaries, "")), alarmNone(), timeNow(), newDisplay(0.0, 0.0, 0.0, "count", NumberFormats.format(0), maxCount, maxCount, maxCount, Double.NaN, Double.NaN));
return xSize * ySize; }, new ArrayInt(ySize, xSize), Arrays.asList(ValueFactory.newDisplay(ListMath.limit(yDisplay.getCellBoundaries(), bottomIndex, topIndex + 1), yDisplay.getUnits()), ValueFactory.newDisplay(ListMath.limit(xDisplay.getCellBoundaries(), leftIndex, rightIndex + 1), yDisplay.getUnits())), data, data, data);
} else { Statistics stats = StatisticsUtil.statisticsOf(data); display = newDisplay(stats.getRange().getMinimum(), stats.getRange().getMinimum(), stats.getRange().getMinimum(), "", NumberFormats.toStringFormat(), stats.getRange().getMaximum(), stats.getRange().getMaximum(), stats.getRange().getMaximum(), stats.getRange().getMinimum(), stats.getRange().getMaximum());