defmodule Fuzler do # use Rustler, otp_app: :fuzler, crate: "fuzler" version = Mix.Project.config()[:version] use RustlerPrecompiled, otp_app: :fuzler, crate: "fuzler", base_url: "https://github.com/elchemista/fuzler/releases/download/v#{version}", force_build: System.get_env("RUSTLER_PRECOMPILATION_EXAMPLE_BUILD") in ["1", "true"], version: version @doc """ Returns a similarity score between `query` and `target`. """ @spec similarity_score(String.t(), String.t()) :: float() def similarity_score(query, target) when is_binary(query) and is_binary(target), do: nif_similarity_score(query, target) # NIF @spec nif_similarity_score(String.t(), String.t()) :: float() defp nif_similarity_score(_q, _t), do: :erlang.nif_error(:nif_not_loaded) end