/** * Returns true if this date is within {@code epsilon} seconds of the specified date. That is, in order for the dates to be considered equal (and for this function to return true), the absolute value of the difference between them, in seconds, must be less than or equal to {@code epsilon}. * @param other The Julian Date to compare to this date. * @param epsilon The largest difference between the dates, in seconds, such that they will be considered equal. * @return true if the dates are equal as defined by the epsilon value. */ @CS2JWarning("Unhandled attribute removed: Pure") public final boolean equalsEpsilon(@Nonnull JulianDate other, double epsilon) { return Math.abs(other.secondsDifference(this)) <= epsilon; }
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Color value = values.get(i); output.writeValue(value.getRed());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Color value = values.get(i); output.writeValue(value.getRed() / 255.0);
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); output.writeValue(values.get(i)); output.writeLineBreak();
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); output.writeValue(values.get(i)); output.writeLineBreak();
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); UnitSpherical value = values.get(i); output.writeValue(value.getClock());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Rectangular value = values.get(i); output.writeValue(value.getX());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Bounds value = values.get(i); output.writeValue(value.getLowerBound());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Spherical value = values.get(i); output.writeValue(value.getClock());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Cartographic value = values.get(i); output.writeValue(value.getLongitude());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Cartesian value = values.get(i); output.writeValue(value.getX());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); UnitCartesian value = values.get(i); output.writeValue(value.getX());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); NearFarScalar value = values.get(i); output.writeValue(value.getNearDistance());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); BoundingRectangle value = values.get(i); output.writeValue(value.getLeft());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); CartographicExtent value = values.get(i); output.writeValue(value.getWestLongitude());
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); UnitQuaternion quaternion = values.get(i); output.writeValue(quaternion.getX());
@Test public final void testSecondsDifferenceAtLeapSecond() { JulianDate leapSecond = new JulianDate(2453736, 43232D, TimeStandard.INTERNATIONAL_ATOMIC_TIME); JulianDate utcDate = new JulianDate(2453736, 43232D, TimeStandard.COORDINATED_UNIVERSAL_TIME); Assert.assertEquals(-33, utcDate.secondsDifference(leapSecond), 0d); Assert.assertEquals(33, leapSecond.secondsDifference(utcDate), 0d); JulianDate secondBeforeLeapSecondUTC = leapSecond.subtractSeconds(1D).toTimeStandard(TimeStandard.COORDINATED_UNIVERSAL_TIME); JulianDate secondAfterLeapSecondUTC = leapSecond.addSeconds(1D).toTimeStandard(TimeStandard.COORDINATED_UNIVERSAL_TIME); Assert.assertEquals(2, secondBeforeLeapSecondUTC.secondsDifference(secondAfterLeapSecondUTC), 0d); Assert.assertEquals(2, secondAfterLeapSecondUTC.subtract(secondBeforeLeapSecondUTC).getSeconds(), 0d); }
int last = startIndex + length; for (int i = startIndex; i < last; ++i) { output.writeValue(epoch.secondsDifference(dates.get(i))); Cartesian value = values.get(i).getValue(); Cartesian velocity = values.get(i).getFirstDerivative();
/** * Tests the function that determines the number of seconds between two Julian Dates */ @Test public final void testSecondsDifference() { // Test same standard - both safe JulianDate first = new JulianDate(2451545.0); JulianDate second = JulianDate.add(first, Duration.fromSeconds(120000D)); Assert.assertEquals(120000, first.secondsDifference(second), 0d); Assert.assertEquals((JulianDate.subtract(second, first)).getTotalSeconds(), first.secondsDifference(second), 0d); //Test same standard - both unsafe first = new JulianDate(2451545.0, TimeStandard.COORDINATED_UNIVERSAL_TIME); second = JulianDate.add(first, Duration.fromSeconds(120000D)); second = new JulianDate(second.getDay(), second.getSecondsOfDay(), TimeStandard.COORDINATED_UNIVERSAL_TIME); Assert.assertEquals(120000, first.secondsDifference(second), 0d); Assert.assertEquals((JulianDate.subtract(second, first)).getTotalSeconds(), first.secondsDifference(second), 0d); // Test diff standard - one unsafe, one safe first = new JulianDate(2451545.0); second = JulianDate.add(first, Duration.fromSeconds(120000D)); JulianDate secondDiffStandard = second.toTimeStandard(TimeStandard.COORDINATED_UNIVERSAL_TIME); Assert.assertEquals(120000, first.secondsDifference(secondDiffStandard), 0d); Assert.assertEquals((JulianDate.subtract(secondDiffStandard, first)).getTotalSeconds(), first.secondsDifference(secondDiffStandard), 0d); first = JulianDate.getMinValue(); second = JulianDate.getMaxValue(); Assert.assertEquals(((long) Integer.MAX_VALUE - Integer.MIN_VALUE) * TimeConstants.SecondsPerDay, first.secondsDifference(second), 0d); }