equal
deleted
inserted
replaced
291 |
291 |
292 add2_9_c(10) |
292 add2_9_c(10) |
293 |
293 |
294 sum(add(2), 0, 2) |
294 sum(add(2), 0, 2) |
295 sum(add(10), 0, 2) |
295 sum(add(10), 0, 2) |
|
296 |
|
297 |
|
298 |
|
299 |
|
300 // some automatic timing in each evaluation |
|
301 package wrappers { |
|
302 |
|
303 object wrap { |
|
304 |
|
305 def timed[R](block: => R): R = { |
|
306 val t0 = System.nanoTime() |
|
307 val result = block |
|
308 println("Elapsed time: " + (System.nanoTime - t0) + "ns") |
|
309 result |
|
310 } |
|
311 |
|
312 def apply[A](a: => A): A = { |
|
313 timed(a) |
|
314 } |
|
315 } |
|
316 } |
|
317 |
|
318 $intp.setExecutionWrapper("wrappers.wrap") |
|
319 |
|
320 // Iteration |
|
321 |
|
322 def fib(n: Int) : Int = |
|
323 if (n <= 1) 1 else fib(n - 1) + fib(n - 2) |
|
324 |
|
325 fib(10) |
|
326 |
|
327 |
|
328 Iterator.iterate((1,1)){ case (n: Int, m: Int) => (n + m, n) }.drop(9).next |
|
329 |
|
330 |
296 |
331 |
297 |
332 |
298 // Function Composition |
333 // Function Composition |
299 //====================== |
334 //====================== |
300 |
335 |