defmodule Fluxion.Function do @moduledoc """ An Elixir behaviour for a mathematical function definition and it's derivative. """ @type t() :: module() @doc "evaluate @f(x)@" @callback f(number) :: number @doc "evaluate @\\frac{df}{dx}(x)@" @callback dfdx(number) :: number end