diff --git a/.gitignore b/.gitignore index 8613a0ba79..43527c272d 100755 --- a/.gitignore +++ b/.gitignore @@ -45,4 +45,5 @@ run-codefellow multiverse.log .eprj .*.swp -akka-tutorials/akka-tutorial-pi-sbt/project/boot/ \ No newline at end of file +akka-tutorials/akka-tutorial-first/project/boot/ +akka-tutorials/akka-tutorial-first/project/plugins/project/ \ No newline at end of file diff --git a/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java b/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java index 45ac3fad9c..1175a0116b 100644 --- a/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java +++ b/akka-tutorials/akka-tutorial-first/src/main/java/akka/tutorial/java/first/Pi.java @@ -10,8 +10,6 @@ import static akka.actor.Actors.*; import akka.routing.*; import static akka.routing.Routing.Broadcast; -import akka.dispatch.Dispatchers; - import static java.util.Arrays.asList; import java.util.concurrent.CountDownLatch; diff --git a/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala b/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala index 5a2137e2c7..61a026d7d2 100644 --- a/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala +++ b/akka-tutorials/akka-tutorial-first/src/main/scala/Pi.scala @@ -56,12 +56,15 @@ object Pi extends App { // ================== class Worker() extends Actor { // define the work + + // FIXME tail-recursive fun instead val calculatePiFor = (arg: Int, nrOfElements: Int) => { val range = (arg * nrOfElements) to ((arg + 1) * nrOfElements - 1) var acc = 0.0D range foreach (i => acc += 4 * math.pow(-1, i) / (2 * i + 1)) acc - //range map (j => 4 * math.pow(-1, j) / (2 * j + 1)) sum + // Use this for more functional style but is twice as slow + // range.foldLeft(0.0D)( (acc, i) => acc + 4 * math.pow(-1, i) / (2 * i + 1) ) } def receive = {