- java.lang.Object
-
- xyz.cofe.num.BaseNumbers
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classBaseNumbers.BaseNumbersBuilderВыбор общего основаия
-
Constructor Summary
Constructors Constructor Description BaseNumbers()Конструктор по умолчанию:
minBitsCount = BitCount.INT
zero = 0
one = 1BaseNumbers(BitCount minBitsCount, Number zero, Number one)Конструктор
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Numberadd(Number a, Number b)Сложение чиселstatic BaseNumbers.BaseNumbersBuilderbase()Выбор общего основанияstatic intbitCount(Number n)Возвращает кол-во бит испольуемых для представления числаstatic Numbercast(Number num, Class<? extends Number> base)Преобразует число к указанному типуstatic CommonBasecommonBase(Number n0, Number n1)Возвращает интерфейс для работы с общим основанием чисел.static CommonBasecommonBase(Number n0, Number n1, BitCount minBitsCount)Возвращает интерфейс для работы с общим основанием чисел.Numberdiv(Number a, Number b)Деление чиселbooleanequals(Number a, Number b)Сравнивает два числа на равностьbooleaninfinity(Number n)Проверяет что число является бесконечностьюstatic booleanintegerNumber(Number n)Проверяет что указанное число является целым / натуральным (byte,short,int,long,BigInteger,AtomicInteger,AtomicLong)booleanless(Number a, Number b)Сравннвает числаbooleanmore(Number a, Number b)Сравннвает числаNumbermul(Number a, Number b)Умножение чиселNumbernext(Number n)Возвращает следующее числоNumberone()Возвращает единицуNumberprev(Number n)Возвращает предыдущее числоstatic booleanratioNumber(Number n)Проверяет что указанное число является дробным / рациональным (float,double,BigDecimal)Numberremainder(Number a, Number b)Остаток от деленияstatic SingleBasesingleBase(Number n0, BitCount minBitsCount)Возвращает интерфейс для операции над числамиNumbersub(Number a, Number b)Вычитание чиселbooleanundefined(Number n)Проверяет что число не определенноstatic booleanunlimited(Number n)Проверяет что указанное число относиться к большим числам (BigInteger, BigDecimal)Numberzero()Возвращает нулевое числоbooleanzero(Number n)Проверяет что число является нулем
-
-
-
Method Detail
-
integerNumber
public static boolean integerNumber(Number n)
Проверяет что указанное число является целым / натуральным (byte,short,int,long,BigInteger,AtomicInteger,AtomicLong)- Parameters:
n- чило- Returns:
- true - является целым числом
-
ratioNumber
public static boolean ratioNumber(Number n)
Проверяет что указанное число является дробным / рациональным (float,double,BigDecimal)- Parameters:
n- число- Returns:
- true - является дробным
-
bitCount
public static int bitCount(Number n)
Возвращает кол-во бит испольуемых для представления числа- Parameters:
n- Число- Returns:
- Кол-во бит, 0 - для null, -1 для неизвестного типа
-
unlimited
public static boolean unlimited(Number n)
Проверяет что указанное число относиться к большим числам (BigInteger, BigDecimal)- Parameters:
n- Число- Returns:
- true - является большим
-
cast
public static Number cast(Number num, Class<? extends Number> base)
Преобразует число к указанному типу- Parameters:
num- Числоbase- Тип- Returns:
- Число указанного типа
-
singleBase
public static SingleBase singleBase(Number n0, BitCount minBitsCount)
Возвращает интерфейс для операции над числами- Parameters:
n0- ЧислоminBitsCount- минимальное кол-во бит- Returns:
- Интерфейс для мат операций
-
commonBase
public static CommonBase commonBase(Number n0, Number n1)
Возвращает интерфейс для работы с общим основанием чисел. Основание (тип чисел) береться такое чтоб не потерять точность вычислений.
смcommonBase(Number, Number, BitCount)- Parameters:
n0- Число Аn1- Число Б- Returns:
- Возвращает интерфейс с минимальной потерей точности
-
commonBase
public static CommonBase commonBase(Number n0, Number n1, BitCount minBitsCount)
Возвращает интерфейс для работы с общим основанием чисел. Основание (тип чисел) береться такое чтоб не потерять точность вычислений.Алгоритм выбора:
- Числа (любое) не ограничено по точности ?
unlimited(Number)- ДА - Числа (любое) дробное ?
ratioNumber(Number)- ДА - Основание -
BigDecimalNumbers - НЕТ - Основание -
BigIntegerNumbers
- ДА - Основание -
- НЕТ (число ограничено по кол-ву бит)
Числа атомарные и их тип совпадает ?- ДА - используется соответ атомарные реализации (
AtomicIntegerNumbers,AtomicLongNumbers) - НЕТ (числа не атомарные)
Числа дробные ?- ДА - Испольуется та реализация что даст большую точность:
DoubleNumbers,FloatNumbers - НЕТ - Испольуется та реализация что даст большую точность:
ByteNumbers,ShortNumbers,IntegerNumbers,LongNumbers
- ДА - Испольуется та реализация что даст большую точность:
- ДА - используется соответ атомарные реализации (
- ДА - Числа (любое) дробное ?
- Parameters:
n0- Число Аn1- Число БminBitsCount- (может быть null, тогда смBitCount.max(Number, Number)- Returns:
- Возвращает интерфейс с минимальной потерей точности
- Числа (любое) не ограничено по точности ?
-
base
public static BaseNumbers.BaseNumbersBuilder base()
Выбор общего основания- Returns:
- общее основание
-
zero
public boolean zero(Number n)
Description copied from interface:NumbersПроверяет что число является нулем
-
undefined
public boolean undefined(Number n)
Description copied from interface:NumbersПроверяет что число не определенно
-
infinity
public boolean infinity(Number n)
Description copied from interface:NumbersПроверяет что число является бесконечностью
-
add
public Number add(Number a, Number b)
Description copied from interface:NumbersСложение чисел
-
sub
public Number sub(Number a, Number b)
Description copied from interface:NumbersВычитание чисел
-
mul
public Number mul(Number a, Number b)
Description copied from interface:NumbersУмножение чисел
-
remainder
public Number remainder(Number a, Number b)
Description copied from interface:NumbersОстаток от деления
-
equals
public boolean equals(Number a, Number b)
Description copied from interface:NumbersСравнивает два числа на равность
-
more
public boolean more(Number a, Number b)
Description copied from interface:NumbersСравннвает числа
-
less
public boolean less(Number a, Number b)
Description copied from interface:NumbersСравннвает числа
-
next
public Number next(Number n)
Description copied from interface:NumbersВозвращает следующее число
-
-