1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
object Test {
import Ordering.Implicits._
import Numeric.Implicits._
def f1[T: Numeric](x: T, y: T, z: T) = x + y + z
def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
}
object Int {
import Ordering.Implicits._
import math.Integral.Implicits._
def f1[T: Integral](x: T, y: T, z: T) = (x + y + z) / z
def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
}
object Frac {
import Ordering.Implicits._
import math.Fractional.Implicits._
def f1[T: Fractional](x: T, y: T, z: T) = (x + y + z) / z
def f2[T: Ordering](x: T, y: T, z: T) = if (x < y) (z > y) else (x < z)
}
|