final class NegZLong extends AnyVal
An AnyVal for non-positive Longs.
Because NegZLong is an AnyVal it
will usually be as efficient as an Long, being
boxed only when an Long would have been boxed.
The NegZLong.apply factory method is implemented
in terms of a macro that checks literals for validity at
compile time. Calling NegZLong.apply with a
literal Long value will either produce a valid
NegZLong instance at run time or an error at
compile time. Here's an example:
scala> import anyvals._
import anyvals._
scala> NegZLong(-42L)
res0: org.scalactic.anyvals.NegZLong = NegZLong(-42L)
scala> NegZLong(-1L)
<console>:14: error: NegZLong.apply can only be invoked on a non-positive (i <= 0L) integer literal, like NegZLong(-42L).
              NegZLong(-1L)
                     ^
NegZLong.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 NegZLong.apply, you'll get a compiler error
that suggests you use a different factor method,
NegZLong.from, instead:
scala> val x = -42L
x: Long = -42
scala> NegZLong(x)
<console>:15: error: NegZLong.apply can only be invoked on an long literal, like NegZLong(-42L). Please use NegZLong.from instead.
              NegZLong(x)
                     ^
The NegZLong.from factory method will inspect the
value at runtime and return an
Option[NegZLong]. If the value is valid,
NegZLong.from will return a
Some[NegZLong], else it will return a
None.  Here's an example:
scala> NegZLong.from(x) res3: Option[org.scalactic.anyvals.NegZLong] = Some(NegZLong(-42)) scala> val y = 1L y: Long = 1 scala> NegZLong.from(y) res4: Option[org.scalactic.anyvals.NegZLong] = None
The NegZLong.apply factory method is marked
implicit, so that you can pass literal Longs
into methods that require NegZLong, and get the
same compile-time checking you get when calling
NegZLong.apply explicitly. Here's an example:
scala> def invert(pos: NegZLong): Long = Long.MaxValue - pos
invert: (pos: org.scalactic.anyvals.NegZLong)Long
scala> invert(1L)
res5: Long = 9223372036854775806
scala> invert(Long.MaxValue)
res6: Long = 0
scala> invert(1L)
<console>:15: error: NegZLong.apply can only be invoked on a non-positive (i <= 0L) integer literal, like NegZLong(-42L).
              invert(1L)
                     ^
This example also demonstrates that the NegZLong
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
NegZLong 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 NegZLong (the type of pos),
you can still subtract pos, because the
NegZLong will be implicitly widened to
Long.
- Source
- NegZLong.scala
- Alphabetic
- By Inheritance
- NegZLong
- AnyVal
- Any
- Hide All
- Show All
- Public
- Protected
Value Members
-   final  def !=(arg0: Any): Boolean- Definition Classes
- Any
 
-   final  def ##: Int- Definition Classes
- Any
 
-    def %(x: Double): DoubleReturns the remainder of the division of this value by x.
-    def %(x: Float): FloatReturns the remainder of the division of this value by x.
-    def %(x: Long): LongReturns the remainder of the division of this value by x.
-    def %(x: Int): LongReturns the remainder of the division of this value by x.
-    def %(x: Char): LongReturns the remainder of the division of this value by x.
-    def %(x: Short): LongReturns the remainder of the division of this value by x.
-    def %(x: Byte): LongReturns the remainder of the division of this value by x.
-    def &(x: Long): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): DoubleReturns the product of this value and x.
-    def *(x: Float): FloatReturns the product of this value and x.
-    def *(x: Long): LongReturns the product of this value and x.
-    def *(x: Int): LongReturns the product of this value and x.
-    def *(x: Char): LongReturns the product of this value and x.
-    def *(x: Short): LongReturns the product of this value and x.
-    def *(x: Byte): LongReturns the product of this value and x.
-    def +(x: Double): DoubleReturns the sum of this value and x.
-    def +(x: Float): FloatReturns the sum of this value and x.
-    def +(x: Long): LongReturns the sum of this value and x.
-    def +(x: Int): LongReturns the sum of this value and x.
-    def +(x: Char): LongReturns the sum of this value and x.
-    def +(x: Short): LongReturns the sum of this value and x.
-    def +(x: Byte): LongReturns the sum of this value and x.
-    def +(x: String): StringConverts this NegZLong's value to a string then concatenates the given string.
-    def -(x: Double): DoubleReturns the difference of this value and x.
-    def -(x: Float): FloatReturns the difference of this value and x.
-    def -(x: Long): LongReturns the difference of this value and x.
-    def -(x: Int): LongReturns the difference of this value and x.
-    def -(x: Char): LongReturns the difference of this value and x.
-    def -(x: Short): LongReturns the difference of this value and x.
-    def -(x: Byte): LongReturns the difference of this value and x.
-    def /(x: Double): DoubleReturns the quotient of this value and x.
-    def /(x: Float): FloatReturns the quotient of this value and x.
-    def /(x: Long): LongReturns the quotient of this value and x.
-    def /(x: Int): LongReturns the quotient of this value and x.
-    def /(x: Char): LongReturns the quotient of this value and x.
-    def /(x: Short): LongReturns the quotient of this value and x.
-    def /(x: Byte): LongReturns the quotient of this value and x.
-    def <(x: Double): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Float): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Long): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Int): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Char): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Short): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <(x: Byte): BooleanReturns trueif this value is less than x,falseotherwise.
-    def <<(x: Long): LongReturns 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): LongReturns 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): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Float): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Long): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Int): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Char): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Short): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-    def <=(x: Byte): BooleanReturns trueif this value is less than or equal to x,falseotherwise.
-   final  def ==(arg0: Any): Boolean- Definition Classes
- Any
 
