Elex.Dimension (Elex v0.3.0)

View Source

A category formula as a canonical monomial of base categories.

Validate returns this for unitful results (base categories → exponents). It is never collapsed to a derived name (:speed, :force). Inspect uses the same formula language as units, with category atoms: length | time, length^2, length | mass * time^2.

Fields

  • :monomial - A map of base category atoms to integer exponents

Examples

%Elex.Dimension{monomial: %{length: 1}}
%Elex.Dimension{monomial: %{length: 1, time: -1}}

Summary

Types

A monomial of base category atoms to integer exponents.

t()

A category formula as a canonical monomial.

Functions

Formats the category formula (length | time, length^2).

Types

monomial()

@type monomial() :: %{optional(atom()) => integer()}

A monomial of base category atoms to integer exponents.

t()

@type t() :: %Elex.Dimension{monomial: monomial()}

A category formula as a canonical monomial.

Functions

formula(dimension)

@spec formula(t()) :: String.t()

Formats the category formula (length | time, length^2).

An empty monomial is number.