int
- Source:
- int.scala
Type members
Types
Remainder of the division of X
by Y
.
Remainder of the division of X
by Y
.
import compiletime.ops.int._
val mod: 5 % 2 = 1
- Source:
- int.scala
Multiplication of two Int
singleton types.
Multiplication of two Int
singleton types.
import compiletime.ops.int._
val mul: 4 * 2 = 8
- Source:
- int.scala
Addition of two Int
singleton types.
Addition of two Int
singleton types.
import compiletime.ops.int._
val sum: 2 + 2 = 4
- Source:
- int.scala
Subtraction of two Int
singleton types.
Subtraction of two Int
singleton types.
import compiletime.ops.int._
val sub: 4 - 2 = 2
- Source:
- int.scala
Integer division of two Int
singleton types.
Integer division of two Int
singleton types.
import compiletime.ops.int._
val div: 5 / 2 = 2
- Source:
- int.scala
Less-than comparison of two Int
singleton types.
Less-than comparison of two Int
singleton types.
import compiletime.ops.int._
val lt1: 4 < 2 = false
val lt2: 2 < 4 = true
- Source:
- int.scala
Binary left shift of X
by Y
.
Binary left shift of X
by Y
.
import compiletime.ops.int._
val lshift: 1 << 2 = 4
- Source:
- int.scala
Less-or-equal comparison of two Int
singleton types.
Less-or-equal comparison of two Int
singleton types.
import compiletime.ops.int._
val lt1: 4 <= 2 = false
val lt2: 2 <= 2 = true
- Source:
- int.scala
Greater-than comparison of two Int
singleton types.
Greater-than comparison of two Int
singleton types.
import compiletime.ops.int._
val gt1: 4 > 2 = true
val gt2: 2 > 2 = false
- Source:
- int.scala
Greater-or-equal comparison of two Int
singleton types.
Greater-or-equal comparison of two Int
singleton types.
import compiletime.ops.int._
val ge1: 4 >= 2 = true
val ge2: 2 >= 3 = false
- Source:
- int.scala
Binary right shift of X
by Y
.
Binary right shift of X
by Y
.
import compiletime.ops.int._
val rshift: 10 >> 1 = 5
- Source:
- int.scala
Binary right shift of X
by Y
, filling the left with zeros.
Binary right shift of X
by Y
, filling the left with zeros.
import compiletime.ops.int._
val rshiftzero: 10 >>> 1 = 5
- Source:
- int.scala
Absolute value of an Int
singleton type.
Absolute value of an Int
singleton type.
import compiletime.ops.int._
val abs: Abs[-1] = 1
- Source:
- int.scala
Bitwise and of X
and Y
.
Bitwise and of X
and Y
.
import compiletime.ops.int._
val and1: BitwiseAnd[4, 4] = 4
val and2: BitwiseAnd[10, 5] = 0
- Source:
- int.scala
Bitwise or of X
and Y
.
Bitwise or of X
and Y
.
import compiletime.ops.int._
val or: BitwiseOr[10, 11] = 11
- Source:
- int.scala
Maximum of two Int
singleton types.
Maximum of two Int
singleton types.
import compiletime.ops.int._
val max: Max[-1, 1] = 1
- Source:
- int.scala
Minimum of two Int
singleton types.
Minimum of two Int
singleton types.
import compiletime.ops.int._
val min: Min[-1, 1] = -1
- Source:
- int.scala
Negation of an Int
singleton type.
Negation of an Int
singleton type.
import compiletime.ops.int._
val neg1: Negate[-1] = 1
val neg2: Negate[1] = -1
- Source:
- int.scala
Number of zero bits preceding the highest-order ("leftmost")
one-bit in the two's complement binary representation of the specified Int
singleton type.
Returns 32 if the specified singleton type has no one-bits in its two's complement representation,
in other words if it is equal to zero.
Number of zero bits preceding the highest-order ("leftmost")
one-bit in the two's complement binary representation of the specified Int
singleton type.
Returns 32 if the specified singleton type has no one-bits in its two's complement representation,
in other words if it is equal to zero.
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
- Source:
- int.scala
Successor of a natural number where zero is the type 0 and successors are reduced as if the definition was:
Successor of a natural number where zero is the type 0 and successors are reduced as if the definition was:
import compiletime.ops.int._
type S[N <: Int] <: Int = N match {
case 0 => 1
case 1 => 2
case 2 => 3
// ...
case 2147483646 => 2147483647
}
- Source:
- int.scala
Double conversion of an Int
singleton type.
Double conversion of an Int
singleton type.
import compiletime.ops.int._
val x: ToDouble[1] = 1.0
- Source:
- int.scala
Float conversion of an Int
singleton type.
Float conversion of an Int
singleton type.
import compiletime.ops.int._
val x: ToFloat[1] = 1.0f
- Source:
- int.scala
Long conversion of an Int
singleton type.
Long conversion of an Int
singleton type.
import compiletime.ops.int._
val x: ToLong[1] = 1L
- Source:
- int.scala