-    def >(x: Double): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Float): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Long): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Int): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Char): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Short): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >(x: Byte): BooleanReturns trueif this value is greater than x,falseotherwise.
-    def >=(x: Double): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Float): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Long): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Int): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Char): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Short): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >=(x: Byte): BooleanReturns trueif this value is greater than or equal to x,falseotherwise.
-    def >>(x: Long): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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 ensuringValid(f: (Long) => Long): NegZLongApplies the passed Long => Longfunction to the underlyingLongvalue, and if the result is positive, returns the result wrapped in aNegZLong, else throwsAssertionError.Applies the passed Long => Longfunction to the underlyingLongvalue, and if the result is positive, returns the result wrapped in aNegZLong, else throwsAssertionError.This method will inspect the result of applying the given function to this NegZLong's underlyingLongvalue and if the result is non-positive, it will return aNegZLongrepresenting that value. Otherwise, theLongvalue returned by the given function is not non-positive, this method will throwAssertionError.This method differs from a vanilla assertorensuringcall in that you get something you didn't already have if the assertion succeeds: a type that promises anLongis non-positive. With this method, you are asserting that you are convinced the result of the computation represented by applying the given function to thisNegZLong's value will not overflow. Instead of overflowing silently likeLong, this method will signal an overflow with a loudAssertionError.- f
- the - Long => Longfunction to apply to this- NegZLong's underlying- Longvalue.
- returns
- the result of applying this - NegZLong's underlying- Longvalue to to the passed function, wrapped in a- NegZLongif it is non-positive (else throws- AssertionError).
 - Exceptions thrown
- AssertionErrorif the result of applying this- NegZLong's underlying- Longvalue to to the passed function is not positive.
 
-    def getClass(): Class[_ <: AnyVal]- Definition Classes
- AnyVal → Any
 
-   final  def isInstanceOf[T0]: Boolean- Definition Classes
- Any
 
-    def max(that: NegZLong): NegZLongReturns thisifthis > thatorthatotherwise.
-    def min(that: NegZLong): NegZLongReturns thisifthis < thatorthatotherwise.
-    def to(end: Long, step: Long): Inclusive[Long]Create an inclusive Rangefrom thisNegZLongvalue to the specifiedendwith the specifiedstepvalue.Create an inclusive Rangefrom thisNegZLongvalue 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 including- end.
 
-    def to(end: Long): Inclusive[Long]Create an inclusive Rangefrom thisNegZLongvalue to the specifiedendwith step value 1.Create an inclusive Rangefrom thisNegZLongvalue 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 including- end.
 
-    def toBinaryString: StringReturns a string representation of this NegZLong's underlyingLongas an unsigned integer in base 2.Returns a string representation of this NegZLong's underlyingLongas an unsigned integer in base 2.The unsigned longvalue is thisNegZLong'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 this- NegZLong's underlying- Longin binary (base 2).
 
-    def toByte: ByteConverts this NegZLongto aByte.
-    def toChar: CharConverts this NegZLongto aChar.
-    def toDouble: DoubleConverts this NegZLongto aDouble.
-    def toFloat: FloatConverts this NegZLongto aFloat.
-    def toHexString: StringReturns a string representation of this NegZLong's underlyingLongas an unsigned integer in base 16.Returns a string representation of this NegZLong's underlyingLongas an unsigned integer in base 16.The unsigned longvalue is thisNegZLong'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 this- NegZLong's underlying- Longin hexadecimal (base 16).
 
-    def toInt: IntConverts this NegZLongto anInt.
-    def toLong: LongConverts this NegZLongto aLong.
-    def toOctalString: StringReturns a string representation of this NegZLong's underlyingLongas an unsigned integer in base 8.Returns a string representation of this NegZLong's underlyingLongas an unsigned integer in base 8.The unsigned longvalue is thisNegZLong'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 octal (base 8) 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 octal digits:01234567These are the characters '\u0030'through'\u0037'.- returns
- the string representation of the unsigned - longvalue represented by this- NegZLong's underlying- Longin octal (base 8).
 
-    def toShort: ShortConverts this NegZLongto aShort.
-    def toString(): StringA string representation of this NegZLong.A string representation of this NegZLong.- Definition Classes
- NegZLong → Any
 
-    def unary_+: NegZLongReturns this value, unmodified. 
-    def unary_-: LongReturns the negation of this value. 
-    def unary_~: LongReturns 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 thisNegZLongvalue until the specifiedend(exclusive) with the specifiedstepvalue.Create a Rangefrom thisNegZLongvalue 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 including- end.
 
-    def until(end: Long): Exclusive[Long]Create a Rangefrom thisNegZLongvalue until the specifiedend(exclusive) with step value 1.Create a Rangefrom thisNegZLongvalue 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 including- end.
 
-  val value: Long
-    def |(x: Long): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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): LongReturns 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: