Returns the remainder of the division of this value by x.
Returns the remainder of the division of this value by x.
Returns the remainder of the division of this value by x.
Returns the remainder of the division of this value by x.
Returns the remainder of the division of this value by x.
Returns the remainder of the division of this value by x.
Returns the remainder of the division of this value by x.
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
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
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
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
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
Returns the product of this value and x.
Returns the product of this value and x.
Returns the product of this value and x.
Returns the product of this value and x.
Returns the product of this value and x.
Returns the product of this value and x.
Returns the product of this value and x.
Returns the sum of this value and x.
Returns the sum of this value and x.
Returns the sum of this value and x.
Returns the sum of this value and x.
Returns the sum of this value and x.
Returns the sum of this value and x.
Returns the sum of this value and x.
Converts this NonZeroLong's value to a string then concatenates the given string.
Converts this NonZeroLong's value to a string then concatenates the given string.
Returns the difference of this value and x.
Returns the difference of this value and x.
Returns the difference of this value and x.
Returns the difference of this value and x.
Returns the difference of this value and x.
Returns the difference of this value and x.
Returns the difference of this value and x.
Returns the quotient of this value and x.
Returns the quotient of this value and x.
Returns the quotient of this value and x.
Returns the quotient of this value and x.
Returns the quotient of this value and x.
Returns the quotient of this value and x.
Returns the quotient of this value and x.
Returns true if this value is less than x, false otherwise.
Returns true if this value is less than x, false otherwise.
Returns true if this value is less than x, false otherwise.
Returns true if this value is less than x, false otherwise.
Returns true if this value is less than x, false otherwise.
Returns true if this value is less than x, false otherwise.
Returns true if this value is less than x, false otherwise.
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
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
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is less than or equal to x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
Returns true if this value is greater than or equal to x, false otherwise.
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
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
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 == 536870909 // in binary: 11111111 11111111 11111111 11101011 >>> 3 == // 00011111 11111111 11111111 11111101
21 >>> 3 == 2 // in binary: 010101 >>> 3 == 010
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 == 536870909 // in binary: 11111111 11111111 11111111 11101011 >>> 3 == // 00011111 11111111 11111111 11111101
21 >>> 3 == 2 // in binary: 010101 >>> 3 == 010
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
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
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
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
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
Applies the passed Long => Long function to the underlying Long
value, and if the result is positive, returns the result wrapped in a NonZeroLong,
else throws AssertionError.
Applies the passed Long => Long function to the underlying Long
value, and if the result is positive, returns the result wrapped in a NonZeroLong,
else throws AssertionError.
This method will inspect the result of applying the given function to this
NonZeroLong's underlying Long value and if the result
is non-zero, it will return a NonZeroLong representing that value.
Otherwise, the Long value returned by the given function is
not non-zero, this method will throw AssertionError.
This method differs from a vanilla assert or ensuring
call in that you get something you didn't already have if the assertion
succeeds: a type that promises an Long is non-zero.
With this method, you are asserting that you are convinced the result of
the computation represented by applying the given function to this NonZeroLong's
value will not overflow. Instead of overflowing silently like Long, this
method will signal an overflow with a loud AssertionError.
the Long => Long function to apply to this NonZeroLong's
underlying Long value.
the result of applying this NonZeroLong's underlying Long value to
to the passed function, wrapped in a NonZeroLong if it is non-zero (else throws AssertionError).
AssertionError if the result of applying this NonZeroLong's underlying Long value to
to the passed function is not positive.
Returns this if this > that or that otherwise.
Returns this if this > that or that otherwise.
Returns this if this < that or that otherwise.
Returns this if this < that or that otherwise.
Create an inclusive Range from this NonZeroLong value
to the specified end with the specified step value.
Create an inclusive Range from this NonZeroLong value
to the specified end with the specified step value.
The final bound of the range to make.
The number to increase by for each step of the range.
A scala.collection.immutable.NumericRange.Inclusive[Long] from this up to
and including end.
Create an inclusive Range from this NonZeroLong value
to the specified end with step value 1.
Create an inclusive Range from this NonZeroLong value
to the specified end with step value 1.
The final bound of the range to make.
A scala.collection.immutable.NumericRange.Inclusive[Long] from this up to
and including end.
Returns a string representation of this NonZeroLong's underlying Long
as an unsigned integer in base 2.
Returns a string representation of this NonZeroLong's underlying Long
as an unsigned integer in base 2.
The unsigned long value is this NonZeroLong's underlying Long plus
264 if the underlying Long is negative; otherwise, it is
equal to the underlying Long. This value is converted to a string of
ASCII digits in binary (base 2) with no extra leading
0s. 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.
the string representation of the unsigned long
value represented by this NonZeroLong's underlying Long in binary (base 2).
Converts this NonZeroLong to a Byte.
Converts this NonZeroLong to a Byte.
Converts this NonZeroLong to a Char.
Converts this NonZeroLong to a Char.
Converts this NonZeroLong to a Double.
Converts this NonZeroLong to a Double.
Converts this NonZeroLong to a Float.
Converts this NonZeroLong to a Float.
Returns a string representation of this NonZeroLong's underlying Long
as an unsigned integer in base 16.
Returns a string representation of this NonZeroLong's underlying Long
as an unsigned integer in base 16.
The unsigned long value is this NonZeroLong's underlying Long plus
264 if the underlying Long is negative; otherwise, it is
equal to the underlying Long. This value is converted to a string of
ASCII digits in hexadecimal (base 16) with no extra
leading 0s. 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:
0123456789abcdef
These are the characters '\u0030' through
'\u0039' and '\u0061' through
'\u0066'. If uppercase letters are desired,
the toUpperCase method may be called
on the result.
the string representation of the unsigned long
value represented by this NonZeroLong's underlying Long in hexadecimal
(base 16).
Converts this NonZeroLong to an Int.
Converts this NonZeroLong to an Int.
Converts this NonZeroLong to a Long.
Converts this NonZeroLong to a Long.
Returns a string representation of this NonZeroLong's underlying Long
as an unsigned integer in base 8.
Returns a string representation of this NonZeroLong's underlying Long
as an unsigned integer in base 8.
The unsigned long value is this NonZeroLong's underlying Long plus
264 if the underlying Long is negative; otherwise, it is
equal to the underlying Long. This value is converted to a string of
ASCII digits in octal (base 8) with no extra leading
0s.
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:
01234567
These are the characters '\u0030' through
'\u0037'.
the string representation of the unsigned long
value represented by this NonZeroLong's underlying Long in octal (base 8).
Converts this NonZeroLong to a Short.
Converts this NonZeroLong to a Short.
A string representation of this NonZeroLong.
A string representation of this NonZeroLong.
Returns this value, unmodified.
Returns the negation of this value.
Returns the bitwise negation of this value.
Returns the bitwise negation of this value.
~5 == -6 // in binary: ~00000101 == // 11111010
Create a Range from this NonZeroLong value
until the specified end (exclusive) with the specified step value.
Create a Range from this NonZeroLong value
until the specified end (exclusive) with the specified step value.
The final bound of the range to make.
The number to increase by for each step of the range.
A scala.collection.immutable.NumericRange.Exclusive[Long] from this up to but
not including end.
Create a Range from this NonZeroLong value
until the specified end (exclusive) with step value 1.
Create a Range from this NonZeroLong value
until the specified end (exclusive) with step value 1.
The final bound of the range to make.
A scala.collection.immutable.NumericRange.Exclusive[Long] from this up to but
not including end.
The Long value underlying this NonZeroLong.
The Long value underlying this NonZeroLong.
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
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
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
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
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
An
AnyValfor non-zeroLongs.Note: a
NonZeroLongmay not equal 0.Because
NonZeroLongis anAnyValit will usually be as efficient as anLong, being boxed only when anLongwould have been boxed.The
NonZeroLong.applyfactory method is implemented in terms of a macro that checks literals for validity at compile time. CallingNonZeroLong.applywith a literalLongvalue will either produce a validNonZeroLonginstance at run time or an error at compile time. Here's an example:scala> import anyvals._ import anyvals._ scala> NonZeroLong(42) res0: org.scalactic.anyvals.NonZeroLong = NonZeroLong(42) scala> NonZeroLong(0) <console>:14: error: NonZeroLong.apply can only be invoked on a non-zero (i != 0L) integer literal, like NonZeroLong(42). NonZeroLong(0) ^NonZeroLong.applycannot 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 toNonZeroLong.apply, you'll get a compiler error that suggests you use a different factor method,NonZeroLong.from, instead:scala> val x = 42L x: Long = 42 scala> NonZeroLong(x) <console>:15: error: NonZeroLong.apply can only be invoked on an long literal, like NonZeroLong(42). Please use NonZeroLong.from instead. NonZeroLong(x) ^The
NonZeroLong.fromfactory method will inspect the value at runtime and return anOption[NonZeroLong]. If the value is valid,NonZeroLong.fromwill return aSome[NonZeroLong], else it will return aNone. Here's an example:The
NonZeroLong.applyfactory method is marked implicit, so that you can pass literalLongs into methods that requireNonZeroLong, and get the same compile-time checking you get when callingNonZeroLong.applyexplicitly. Here's an example:scala> def invert(pos: NonZeroLong): Long = Long.MaxValue - pos invert: (pos: org.scalactic.anyvals.NonZeroLong)Long scala> invert(1L) res5: Long = 9223372036854775806 scala> invert(Long.MaxValue) res6: Long = 0 scala> invert(0L) <console>:15: error: NonZeroLong.apply can only be invoked on a non-zero (i != 0L) integer literal, like NonZeroLong(42L). invert(0L) ^This example also demonstrates that the
NonZeroLongcompanion 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 fromLongto Double in Scala can lose precision.) This makes it convenient to use aNonZeroLongwhere aLongor wider type is needed. An example is the subtraction in the body of theinvertmethod defined above,Long.MaxValue - pos. AlthoughLong.MaxValueis aLong, which has no-method that takes aNonZeroLong(the type ofpos), you can still subtractpos, because theNonZeroLongwill be implicitly widened toLong.