Files
artloglaby/java/org/artisanlogiciel/games/minetest/Range.java
philippe lhardy 6c9800047c load .we with layers
- and fix some bug : max is within range ( perhaps not as many as those added ...)
- quick hack in CharProvider to skip spaces ... ( bad it applies to strings too ...)
2020-11-05 21:31:28 +01:00

72 lines
1.2 KiB
Java

package org.artisanlogiciel.games.minetest;
public class Range {
int min;
int max;
public int getMin() {
return min;
}
public int getMax() {
return max;
}
public Range()
{
// invalid range, means empty interval
min = 0;
max = -1;
}
public boolean isEmpty()
{
return ( min > max );
}
boolean union(Range other)
{
boolean update = false;
if ( ! other.isEmpty()) {
update = updateBounds(other.getMin()) | updateBounds(other.getMax());
}
return update;
}
protected boolean updateBounds(int v)
{
boolean update = false;
// special case where previous range was unset ( min > max ).
if ( isEmpty() )
{
min = v;
max = v;
return true;
}
if ( v < min )
{
update = true;
min = v;
}
if ( v > max )
{
update = true;
max = v;
}
return update;
}
public int getRangeSize() {
if (isEmpty())
{
return 0;
}
else
{
return max - min + 1;
}
}
}