Changeset 6801 for lang/scala/sandbox

Show
Ignore:
Timestamp:
02/17/08 12:27:20 (10 months ago)
Author:
kmizu
Message:
 
Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/scala/sandbox/src/jp/gr/java_conf/mizu/util/Memoization.scala

    r6800 r6801  
    1818    fix(definition) _ 
    1919  } 
     20  def main(args: Array[String]) { 
     21    def printTime[T](message :String)(block : => T) { 
     22      print(message + ": ") 
     23      val startTime = System.nanoTime 
     24      val result = block 
     25      printf( 
     26        "result = {0}, time = {1}ns", 
     27        result, System.nanoTime - startTime 
     28      ) 
     29      println 
     30    } 
     31    val fib = define[Int, Int]{(fib, n) => 
     32      n match { 
     33      case 0 => 1 
     34      case 1 => 1 
     35      case _ => fib(n - 1) + fib(n - 2) 
     36      } 
     37    } 
     38    printTime("fib(40)"){fib(40)} 
     39  } 
    2040}