gdxapp4d/lib-numberxd/src/main/love/distributedrebirth/numberxd/base2t/BaseNumber.java

33 lines
852 B
Java
Raw Normal View History

2022-01-30 22:00:16 +01:00
package love.distributedrebirth.numberxd.base2t;
2022-01-28 11:19:52 +01:00
import java.util.ArrayList;
import java.util.List;
import love.distributedrebirth.bassboonyd.BãßBȍőnAuthorInfoʸᴰ;
import love.distributedrebirth.numberxd.base2t.part.T08PartOctal;
/**
2022-01-31 13:40:01 +01:00
* Octal base based number interface.
*/
@BãßBȍőnAuthorInfoʸᴰ(name = "willemtsade", copyright = "©Δ∞ 仙上主天")
2022-01-28 11:19:52 +01:00
public interface BaseNumber<V extends BaseNumber<V>> {
2022-01-31 13:15:04 +01:00
static float CIRCLE_DEGREE = 360f;
2022-01-28 18:37:50 +01:00
int getBitCount();
2022-01-31 13:15:04 +01:00
default float getSliceAngle() {
return CIRCLE_DEGREE/getBitCount();
2022-01-28 18:37:50 +01:00
}
2022-01-28 11:19:52 +01:00
V toClone();
void fillOctalsByClone(BaseAppenderOctal appender);
2022-01-28 11:19:52 +01:00
default BaseIteratorOctal iteratorOctalsByClone() {
2022-01-28 11:19:52 +01:00
List<T08PartOctal> octals = new ArrayList<>();
fillOctalsByClone(new BaseAppenderOctal(octals));
2022-02-04 18:00:03 +01:00
return new BaseIteratorOctalAdapter(octals.iterator());
2022-01-28 11:19:52 +01:00
}
}