exps/bit-test.scala
changeset 325 2a128087215f
parent 323 09ce1cdb70ab
equal deleted inserted replaced
324:d9d4146325d9 325:2a128087215f
   672   flatten.toSet.flatten.minBy(a => asize(a._1))
   672   flatten.toSet.flatten.minBy(a => asize(a._1))
   673 
   673 
   674 //tests derivatives and bsimp
   674 //tests derivatives and bsimp
   675 
   675 
   676 def tests_ders_bsimp(ss: Set[String])(r: Rexp) = {
   676 def tests_ders_bsimp(ss: Set[String])(r: Rexp) = {
   677   val a = internalise(r)
   677   val a = fuse(List(Z,Z,S), internalise(r))
   678   for (s <- ss.par) yield {  
   678   for (s <- ss.par) yield {  
   679     val d1 = bsimp(bders(s.toList, bsimp(a)))
   679     val d1 = bsimp(bders(s.toList, bsimp(a)))
   680     val d2 = bsimp(bders(s.toList, a))
   680     val d2 = bsimp(bders(s.toList, a))
   681     if  (d1 != d2) {
   681     if  (d1 != d2) {
   682         println(s"Disagree on ${astring(a)}")
   682         println(s"Disagree on ${astring(a)}")
   686     }
   686     }
   687 }
   687 }
   688 
   688 
   689 println("Partial searching: ")
   689 println("Partial searching: ")
   690 enum(2, "abc").map(tests_ders_bsimp(strs(1, "abc"))).
   690 enum(2, "abc").map(tests_ders_bsimp(strs(1, "abc"))).
   691   flatten.toSet.flatten.minBy(a => asize(a._1))
   691   flatten.toSet.flatten
   692 
   692 
   693 // tests about good
   693 // tests about good
   694 def good(a: ARexp) : Boolean = a match {
   694 def good(a: ARexp) : Boolean = a match {
   695   case AZERO => false
   695   case AZERO => false
   696   case AONE(_) => true
   696   case AONE(_) => true