@Override public void setValue(Value value) { this.value = value.getLongValue(); }
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeNumberField(SINGLEVALUE, v.getValue().getLongValue()); jGen.writeStringField("@type", "SampledLong"); } },
@Override public void writeValue(SampledValue v, JsonGenerator jGen) throws IOException { jGen.writeNumberField("value", v.getValue().getLongValue()); jGen.writeStringField("@type", "SampledLong"); } },
.append("<value>") .append(val instanceof BooleanValue ? val.getBooleanValue() : val instanceof IntegerValue || val instanceof LongValue ? val.getLongValue() : val.getFloatValue()) .append("</value>") .append(linebreak).append(separator).append(separator) .append("\"value\":").append(val instanceof BooleanValue ? val.getBooleanValue() : val instanceof IntegerValue || val instanceof LongValue ? val.getLongValue() : val.getFloatValue()) .append(linebreak).append(separator);
long max = 0; for (SampledValue sv: inputStates.get(idx).runs) { long runLength = sv.getValue().getLongValue(); if (runLength > max) { max = runLength;
private void writeLongValues(List<SampledValue> entries) { assert entries.isEmpty() || baseElement.isVirtual() || !((VirtualTreeElement) m_values).isVirtual() : "Schedule state inconsistent"; // 1st case on delete final int size = entries.size(); final long[] times = new long[size]; final int[] qualities = new int[size]; final long[] values = new long[size]; for (int i = 0; i < size; ++i) { final SampledValue entry = entries.get(i); times[i] = entry.getTimestamp(); qualities[i] = entry.getQuality().getQuality(); values[i] = entry.getValue().getLongValue(); } m_times.getData().setLongArr(times); m_qualities.getData().setIntArr(qualities); m_values.getData().setLongArr(values); }
private static Value transform(Value in, float factor, float offset) { if (in instanceof FloatValue) return new FloatValue(in.getFloatValue() * factor + offset); else if (in instanceof IntegerValue) return new IntegerValue(in.getIntegerValue() * ((int) factor) + (int) offset); // problematic... else if (in instanceof LongValue) return new LongValue(in.getLongValue() * ((long) factor) + (long) offset);// problematic... else if (in instanceof BooleanValue) return new BooleanValue(in.getBooleanValue() && (factor >= 0)); else return in; }
@Override public Value integrate(SampledValue x0, SampledValue x1, Class<? extends Value> valueType) { final long dt = x1.getTimestamp() - x0.getTimestamp(); final boolean emptyDomain = (dt == 0 || x0.getQuality() == Quality.BAD || x1.getQuality() == Quality.BAD); final Value v0 = x0.getValue(); final Value v1 = x1.getValue(); if (v0 instanceof FloatValue || v0 instanceof DoubleValue || v0 instanceof BooleanValue) { if (emptyDomain) return new FloatValue(0.f); return new FloatValue(0.5f * (v0.getFloatValue() + v1.getFloatValue()) * dt); } if (v0 instanceof LongValue) { if (emptyDomain) return new LongValue(0L); return new LongValue((v0.getLongValue() + v1.getLongValue()) * dt / 2); } if (v0 instanceof IntegerValue) { if (emptyDomain) return new IntegerValue(0); return new IntegerValue((int) ((v0.getIntegerValue() + v1.getIntegerValue()) * dt / 2)); } throw new IllegalArgumentException("Cannot integrate a function with non-numerical value type " + v0.getClass().getCanonicalName()); }
@Override public Value integrate(SampledValue x0, SampledValue x1, Class<? extends Value> valueType) { final long dt = x1.getTimestamp() - x0.getTimestamp(); final boolean emptyDomain = (dt == 0 || x0.getQuality() == Quality.BAD || x1.getQuality() == Quality.BAD); final Value value = x0.getValue(); if (value instanceof FloatValue || value instanceof DoubleValue || value instanceof BooleanValue) { if (emptyDomain) { return new FloatValue(0.f); } return new FloatValue(value.getFloatValue() * dt); } if (value instanceof LongValue) { if (emptyDomain) { return new LongValue(0L); } return new LongValue(value.getLongValue() * dt); } if (value instanceof IntegerValue) { if (emptyDomain) { return new IntegerValue(0); } return new IntegerValue((int) (value.getIntegerValue() * dt)); } throw new IllegalArgumentException("Cannot integrate a function with non-numerical value type " + value.getClass().getCanonicalName()); }
@SuppressWarnings("unchecked") N getValue(final SampledValue sv) { if (type == Float.class) return (N) (Float) sv.getValue().getFloatValue(); if (type == Integer.class) return (N) (Integer) sv.getValue().getIntegerValue(); if (type == Long.class) return (N) (Long) sv.getValue().getLongValue(); if (type == String.class) { return (N) sv.getValue().getStringValue(); } return (N) (Float) sv.getValue().getFloatValue(); }
private SampledValue interpolateLong(SampledValue x0, SampledValue x1, long t) { final long t0 = x0.getTimestamp(); if (t == t0) { return new SampledValue(x0.getValue(), x0.getTimestamp(), x0.getQuality()); } final long t1 = x1.getTimestamp(); if (t == t1) { return new SampledValue(x1.getValue(), x1.getTimestamp(), x1.getQuality()); } final long y0 = x0.getValue().getLongValue(); final long y1 = x1.getValue().getLongValue(); final float inv_dt = 1.f / (float) (t1 - t0); final float relDist = ((float) (t - t0)) * inv_dt; final long y = y0 + (long) (relDist * (y1 - y0)); final Quality q0 = x0.getQuality(); final Quality q1 = x1.getQuality(); final Quality quality = (q0 == Quality.GOOD && q1 == Quality.GOOD) ? Quality.GOOD : Quality.BAD; return new SampledValue(new LongValue(y), t, quality); }
/** * Set the resource value; the passed value is converted by the respective * method of {@link Value}. * @param resource * @param value */ public static void setValue(SingleValueResource resource, Value value) { if (resource instanceof StringResource) { ((StringResource) resource).setValue(value.getStringValue()); } else if (resource instanceof FloatResource) { ((FloatResource) resource).setValue(value.getFloatValue()); } else if (resource instanceof IntegerResource) { ((IntegerResource) resource).setValue(value.getIntegerValue()); } else if (resource instanceof BooleanResource) { if (value instanceof BooleanValue) ((BooleanResource) resource).setValue(value.getBooleanValue()); else // workaround... we cannot directly retrieve a boolean value from a FloatValue ((BooleanResource) resource).setValue(Math.abs(value.getFloatValue()) > 0.0001); } else if (resource instanceof TimeResource) { ((TimeResource) resource).setValue(value.getLongValue()); } }
@Override public synchronized ReadOnlyTimeSeries getValue() { if (gapGraph == null) { gapGraph = new TreeTimeSeries(BooleanValue.class); gapGraph.setInterpolationMode(InterpolationMode.STEPS); for (SampledValue sv: gaps) { gapGraph.addValue(new SampledValue(new BooleanValue(true), sv.getTimestamp(), Quality.GOOD)); gapGraph.addValue(new SampledValue(new BooleanValue(false), sv.getTimestamp()+sv.getValue().getLongValue(), Quality.GOOD)); } } return gapGraph; }
final TimeResource resource = (TimeResource) target; final long currentValue = resource.getValue(); final long targetValue = newValue.getValue().getLongValue(); if (!handleFilter(targetValue, filter)) return;