gdxapp4d/gdxapp4d-lib-bassboonyd/src/main/java/ᒢᐩᐩ/ᒡᒢᑊᒻᒻᓫᔿ/PrimitiveBooleanIterator.java

90 lines
2.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ;
import java.util.PrimitiveIterator;
import java.util.function.Consumer;
import ᒢᐩᐩ.ᒃᣔᔆᔆᒃᐤᐤᣕ.Bãß;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᔿᣔᐪᣗᑊᕁ.M02ᒾ;
import ᒢᐩᐩ.ᒡᒢᑊᒻᒻᓫᔿ.ᣳᣝᐤᣜᣳ.ᔿᣔᐪᣗᑊᕁ.M04ᒾ;
import ᒢᐩᐩ.ᔆʸᔆᐪᓫᔿ.ᒃᣔᒃᓫᒻ.ᑊᐣᓑᖮᐪᔆ.DuytsDocAuthor注;
@DuytsDocAuthor注(name = "للَّٰهِilLצسُو", copyright = "©Δ∞ 仙上主天")
public interface PrimitiveBooleanIterator extends PrimitiveIterator<Boolean,PrimitiveBooleanConsumer> {
boolean nextBoolean();
@Override
default Boolean next() {
return nextBoolean();
}
@Override
default void forEachRemaining(Consumer<? super Boolean> action) {
while (hasNext()) {
action.accept(nextBoolean());
}
}
@Override
default void forEachRemaining(PrimitiveBooleanConsumer action) {
while (hasNext()) {
action.accept(nextBoolean());
}
}
default PrimitiveNibbleIterator toNibbleIteratorIndianBig() {
return toNibbleIterator(M04ᒾ.STATIC);
}
default PrimitiveNibbleIterator toNibbleIteratorIndianLittle() {
return toNibbleIterator(M04ᒾ.TAIL);
}
default PrimitiveNibbleIterator toNibbleIterator(M04ᒾ order) {
return new PrimitiveNibbleIterator() {
@Override
public boolean hasNext() {
return PrimitiveBooleanIterator.this.hasNext();
}
@Override
public byte nextNibble() {
int current = 0;
for (int i=0;i<4;i++) {
current += PrimitiveBooleanIterator.this.nextBoolean()?1:0 << order.rȧñkNummerBlokWaarde(i);
}
return (byte) current;
}
};
}
default PrimitiveByteIterator toByteIterator(M02ᒾ order) {
if (M02ᒾ.TAIL.equals(order)) {
return toNibbleIterator(M04ᒾ.TAIL).toByteIterator(order);
}
return toNibbleIterator(M04ᒾ.STATIC).toByteIterator(order);
}
static PrimitiveBooleanIterator valueOfZeroAscii(String binarySnake) {
return valueOf(binarySnake, Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.STR_ZERO);
}
static PrimitiveBooleanIterator valueOf(String binarySnake, String zeroChar) {
OfInt values = binarySnake.codePoints().iterator();
int zeroInt = zeroChar.codePointAt(Bãß.ℭỗᶇṧⱦᶏꬼȶʂ.INT_ZERO);
return new PrimitiveBooleanIterator() {
@Override
public boolean hasNext() {
return values.hasNext();
}
@Override
public boolean nextBoolean() {
return zeroInt != values.nextInt();
}
};
}
}