@Override public double getReverseSpeed(long flags) { return reverseSpeedEncoder.getDoubleValue(flags); }
@Override public double getReverseSpeed(long flags) { return reverseSpeedEncoder.getDoubleValue(flags); }
@Override public double getSpeed(long flags) { double speedVal = speedEncoder.getDoubleValue(flags); if (speedVal < 0) throw new IllegalStateException("Speed was negative!? " + speedVal); return speedVal; }
public double getHeight(EdgeIteratorState edge) { long flags = edge.getFlags(); return heightEncoder.getDoubleValue(flags); }
public double getWidth(EdgeIteratorState edge) { long flags = edge.getFlags(); return widthEncoder.getDoubleValue(flags); }
public double getWeight(EdgeIteratorState edge) { long flags = edge.getFlags(); return weightEncoder.getDoubleValue(flags); }
@Override public long reverseFlags(long flags) { // swap access flags = super.reverseFlags(flags); // swap speeds double otherValue = reverseSpeedEncoder.getDoubleValue(flags); flags = setReverseSpeed(flags, speedEncoder.getDoubleValue(flags)); return setSpeed(flags, otherValue); }
@Override public long reverseFlags(long flags) { // swap access flags = super.reverseFlags(flags); // swap speeds double otherValue = reverseSpeedEncoder.getDoubleValue(flags); flags = setReverseSpeed(flags, speedEncoder.getDoubleValue(flags)); return setSpeed(flags, otherValue); }
public double getMaxspeed(EdgeIteratorState edge, int accessType, boolean reverse) { long flags = edge.getFlags(); if (!isBit0Empty(flags)) reverse = !reverse; double val; if (reverse) val = carBwdMaxspeedEncoder.getDoubleValue(flags); else val = carFwdMaxspeedEncoder.getDoubleValue(flags); if (val < 0) throw new IllegalStateException("maxspeed cannot be negative, edge:" + edge.getEdge() + ", access type" + accessType + ", reverse:" + reverse); // default is 0 but return invalid speed explicitely (TODO can we do this at the value encoder level?) if (val == 0) return -1; return val; }
@Test public void testUnsignedRightShift_issue417() { EncodedDoubleValue speedEncoder = new EncodedDoubleValue("Speed", 56, 8, 1, 30, 255); Long flags = -72057594037927936L; assertEquals(255, speedEncoder.getDoubleValue(flags), 0.01); } }
@Test public void testSetDoubleValue() { EncodedDoubleValue instance = new EncodedDoubleValue("test", 6, 10, 0.01, 5, 10); assertEquals(10.12, instance.getDoubleValue(instance.setDoubleValue(0, 10.12)), 1e-4); }
@Test public void testMaxValue() { EncodedDoubleValue instance1 = new EncodedDoubleValue("test1", 0, 8, 0.5, 60, 100); long flags = instance1.setDoubleValue(0, instance1.getMaxValue()); assertEquals(100, instance1.getDoubleValue(flags), 1e-1); CarFlagEncoder carEncoder = new CarFlagEncoder(10, 0.5, 0); new EncodingManager(carEncoder); ReaderWay way = new ReaderWay(1); way.setTag("highway", "motorway_link"); way.setTag("maxspeed", "70 mph"); flags = carEncoder.handleWayTags(way, 1, 0); // double speed = AbstractFlagEncoder.parseSpeed("70 mph"); flags = carEncoder.reverseFlags(flags); assertEquals(101.5, carEncoder.getSpeed(flags), 1e-1); }
@Override public double getReverseSpeed( long flags ) { return reverseSpeedEncoder.getDoubleValue(flags); }
@Override public double getSpeed(long flags) { double speedVal = speedEncoder.getDoubleValue(flags); if (speedVal < 0) throw new IllegalStateException("Speed was negative!? " + speedVal); return speedVal; }
@Override public double getSpeed(long flags) { double speedVal = speedEncoder.getDoubleValue(flags); if (speedVal < 0) throw new IllegalStateException("Speed was negative!? " + speedVal); return speedVal; }
@Override public double getSpeed( long flags ) { double speedVal = speedEncoder.getDoubleValue(flags); if (speedVal < 0) throw new IllegalStateException("Speed was negative!? " + speedVal); return speedVal; }
/** * Swap the contents controlled by this value encoder with the given value. * <p> * @return the new flags */ public long swap( long flags, EncodedDoubleValue otherEncoder ) { double otherValue = otherEncoder.getDoubleValue(flags); flags = otherEncoder.setDoubleValue(flags, getDoubleValue(flags)); return setDoubleValue(flags, otherValue); } }
@Override public long reverseFlags( long flags ) { // swap access flags = super.reverseFlags(flags); // swap speeds double otherValue = reverseSpeedEncoder.getDoubleValue(flags); flags = setReverseSpeed(flags, speedEncoder.getDoubleValue(flags)); return setSpeed(flags, otherValue); }
@Override public long reverseFlags( long flags ) { // swap access flags = super.reverseFlags(flags); // swap speeds double otherValue = reverseSpeedEncoder.getDoubleValue(flags); flags = setReverseSpeed(flags, speedEncoder.getDoubleValue(flags)); return setSpeed(flags, otherValue); }
@Override public long reverseFlags(long flags) { // swap access flags = super.reverseFlags(flags); // swap speeds double otherValue = reverseSpeedEncoder.getDoubleValue(flags); flags = setReverseSpeed(flags, speedEncoder.getDoubleValue(flags)); return setSpeed(flags, otherValue); }