added fibonacci algorithm to render the arcs
[tech-radar.git] / src / util / fib.js
diff --git a/src/util/fib.js b/src/util/fib.js
new file mode 100644 (file)
index 0000000..2170b44
--- /dev/null
@@ -0,0 +1,24 @@
+tr.util.Fib = function () {
+  var self = {};
+
+  self.sequence = function (length) {
+    var result = [0, 1];
+
+    for (var i = 2; i < length; i++) {
+      result[i] = result[i-2] + result[i-1];
+    }
+
+    return result;
+  };
+
+  self.sum = function (length) {
+    if (length === 0) { return 0; }
+    if (length === 1) { return 1; }
+
+    return self.sequence(length + 1).reduce(function (previous, current) {
+      return previous + current;
+    }, 0);
+  };
+
+  return self;
+};