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
- Protected
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[BigDecimal]
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[BigDecimal, Inclusive[BigDecimal]]
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[BigDecimal]
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[BigDecimal, Exclusive[BigDecimal]]
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