YiddishKop
4/23/2018 - 6:12 PM

test for Numeric

test for Numeric

import scala.math.Numeric

implicit object IntLike extends Numeric[Int] {
  def toDouble(a:Int):Double = {toDouble(2)}
  def fromInt(x: Int): Int = 0
  def minus(x: Int,y: Int): Int = 0
  def negate(x: Int): Int = 0
  def plus(x: Int,y: Int): Int = 0
  def times(x: Int,y: Int): Int = 0
  def toFloat(x: Int): Float = 0.0F
  def toInt(x: Int): Int = 0
  def toLong(x: Int): Long = 0
  def compare(x: Int,y: Int): Int = 0
}

def foo[T](a:T)(implicit b: Numeric[T]) = {
  import b._
  a.toDouble
}

// def foo(a:Int) = println(a + "choose")

foo(10)
foo('a')