Объект scala.compiletime.ops.int
объект int
| Суперобект | |
|---|---|
| Тип "self" |
Типы
Исходный код
Остаток от деления X на Y.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val mod: 5 % 2 = 1
}
Исходный код
Умножение двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val mul: 4 * 2 = 8
}
Исходный код
Сложение двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val sum: 2 + 2 = 4
}
Исходный код
Вычитание двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val sub: 4 - 2 = 2
}
Исходный код
Целочисленное деление двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val div: 5 / 2 = 2
}
Исходный код
Сравнение меньше двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val lt1: 4 < 2 = false
val lt2: 2 < 4 = true
}
Исходный код
Бинарный сдвиг влево X на Y.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val lshift: 1 << 2 = 4
}
Исходный код
Сравнение меньше или равно двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val lt1: 4 <= 2 = false
val lt2: 2 <= 2 = true
}
Исходный код
Сравнение больше двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val gt1: 4 > 2 = true
val gt2: 2 > 2 = false
}
Исходный код
Сравнение больше или равно двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val ge1: 4 >= 2 = true
val ge2: 2 >= 3 = false
}
Исходный код
Бинарный сдвиг вправо X на Y.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val rshift: 10 >> 1 = 5
}
Исходный код
Бинарный сдвиг вправо X на Y, заполняя слева нулями.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val rshiftzero: 10 >>> 1 = 5
}
Исходный код
Модуль числа Int типа-синглетона.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val abs: Abs[-1] = 1
}
Исходный код
Битовая операция AND X и Y.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val and1: BitwiseAnd[4, 4] = 4
val and2: BitwiseAnd[10, 5] = 0
}
Исходный код
Битовая операция OR X и Y.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val or: BitwiseOr[10, 11] = 11
}
Исходный код
Максимум из двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val max: Max[-1, 1] = 1
}
Исходный код
Минимум из двух Int типов-синглетонов.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val min: Min[-1, 1] = -1
}
Исходный код
Отрицание Int типа-синглетона.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val neg1: Negate[-1] = 1
val neg2: Negate[1] = -1
}
Исходный код@experimental
Количество нулевых битов перед старшим битом в двоичном представлении дополнения до двух для указанного типа-синглетона Int. Возвращает 32, если в двоичном представлении дополнения до двух нет битов 1, то есть если тип-синглетон равен нулю.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
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, а последователи уменьшаются так, как если бы определение было:
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
type S[N <: Int] <: Int = N match {
case 0 => 1
case 1 => 2
case 2 => 3
// ...
case 2147483646 => 2147483647
}
}
Исходный код@experimental
Преобразование в тип Double Int типа-синглетона.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val x: ToDouble[1] = 1.0
}
Исходный код@experimental
Преобразование типа Int в тип с плавающей запятой.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val x: ToFloat[1] = 1.0f
}
Исходный код@experimental
Преобразование типа Int в тип Long.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val x: ToLong[1] = 1L
}
Исходный код
Преобразование типа Int в строку.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
val abs: ToString[1] = "1"
}
Исходный код
Побитовое исключающее ИЛИ для X и Y.
package scala.compiletime.ops
trait Snippet0 { self: int.type =>
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.1.1/scala/compiletime/ops/int$.html