aboutsummaryrefslogtreecommitdiff
path: root/tests/pos/i1442.scala
blob: abb46d3aaf9171a9a0d9f7a31a704f750939220f (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
object Test1442 {
  final def sumMinimized[B](num: Numeric[B]): Int = {
       var cse: scala.math.Numeric.type = null.asInstanceOf[scala.math.Numeric.type]
       ({cse = scala.math.Numeric; num eq cse.IntIsIntegral} ||
               (num eq cse.DoubleAsIfIntegral))
      2
  } 

  final def sum[B](implicit num: Numeric[B]): B = {
           // arithmetic series formula  can be used for regular addition
       var cse: scala.math.Numeric.type = null.asInstanceOf[scala.math.Numeric.type]   
       if ({cse = scala.math.Numeric; num eq cse.IntIsIntegral}||
               (num eq cse.BigIntIsIntegral)||
               (num eq cse.ShortIsIntegral)||
               (num eq cse.ByteIsIntegral)||
               (num eq cse.CharIsIntegral)||
               (num eq cse.LongIsIntegral)||
               (num eq cse.FloatAsIfIntegral)||
               (num eq cse.BigDecimalIsFractional)||
               (num eq cse.DoubleAsIfIntegral)) {     
        null.asInstanceOf[B]
      } else null.asInstanceOf[B]
  } 
}