final class PosZFloat extends AnyVal
An AnyVal for non-negative Floats.
Because PosZFloat is an AnyVal it will usually be
as efficient as an Float, being boxed only when a
Float would have been boxed.
The PosZFloat.apply factory method is
implemented in terms of a macro that checks literals for
validity at compile time. Calling
PosZFloat.apply with a literal
Float value will either produce a valid
PosZFloat instance at run time or an error at
compile time. Here's an example:
scala> import anyvals._
import anyvals._
scala> PosZFloat(1.1F)
res0: org.scalactic.anyvals.PosZFloat = PosZFloat(1.1)
scala> PosZFloat(0.0F)
res1: org.scalactic.anyvals.PosZFloat = PosZFloat(0.0)
scala> PosZFloat(-1.1F)
<console>:14: error: PosZFloat.apply can only be invoked on a non-negative (i >= 0.0F) floating point literal, like PosZFloat(42.0F).
PosZFloat(-1.1F)
^
PosZFloat.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 PosZFloat.apply, you'll get a
compiler error that suggests you use a different factor
method, PosZFloat.from, instead:
scala> val x = 1.1F
x: Float = 1.1
scala> PosZFloat(x)
<console>:15: error: PosZFloat.apply can only be invoked on a floating point literal, like PosZFloat(42.0F). Please use PosZFloat.from instead.
PosZFloat(x)
^
The PosZFloat.from factory method will inspect
the value at runtime and return an
Option[PosZFloat]. If the value is valid,
PosZFloat.from will return a
Some[PosZFloat], else it will return a
None. Here's an example:
scala> PosZFloat.from(x) res4: Option[org.scalactic.anyvals.PosZFloat] = Some(PosZFloat(1.1)) scala> val y = -1.1F y: Float = -1.1 scala> PosZFloat.from(y) res5: Option[org.scalactic.anyvals.PosZFloat] = None
The PosZFloat.apply factory method is marked implicit, so that
you can pass literal Floats into methods that require
PosZFloat, and get the same compile-time checking you get when
calling PosZFloat.apply explicitly. Here's an example:
scala> def invert(pos: PosZFloat): Float = Float.MaxValue - pos
invert: (pos: org.scalactic.anyvals.PosZFloat)Float
scala> invert(0.0F)
res6: Float = 3.4028235E38
scala> invert(Float.MaxValue)
res7: Float = 0.0
scala> invert(-1.1F)
<console>:15: error: PosZFloat.apply can only be invoked on a non-negative (i >= 0.0F) floating point literal, like PosZFloat(42.0F).
invert(-1.1F)
^
This example also demonstrates that the
PosZFloat companion object also defines
implicit widening conversions when a similar conversion is
provided in Scala. This makes it convenient to use a
PosZFloat where a Float or wider
type is needed. An example is the subtraction in the body of
the invert method defined above,
Float.MaxValue - pos. Although
Float.MaxValue is an Float, which
has no - method that takes a
PosZFloat (the type of pos), you
can still subtract pos, because the
PosZFloat will be implicitly widened to
Float.
- Source
- PosZFloat.scala
- Alphabetic
- By Inheritance
- PosZFloat
- 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): Float
Returns the remainder of the division of this value by
x. -
def
%(x: Int): Float
Returns the remainder of the division of this value by
x. -
def
%(x: Char): Float
Returns the remainder of the division of this value by
x. -
def
%(x: Short): Float
Returns the remainder of the division of this value by
x. -
def
%(x: Byte): Float
Returns the remainder of the division of this value by
x. -
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): Float
Returns the product of this value and
x. -
def
*(x: Int): Float
Returns the product of this value and
x. -
def
*(x: Char): Float
Returns the product of this value and
x. -
def
*(x: Short): Float
Returns the product of this value and
x. -
def
*(x: Byte): Float
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): Float
Returns the sum of this value and
x. -
def
+(x: Int): Float
Returns the sum of this value and
x. -
def
+(x: Char): Float
Returns the sum of this value and
x. -
def
+(x: Short): Float
Returns the sum of this value and
x. -
def
+(x: Byte): Float
Returns the sum of this value and
x. -
def
+(x: String): String
Converts this
PosZFloat'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): Float
Returns the difference of this value and
x. -
def
-(x: Int): Float
Returns the difference of this value and
x. -
def
-(x: Char): Float
Returns the difference of this value and
x. -
def
-(x: Short): Float
Returns the difference of this value and
x. -
def
-(x: Byte): Float
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): Float
Returns the quotient of this value and
x. -
def
/(x: Int): Float
Returns the quotient of this value and
x. -
def
/(x: Char): Float
Returns the quotient of this value and
x. -
def
/(x: Short): Float
Returns the quotient of this value and
x. -
def
/(x: Byte): Float
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: 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. -
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
- def ceil: PosZFloat
- def floor: PosZFloat
-
def
getClass(): Class[_ <: AnyVal]
- Definition Classes
- AnyVal → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isPosInfinity: Boolean
- def isWhole: Boolean
-
def
max(that: PosZFloat): PosZFloat
Returns
thisifthis > thatorthatotherwise. -
def
min(that: PosZFloat): PosZFloat
Returns
thisifthis < thatorthatotherwise. - def round: PosZInt
-
def
toByte: Byte
Converts this
PosZFloatto aByte. -
def
toChar: Char
Converts this
PosZFloatto aChar. -
def
toDegrees: PosZFloat
Converts an angle measured in radians to an approximately equivalent angle measured in degrees.
Converts an angle measured in radians to an approximately equivalent angle measured in degrees.
- returns
the measurement of the angle x in degrees.
-
def
toDouble: Double
Converts this
PosZFloatto aDouble. -
def
toFloat: Float
Converts this
PosZFloatto aFloat. -
def
toInt: Int
Converts this
PosZFloatto anInt. -
def
toLong: Long
Converts this
PosZFloatto aLong. -
def
toRadians: PosZFloat
Converts an angle measured in degrees to an approximately equivalent angle measured in radians.
Converts an angle measured in degrees to an approximately equivalent angle measured in radians.
- returns
the measurement of the angle x in radians.
-
def
toShort: Short
Converts this
PosZFloatto aShort. -
def
toString(): String
A string representation of this
PosZFloat.A string representation of this
PosZFloat.- Definition Classes
- PosZFloat → Any
-
def
unary_+: PosZFloat
Returns this value, unmodified.
-
def
unary_-: Float
Returns the negation of this value.
- val value: Float
Deprecated Value Members
-
def
to(end: Float, step: Float): Inclusive[Float]
Create an inclusive
Rangefrom thisPosZFloatvalue to the specifiedendwith the specifiedstepvalue.Create an inclusive
Rangefrom thisPosZFloatvalue 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[Float] from
thisup to and includingend.
- Annotations
- @deprecated
- Deprecated
This function will be removed in future version of Scalactic, use BigDecimal's to function instead
-
def
to(end: Float): Partial[Float, NumericRange[Float]]
Create an inclusive
Rangefrom thisPosZFloatvalue to the specifiedendwith step value 1.Create an inclusive
Rangefrom thisPosZFloatvalue to the specifiedendwith step value 1.- end
The final bound of the range to make.
- returns
A NumericRange[Float]] from
thisup to and includingend.
- Annotations
- @deprecated
- Deprecated
This function will be removed in future version of Scalactic, use BigDecimal's to function instead
-
def
until(end: Float, step: Float): Exclusive[Float]
Create a
Rangefrom thisPosZFloatvalue until the specifiedend(exclusive) with the specifiedstepvalue.Create a
Rangefrom thisPosZFloatvalue 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[Float] from
thisup to but not includingend.
- Annotations
- @deprecated
- Deprecated
This function will be removed in future version of Scalactic, use BigDecimal's until function instead
-
def
until(end: Float): Partial[Float, NumericRange[Float]]
Create a
Range.Partialfrom thisPosZFloatvalue until the specifiedend(exclusive) with step value 1.Create a
Range.Partialfrom thisPosZFloatvalue until the specifiedend(exclusive) with step value 1.- end
The final bound of the range to make.
- returns
A NumericRange[Float]] from
thisup to but not includingend.
- Annotations
- @deprecated
- Deprecated
This function will be removed in future version of Scalactic, use BigDecimal's until function instead