main_marking5/bf_test6.scala
changeset 494 253d1ccb65de
parent 463 0315d9983cd0
equal deleted inserted replaced
493:244df77507c2 494:253d1ccb65de
     1 import M5b._
       
     2 
     1 
     3 import io.Source
     2 def urbanmain() = {
     4 import scala.util._
     3   import M5b._
     5 
     4 
     6 def urban_load_bff(name: String) : String = 
     5   import io.Source
     7   Try(Source.fromFile(name)("ISO-8859-1").mkString).getOrElse("")
     6   import scala.util._
     8 
     7 
     9 import scala.concurrent._
     8   def urban_load_bff(name: String) : String = 
    10 import scala.concurrent.duration._
     9     Try(Source.fromFile(name)("ISO-8859-1").mkString).getOrElse("")
    11 import ExecutionContext.Implicits.global
       
    12 import scala.language.postfixOps 
       
    13 
    10 
    14 lazy val f = Future {
    11   import scala.concurrent._
    15   assert(optimise(urban_load_bff("benchmark.bf")).length == 181)
    12   import scala.concurrent.duration._
    16   assert(optimise(urban_load_bff("sierpinski.bf")).length == 110)
    13   import ExecutionContext.Implicits.global
       
    14   import scala.language.postfixOps 
    17 
    15 
    18   assert(run3("[-]", Map(0 -> 100)) == Map(0 -> 0))
    16   lazy val f = Future {
    19   assert(run3("[->+<]", Map(0 -> 10)) == Map(0 -> 0, 1 -> 10))
    17     assert(optimise(urban_load_bff("benchmark.bf")).length == 181)
    20   assert(run3("[>>+>>+<<<<-]", Map(0 -> 42)) == Map(0 -> 0, 2 -> 42, 4 -> 42))
    18     assert(optimise(urban_load_bff("sierpinski.bf")).length == 110)
    21   val hw_urban2 = """+++++[->++++++++++<]>--<+++[->>++++++++++
    19 
       
    20     assert(run3("[-]", Map(0 -> 100)) == Map(0 -> 0))
       
    21     assert(run3("[->+<]", Map(0 -> 10)) == Map(0 -> 0, 1 -> 10))
       
    22     assert(run3("[>>+>>+<<<<-]", Map(0 -> 42)) == Map(0 -> 0, 2 -> 42, 4 -> 42))
       
    23     val hw_urban2 = """+++++[->++++++++++<]>--<+++[->>++++++++++
    22                   <<]>>++<<----------[+>.>.<+<]"""
    24                   <<]>>++<<----------[+>.>.<+<]"""
    23   assert(run3(hw_urban2) == Map(0 -> 0, 1 -> 58, 2 -> 32))
    25     assert(run3(hw_urban2) == Map(0 -> 0, 1 -> 58, 2 -> 32))
    24 
    26 
    25   val hw_urban3 = """++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.
    27     val hw_urban3 = """++++++++[>++++[>++>+++>+++>+<<<<-]>+>+>->>+[<]<-]>>.>---.
    26                    +++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."""
    28                    +++++++..+++.>>.<-.<.+++.------.--------.>>+.>++."""
    27 
    29 
    28   assert(run3(hw_urban3) == Map(0 -> 0, 5 -> 33, 1 -> 0, 6 -> 10, 2 -> 72, 3 -> 100, 4 -> 87))
    30     assert(run3(hw_urban3) == Map(0 -> 0, 5 -> 33, 1 -> 0, 6 -> 10, 2 -> 72, 3 -> 100, 4 -> 87))
    29 
    31 
       
    32   }
       
    33 
       
    34   Await.result(f, 32 second)
    30 }
    35 }
    31 
       
    32 Await.result(f, 32 second)
       
    33