about summary refs log tree commit diff
path: root/assessments/semiprimes/server/lib/extras.ex
diff options
context:
space:
mode:
Diffstat (limited to 'assessments/semiprimes/server/lib/extras.ex')
-rw-r--r--assessments/semiprimes/server/lib/extras.ex18
1 files changed, 18 insertions, 0 deletions
diff --git a/assessments/semiprimes/server/lib/extras.ex b/assessments/semiprimes/server/lib/extras.ex
new file mode 100644
index 000000000000..4d2a938fcf58
--- /dev/null
+++ b/assessments/semiprimes/server/lib/extras.ex
@@ -0,0 +1,18 @@
+defmodule Extras do
+  @doc """
+  Return an ascending range starting at `a` and ending at `b` (exclusive).
+
+  ## Examples
+
+      iex> Extras.range(2, 5)
+      [2, 3, 4]
+
+  """
+  def range(a, b) do
+    if b <= a do
+      []
+    else
+      [a] ++ range(a + 1, b)
+    end
+  end
+end