List of usage examples for com.google.common.math LongMath mod
@GwtIncompatible("TODO") public static long mod(long x, long m)
From source file:com.github.dokandev.dokanjava.util.FileTime.java
public static ZonedDateTime toDate(long fileTime) { long secondsSince1601 = Math.floorDiv(fileTime, (10 * 1000 * 1000)); long secondsSince1970 = secondsSince1601 - EPOCH_DIFF; int nanoSecondsOffset = LongMath.mod(fileTime, (10 * 1000 * 1000)) * 100; return ZonedDateTime.ofInstant(Instant.ofEpochSecond(secondsSince1970, nanoSecondsOffset), ZoneOffset.UTC); }
From source file:org.terasology.world.time.TimeEventBase.java
public TimeEventBase(long worldTimeMS) { this.worldTimeMS = worldTimeMS; this.timeInDay = LongMath.mod(worldTimeMS, WorldTime.DAY_LENGTH); }
From source file:com.cloudera.oryx.als.computation.ComputationDataUtils.java
public static LongObjectMap<float[]> loadPartialY(int partition, int numPartitions, String prefix, Configuration conf) throws IOException { LongObjectMap<float[]> result = new LongObjectMap<float[]>(); AvroFileSource<MatrixRow> records = new AvroFileSource<MatrixRow>(Namespaces.toPath(prefix), (AvroType<MatrixRow>) ALSTypes.DENSE_ROW_MATRIX); for (MatrixRow record : records.read(conf)) { long id = record.getRowId(); if (LongMath.mod(id, numPartitions) == partition) { result.put(id, record.getValues()); }//from w ww .j a v a 2 s. co m } return result; }
From source file:com.cloudera.gertrude.space.LayerImpl.java
private int computeBucket(String identifier, int numBuckets) { long hc = hash.newHasher().putInt(info.getLayerId()).putString(identifier).hash().asLong(); return LongMath.mod(hc, numBuckets); }
From source file:org.terasology.world.sun.DefaultCelestialSystem.java
/** * Updates the game perception of the time of day via launching a new OnMiddayEvent(), * OnDuskEvent(), OnMidnightEvent(), or OnDawnEvent() based on the time of day when * this method is called upon.//from ww w. ja v a 2s.co m */ protected void fireEvents() { long startTime = worldTime.getMilliseconds(); long delta = startTime - lastUpdate; if (delta > 0) { long timeInDay = LongMath.mod(startTime, DAY_LENGTH); long day = LongMath.divide(startTime, DAY_LENGTH, RoundingMode.FLOOR); long dawn = model.getDawn(day); long midday = model.getMidday(day); long dusk = model.getDusk(day); long midnight = model.getMidnight(day); if (timeInDay - delta < midday && timeInDay >= midday) { long tick = day * DAY_LENGTH + midday; getWorldEntity().send(new OnMiddayEvent(tick)); } if (timeInDay - delta < dusk && timeInDay >= dusk) { long tick = day * DAY_LENGTH + dusk; getWorldEntity().send(new OnDuskEvent(tick)); } if (timeInDay - delta < midnight && timeInDay >= midnight) { long tick = day * DAY_LENGTH + midnight; getWorldEntity().send(new OnMidnightEvent(tick)); } if (timeInDay - delta < dawn && timeInDay >= dawn) { long tick = day * DAY_LENGTH + dawn; getWorldEntity().send(new OnDawnEvent(tick)); } } lastUpdate = startTime; }
From source file:org.terasology.world.time.WorldTimeImpl.java
@Override public void update(float delta) { long deltaMs = time.getDeltaInMs(); if (deltaMs > 0) { deltaMs = (long) (deltaMs * WORLD_TIME_MULTIPLIER); long startTime = worldTime.getAndAdd(deltaMs); long endTime = startTime + deltaMs; long timeInDay = LongMath.mod(startTime, DAY_LENGTH); long day = LongMath.divide(startTime, DAY_LENGTH, RoundingMode.FLOOR); long startTick = startTime / TICK_EVENT_RATE; long endTick = (endTime) / TICK_EVENT_RATE; if (startTick != endTick) { long tick = endTime - endTime % TICK_EVENT_RATE; getWorldEntity().send(new WorldTimeEvent(tick)); }//www . j a v a 2 s . c o m if (timeInDay < MIDDAY_TIME && timeInDay + deltaMs >= MIDDAY_TIME) { long tick = day * DAY_LENGTH + MIDDAY_TIME; getWorldEntity().send(new OnMiddayEvent(tick)); } if (timeInDay < DUSK_TIME && timeInDay + deltaMs >= DUSK_TIME) { long tick = day * DAY_LENGTH + DUSK_TIME; getWorldEntity().send(new OnDuskEvent(tick)); } if (timeInDay < MIDNIGHT_TIME && timeInDay + deltaMs >= MIDNIGHT_TIME) { long tick = day * DAY_LENGTH + MIDNIGHT_TIME; getWorldEntity().send(new OnMidnightEvent(tick)); } if (timeInDay < DAWN_TIME && timeInDay + deltaMs >= DAWN_TIME) { long tick = day * DAY_LENGTH + DAWN_TIME; getWorldEntity().send(new OnDawnEvent(tick)); } } }
From source file:org.terasology.musicdirector.TimedTriggerSystem.java
public boolean isTriggered(TimedMusicTriggerComponent trigger) { long time = worldTime.getMilliseconds(); long timeInDay = LongMath.mod(time, WorldTime.DAY_LENGTH); long startInMs = DoubleMath.roundToLong(trigger.dailyStart * WorldTime.DAY_LENGTH, RoundingMode.HALF_UP); long endInMs = DoubleMath.roundToLong(trigger.dailyEnd * WorldTime.DAY_LENGTH, RoundingMode.HALF_UP); if (startInMs < endInMs) { // -----[xxxxxxxxxx]------ return timeInDay >= startInMs && timeInDay <= endInMs; } else {/*w w w . ja va2 s . co m*/ // xxxxx]----------[xxxxxx return timeInDay >= startInMs || timeInDay <= endInMs; } }