Объект int.int
объект int
| Суперанимации | |
|---|---|
| Тип "self" |
Типы
Исходник
Остаток от деления X на Y.
import compiletime.ops.int._ val mod: 5 % 2 = 1
Исходник
Умножение двух Int типов-синглетонов.
import compiletime.ops.int._ val mul: 4 * 2 = 8
Исходник
Сложение двух Int типов-синглетонов.
import compiletime.ops.int._ val sum: 2 + 2 = 4
Исходник
Вычитание двух Int типов-синглетонов.
import compiletime.ops.int._ val sub: 4 - 2 = 2
Исходник
Целочисленное деление двух Int типов-синглетонов.
import compiletime.ops.int._ val div: 5 / 2 = 2
Исходник
Сравнение "меньше" двух Int типов-синглетонов.
import compiletime.ops.int._ val lt1: 4 < 2 = false val lt2: 2 < 4 = true
Исходник
Левый сдвиг битов X на Y позиций.
import compiletime.ops.int._ val lshift: 1 << 2 = 4
Исходник
Сравнение "меньше или равно" двух Int типов-синглетонов.
import compiletime.ops.int._ val lt1: 4 <= 2 = false val lt2: 2 <= 2 = true
Исходник
Сравнение "больше" двух Int типов-синглетонов.
import compiletime.ops.int._ val gt1: 4 > 2 = true val gt2: 2 > 2 = false
Исходник
Сравнение "больше или равно" двух Int типов-синглетонов.
import compiletime.ops.int._ val ge1: 4 >= 2 = true val ge2: 2 >= 3 = false
Исходник
Правый сдвиг битов X на Y позиций.
import compiletime.ops.int._ val rshift: 10 >> 1 = 5
Исходник
Правый сдвиг битов X на Y, заполняя слева нулями.
import compiletime.ops.int._ val rshiftzero: 10 >>> 1 = 5
Исходник
Модуль числа Int типа-синглетона.
import compiletime.ops.int._ val abs: Abs[-1] = 1
Исходник
Побитовое И X и Y.
import compiletime.ops.int._ val and1: BitwiseAnd[4, 4] = 4 val and2: BitwiseAnd[10, 5] = 0
Исходник
Побитовое ИЛИ X и Y.
import compiletime.ops.int._ val or: BitwiseOr[10, 11] = 11
Исходник
Максимум из двух Int типов-синглетонов.
import compiletime.ops.int._ val max: Max[-1, 1] = 1
Исходник
Минимум из двух Int типов-синглетонов.
import compiletime.ops.int._ val min: Min[-1, 1] = -1
Исходник
Отрицание Int типа-синглетона.
import compiletime.ops.int._ val neg1: Negate[-1] = 1 val neg2: Negate[1] = -1
Исходник
Количество нулей перед старшим битом в двоичном представлении числа в дополнительном коде. Возвращает 32, если в двоичном представлении нет единиц, то есть, если число равно нулю.
import compiletime.ops.int._ val zero_lzc: NumberOfLeadingZeros[0] = 32 val eight_lzc: NumberOfLeadingZeros[8] = 28 type Log2[N <: Int] = 31 - NumberOfLeadingZeros[N] val log2of8: Log2[8] = 3
Исходник
Последователь натурального числа, где ноль - тип 0, а последователи уменьшаются как если бы определение было:
import compiletime.ops.int._
type S[N <: Int] <: Int = N match {
case 0 => 1
case 1 => 2
case 2 => 3
// ...
case 2147483646 => 2147483647
}
Исходник
Преобразование в тип Double Int типа-синглетона.
import compiletime.ops.int._ val x: ToDouble[1] = 1.0
Исходник
Преобразование в тип Float Int типа-синглетона.
import compiletime.ops.int._ val x: ToFloat[1] = 1.0f
Исходник
Длительная конвертация Int одиночного типа.
import compiletime.ops.int._ val x: ToLong[1] = 1L
Исходный код
Побитовое исключающее ИЛИ X и Y.
import compiletime.ops.int._ val xor: 10 ^ 30 = 20
© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/compiletime/ops/int$.html