final class PosZLong extends AnyVal
An AnyVal for non-negative Longs.
Because PosZLong is an AnyVal it will usually be
as efficient as an Long, being boxed only when an
Long would have been boxed.
The PosZLong.apply factory method is implemented in terms of a
macro that checks literals for validity at compile time. Calling
PosZLong.apply with a literal Long value will
either produce a valid PosZLong instance at run time or an
error at compile time. Here's an example:
scala> import anyvals._
import anyvals._
scala> PosZLong(1L)
res0: org.scalactic.anyvals.PosZLong = PosZLong(1)
scala> PosZLong(0L)
res1: org.scalactic.anyvals.PosZLong = PosZLong(0)
scala> PosZLong(-1L)
<console>:14: error: PosZLong.apply can only be invoked on a non-negative (i >= 0L) integer literal, like PosZLong(42L).
PosZLong(-1L)
^
PosZLong.apply cannot be used if the value being passed is a
variable (i.e., not a literal), because the macro cannot determine
the validity of variables at compile time (just literals). If you try to
pass a variable to PosZLong.apply, you'll get a compiler error
that suggests you use a different factor method, PosZLong.from,
instead:
scala> val x = 1L
x: Long = 1
scala> PosZLong(x)
<console>:15: error: PosZLong.apply can only be invoked on an integer literal, like PosZLong(42L). Please use PosZLong.from instead.
PosZLong(x)
^
The PosZLong.from factory method will inspect the value at runtime and return an Option[PosZLong]. If
the value is valid, PosZLong.from will return a Some[PosZLong], else it will return a None.
Here's an example:
scala> PosZLong.from(x) res4: Option[org.scalactic.anyvals.PosZLong] = Some(PosZLong(1)) scala> val y = -1L y: Long = -1 scala> PosZLong.from(y) res5: Option[org.scalactic.anyvals.PosZLong] = None
The PosZLong.apply factory method is marked implicit, so that
you can pass literal Longs into methods that require
PosZLong, and get the same compile-time checking you get when
calling PosZLong.apply explicitly. Here's an example:
scala> def invert(pos: PosZLong): Long = Long.MaxValue - pos
invert: (pos: org.scalactic.anyvals.PosZLong)Long
scala> invert(0L)
res6: Long = 9223372036854775807
scala> invert(Long.MaxValue)
res7: Long = 0
scala> invert(-1L)
<console>:15: error: PosZLong.apply can only be invoked on a non-negative (i >= 0L) integer literal, like PosZLong(42L).
invert(-1L)
^
This example also demonstrates that the PosZLong
companion object also defines implicit widening conversions
when either no loss of precision will occur or a similar
conversion is provided in Scala. (For example, the implicit
conversion from Long to Double in
Scala can lose precision.) This makes it convenient to use a
PosZLong where a Long or wider type
is needed. An example is the subtraction in the body of the
invert method defined above, Long.MaxValue
- pos. Although Long.MaxValue is a
Long, which has no - method that
takes a PosZLong (the type of pos),
you can still subtract pos, because the
PosZLong will be implicitly widened to
Long.
- Source
- PosZLong.scala
- Alphabetic
- By Inheritance
- PosZLong
- AnyVal
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- Any
-
final
def
##(): Int
- Definition Classes
- Any
-
def
%(x: Double): Double
Returns the remainder of the division of this value by
x. -
def
%(x: Float): Float
Returns the remainder of the division of this value by
x. -
def
%(x: Long): Long
Returns the remainder of the division of this value by
x. -
def
%(x: Int): Long
Returns the remainder of the division of this value by
x. -
def
%(x: Char): Long
Returns the remainder of the division of this value by
x. -
def
%(x: Short): Long
Returns the remainder of the division of this value by
x. -
def
%(x: Byte): Long
Returns the remainder of the division of this value by
x. -
def
&(x: Long): Long
Returns the bitwise AND of this value and
x.Returns the bitwise AND of this value and
x.(0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000
Example: -
def
&(x: Int): Long
Returns the bitwise AND of this value and
x.Returns the bitwise AND of this value and
x.(0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000
Example: -
def
&(x: Char): Long
Returns the bitwise AND of this value and
x.Returns the bitwise AND of this value and
x.(0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000
Example: -
def
&(x: Short): Long
Returns the bitwise AND of this value and
x.Returns the bitwise AND of this value and
x.(0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000
Example: -
def
&(x: Byte): Long
Returns the bitwise AND of this value and
x.Returns the bitwise AND of this value and
x.(0xf0 & 0xaa) == 0xa0 // in binary: 11110000 // & 10101010 // -------- // 10100000
Example: -
def
*(x: Double): Double
Returns the product of this value and
x. -
def
*(x: Float): Float
Returns the product of this value and
x. -
def
*(x: Long): Long
Returns the product of this value and
x. -
def
*(x: Int): Long
Returns the product of this value and
x. -
def
*(x: Char): Long
Returns the product of this value and
x. -
def
*(x: Short): Long
Returns the product of this value and
x. -
def
*(x: Byte): Long
Returns the product of this value and
x. -
def
+(x: Double): Double
Returns the sum of this value and
x. -
def
+(x: Float): Float
Returns the sum of this value and
x. -
def
+(x: Long): Long
Returns the sum of this value and
x. -
def
+(x: Int): Long
Returns the sum of this value and
x. -
def
+(x: Char): Long
Returns the sum of this value and
x. -
def
+(x: Short): Long
Returns the sum of this value and
x. -
def
+(x: Byte): Long
Returns the sum of this value and
x. -
def
+(x: String): String
Converts this
PosZLong's value to a string then concatenates the given string. -
def
-(x: Double): Double
Returns the difference of this value and
x. -
def
-(x: Float): Float
Returns the difference of this value and
x. -
def
-(x: Long): Long
Returns the difference of this value and
x. -
def
-(x: Int): Long
Returns the difference of this value and
x. -
def
-(x: Char): Long
Returns the difference of this value and
x. -
def
-(x: Short): Long
Returns the difference of this value and
x. -
def
-(x: Byte): Long
Returns the difference of this value and
x. -
def
/(x: Double): Double
Returns the quotient of this value and
x. -
def
/(x: Float): Float
Returns the quotient of this value and
x. -
def
/(x: Long): Long
Returns the quotient of this value and
x. -
def
/(x: Int): Long
Returns the quotient of this value and
x. -
def
/(x: Char): Long
Returns the quotient of this value and
x. -
def
/(x: Short): Long
Returns the quotient of this value and
x. -
def
/(x: Byte): Long
Returns the quotient of this value and
x. -
def
<(x: Double): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<(x: Float): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<(x: Long): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<(x: Int): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<(x: Char): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<(x: Short): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<(x: Byte): Boolean
Returns
trueif this value is less than x,falseotherwise. -
def
<<(x: Long): Long
Returns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes.
Returns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes.
6 << 3 == 48 // in binary: 0110 << 3 == 0110000
Example: -
def
<<(x: Int): Long
Returns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes.
Returns this value bit-shifted left by the specified number of bits, filling in the new right bits with zeroes.
6 << 3 == 48 // in binary: 0110 << 3 == 0110000
Example: -
def
<=(x: Double): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
def
<=(x: Float): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
def
<=(x: Long): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
def
<=(x: Int): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
def
<=(x: Char): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
def
<=(x: Short): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
def
<=(x: Byte): Boolean
Returns
trueif this value is less than or equal to x,falseotherwise. -
final
def
==(arg0: Any): Boolean
- Definition Classes
- Any
-
def
>(x: Double): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>(x: Float): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>(x: Long): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>(x: Int): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>(x: Char): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>(x: Short): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>(x: Byte): Boolean
Returns
trueif this value is greater than x,falseotherwise. -
def
>=(x: Double): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>=(x: Float): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>=(x: Long): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>=(x: Int): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>=(x: Char): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>=(x: Short): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>=(x: Byte): Boolean
Returns
trueif this value is greater than or equal to x,falseotherwise. -
def
>>(x: Long): Long
Returns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this.
Returns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this. The effect of this is to retain the sign of the value.
-21 >> 3 == -3 // in binary: 11111111 11111111 11111111 11101011 >> 3 == // 11111111 11111111 11111111 11111101
Example: -
def
>>(x: Int): Long
Returns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this.
Returns this value bit-shifted left by the specified number of bits, filling in the right bits with the same value as the left-most bit of this. The effect of this is to retain the sign of the value.
-21 >> 3 == -3 // in binary: 11111111 11111111 11111111 11101011 >> 3 == // 11111111 11111111 11111111 11111101
Example: -
def
>>>(x: Long): Long
Returns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes.
Returns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes.
21 >>> 3 == 2 // in binary: 010101 >>> 3 == 010
, -21 >>> 3 == 536870909 // in binary: 11111111 11111111 11111111 11101011 >>> 3 == // 00011111 11111111 11111111 11111101
Examples: -
def
>>>(x: Int): Long
Returns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes.
Returns this value bit-shifted right by the specified number of bits, filling the new left bits with zeroes.
21 >>> 3 == 2 // in binary: 010101 >>> 3 == 010
, -21 >>> 3 == 536870909 // in binary: 11111111 11111111 11111111 11101011 >>> 3 == // 00011111 11111111 11111111 11111101
Examples: -
def
^(x: Long): Long
Returns the bitwise XOR of this value and
x.Returns the bitwise XOR of this value and
x.(0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010
Example: -
def
^(x: Int): Long
Returns the bitwise XOR of this value and
x.Returns the bitwise XOR of this value and
x.(0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010
Example: -
def
^(x: Char): Long
Returns the bitwise XOR of this value and
x.Returns the bitwise XOR of this value and
x.(0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010
Example: -
def
^(x: Short): Long
Returns the bitwise XOR of this value and
x.Returns the bitwise XOR of this value and
x.(0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010
Example: -
def
^(x: Byte): Long
Returns the bitwise XOR of this value and
x.Returns the bitwise XOR of this value and
x.(0xf0 ^ 0xaa) == 0x5a // in binary: 11110000 // ^ 10101010 // -------- // 01011010
Example: -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
max(that: PosZLong): PosZLong
Returns
thisifthis > thatorthatotherwise. -
def
min(that: PosZLong): PosZLong
Returns
thisifthis < thatorthatotherwise. -
def
to(end: Long, step: Long): Inclusive[Long]
Create an inclusive
Rangefrom thisPosZLongvalue to the specifiedendwith the specifiedstepvalue.Create an inclusive
Rangefrom thisPosZLongvalue to the specifiedendwith the specifiedstepvalue.- end
The final bound of the range to make.
- step
The number to increase by for each step of the range.
- returns
A scala.collection.immutable.NumericRange.Inclusive[Long] from
thisup to and includingend.
-
def
to(end: Long): Inclusive[Long]
Create an inclusive
Rangefrom thisPosZLongvalue to the specifiedendwith step value 1.Create an inclusive
Rangefrom thisPosZLongvalue to the specifiedendwith step value 1.- end
The final bound of the range to make.
- returns
A scala.collection.immutable.NumericRange.Inclusive[Long] from
thisup to and includingend.
-
def
toBinaryString: String
Returns a string representation of this
PosLong's underlyingLongas an unsigned integer in base 2.Returns a string representation of this
PosLong's underlyingLongas an unsigned integer in base 2.The unsigned
longvalue is thisPosLong's underlyingLongplus 264 if the underlyingLongis negative; otherwise, it is equal to the underlyingLong. This value is converted to a string of ASCII digits in binary (base 2) with no extra leading0s. If the unsigned magnitude is zero, it is represented by a single zero character'0'('\u0030'); otherwise, the first character of the representation of the unsigned magnitude will not be the zero character. The characters'0'('\u0030') and'1'('\u0031') are used as binary digits.- returns
the string representation of the unsigned
longvalue represented by thisPosLong's underlyingLongin binary (base 2).
-
def
toByte: Byte
Converts this
PosZLongto aByte. -
def
toChar: Char
Converts this
PosZLongto aChar. -
def
toDouble: Double
Converts this
PosZLongto aDouble. -
def
toFloat: Float
Converts this
PosZLongto aFloat. -
def
toHexString: String
Returns a string representation of this
PosLong's underlyingLongas an unsigned integer in base 16.Returns a string representation of this
PosLong's underlyingLongas an unsigned integer in base 16.The unsigned
longvalue is thisPosLong's underlyingLongplus 264 if the underlyingLongis negative; otherwise, it is equal to the underlyingLong. This value is converted to a string of ASCII digits in hexadecimal (base 16) with no extra leading0s. If the unsigned magnitude is zero, it is represented by a single zero character'0'('\u0030'); otherwise, the first character of the representation of the unsigned magnitude will not be the zero character. The following characters are used as hexadecimal digits:0123456789abcdefThese are the characters
'\u0030'through'\u0039'and'\u0061'through'\u0066'. If uppercase letters are desired, thetoUpperCasemethod may be called on the result.- returns
the string representation of the unsigned
longvalue represented by thisPosLong's underlyingLongin hexadecimal (base 16).
-
def
toInt: Int
Converts this
PosZLongto anInt. -
def
toLong: Long
Converts this
PosZLongto aLong. - def toOctalString: String
-
def
toShort: Short
Converts this
PosZLongto aShort. -
def
toString(): String
A string representation of this
PosZLong.A string representation of this
PosZLong.- Definition Classes
- PosZLong → Any
-
def
unary_+: PosZLong
Returns this value, unmodified.
-
def
unary_-: Long
Returns the negation of this value.
-
def
unary_~: Long
Returns the bitwise negation of this value.
Returns the bitwise negation of this value.
~5 == -6 // in binary: ~00000101 == // 11111010
Example: -
def
until(end: Long, step: Long): Exclusive[Long]
Create a
Rangefrom thisPosZLongvalue until the specifiedend(exclusive) with the specifiedstepvalue.Create a
Rangefrom thisPosZLongvalue until the specifiedend(exclusive) with the specifiedstepvalue.- end
The final bound of the range to make.
- step
The number to increase by for each step of the range.
- returns
A scala.collection.immutable.NumericRange.Exclusive[Long] from
thisup to but not includingend.
-
def
until(end: Long): Exclusive[Long]
Create a
Rangefrom thisPosZLongvalue until the specifiedend(exclusive) with step value 1.Create a
Rangefrom thisPosZLongvalue until the specifiedend(exclusive) with step value 1.- end
The final bound of the range to make.
- returns
A scala.collection.immutable.NumericRange.Exclusive[Long] from
thisup to but not includingend.
- val value: Long
-
def
|(x: Long): Long
Returns the bitwise OR of this value and
x.Returns the bitwise OR of this value and
x.(0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010
Example: -
def
|(x: Int): Long
Returns the bitwise OR of this value and
x.Returns the bitwise OR of this value and
x.(0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010
Example: -
def
|(x: Char): Long
Returns the bitwise OR of this value and
x.Returns the bitwise OR of this value and
x.(0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010
Example: -
def
|(x: Short): Long
Returns the bitwise OR of this value and
x.Returns the bitwise OR of this value and
x.(0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010
Example: -
def
|(x: Byte): Long
Returns the bitwise OR of this value and
x.Returns the bitwise OR of this value and
x.(0xf0 | 0xaa) == 0xfa // in binary: 11110000 // | 10101010 // -------- // 11111010
Example: