Current section
Files
Jump to
Current section
Files
src/cvss_v4_lookup.erl
%% SPDX-License-Identifier: Apache-2.0
%% SPDX-FileCopyrightText: 2026 Erlang Ecosystem Foundation
%% MacroVector lookup tables for CVSS 4.0 scoring.
%% Data derived from the FIRST CVSS v4.0 calculator reference implementation.
%% See: https://github.com/FIRSTdotorg/cvss-v4-calculator
-module(cvss_v4_lookup).
-moduledoc false.
-export([lookup/6]).
-include("internal/decimal.hrl").
-doc """
Lookup the base score for a MacroVector.
EQ1-EQ6 are integer equivalence class values (0-2 each).
""".
-spec lookup(
non_neg_integer(),
non_neg_integer(),
non_neg_integer(),
non_neg_integer(),
non_neg_integer(),
non_neg_integer()
) ->
decimal:decimal() | undefined.
lookup(0, 0, 0, 0, 0, 0) -> ?D(<<"10.0">>);
lookup(0, 0, 0, 0, 0, 1) -> ?D(<<"9.9">>);
lookup(0, 0, 0, 0, 1, 0) -> ?D(<<"9.8">>);
lookup(0, 0, 0, 0, 1, 1) -> ?D(<<"9.5">>);
lookup(0, 0, 0, 0, 2, 0) -> ?D(<<"9.5">>);
lookup(0, 0, 0, 0, 2, 1) -> ?D(<<"9.2">>);
lookup(0, 0, 0, 1, 0, 0) -> ?D(<<"10.0">>);
lookup(0, 0, 0, 1, 0, 1) -> ?D(<<"9.6">>);
lookup(0, 0, 0, 1, 1, 0) -> ?D(<<"9.3">>);
lookup(0, 0, 0, 1, 1, 1) -> ?D(<<"8.7">>);
lookup(0, 0, 0, 1, 2, 0) -> ?D(<<"9.1">>);
lookup(0, 0, 0, 1, 2, 1) -> ?D(<<"8.1">>);
lookup(0, 0, 0, 2, 0, 0) -> ?D(<<"9.3">>);
lookup(0, 0, 0, 2, 0, 1) -> ?D(<<"9.0">>);
lookup(0, 0, 0, 2, 1, 0) -> ?D(<<"8.9">>);
lookup(0, 0, 0, 2, 1, 1) -> ?D(<<"8.0">>);
lookup(0, 0, 0, 2, 2, 0) -> ?D(<<"8.1">>);
lookup(0, 0, 0, 2, 2, 1) -> ?D(<<"6.8">>);
lookup(0, 0, 1, 0, 0, 0) -> ?D(<<"9.8">>);
lookup(0, 0, 1, 0, 0, 1) -> ?D(<<"9.5">>);
lookup(0, 0, 1, 0, 1, 0) -> ?D(<<"9.5">>);
lookup(0, 0, 1, 0, 1, 1) -> ?D(<<"9.2">>);
lookup(0, 0, 1, 0, 2, 0) -> ?D(<<"9.0">>);
lookup(0, 0, 1, 0, 2, 1) -> ?D(<<"8.4">>);
lookup(0, 0, 1, 1, 0, 0) -> ?D(<<"9.3">>);
lookup(0, 0, 1, 1, 0, 1) -> ?D(<<"9.2">>);
lookup(0, 0, 1, 1, 1, 0) -> ?D(<<"8.9">>);
lookup(0, 0, 1, 1, 1, 1) -> ?D(<<"8.1">>);
lookup(0, 0, 1, 1, 2, 0) -> ?D(<<"8.1">>);
lookup(0, 0, 1, 1, 2, 1) -> ?D(<<"6.5">>);
lookup(0, 0, 1, 2, 0, 0) -> ?D(<<"8.8">>);
lookup(0, 0, 1, 2, 0, 1) -> ?D(<<"8.0">>);
lookup(0, 0, 1, 2, 1, 0) -> ?D(<<"7.8">>);
lookup(0, 0, 1, 2, 1, 1) -> ?D(<<"7.0">>);
lookup(0, 0, 1, 2, 2, 0) -> ?D(<<"6.9">>);
lookup(0, 0, 1, 2, 2, 1) -> ?D(<<"4.8">>);
lookup(0, 0, 2, 0, 0, 1) -> ?D(<<"9.2">>);
lookup(0, 0, 2, 0, 1, 1) -> ?D(<<"8.2">>);
lookup(0, 0, 2, 0, 2, 1) -> ?D(<<"7.2">>);
lookup(0, 0, 2, 1, 0, 1) -> ?D(<<"7.9">>);
lookup(0, 0, 2, 1, 1, 1) -> ?D(<<"6.9">>);
lookup(0, 0, 2, 1, 2, 1) -> ?D(<<"5.0">>);
lookup(0, 0, 2, 2, 0, 1) -> ?D(<<"6.9">>);
lookup(0, 0, 2, 2, 1, 1) -> ?D(<<"5.5">>);
lookup(0, 0, 2, 2, 2, 1) -> ?D(<<"2.7">>);
lookup(0, 1, 0, 0, 0, 0) -> ?D(<<"9.9">>);
lookup(0, 1, 0, 0, 0, 1) -> ?D(<<"9.7">>);
lookup(0, 1, 0, 0, 1, 0) -> ?D(<<"9.5">>);
lookup(0, 1, 0, 0, 1, 1) -> ?D(<<"9.2">>);
lookup(0, 1, 0, 0, 2, 0) -> ?D(<<"9.2">>);
lookup(0, 1, 0, 0, 2, 1) -> ?D(<<"8.5">>);
lookup(0, 1, 0, 1, 0, 0) -> ?D(<<"9.5">>);
lookup(0, 1, 0, 1, 0, 1) -> ?D(<<"9.1">>);
lookup(0, 1, 0, 1, 1, 0) -> ?D(<<"9.0">>);
lookup(0, 1, 0, 1, 1, 1) -> ?D(<<"8.3">>);
lookup(0, 1, 0, 1, 2, 0) -> ?D(<<"8.4">>);
lookup(0, 1, 0, 1, 2, 1) -> ?D(<<"7.1">>);
lookup(0, 1, 0, 2, 0, 0) -> ?D(<<"9.2">>);
lookup(0, 1, 0, 2, 0, 1) -> ?D(<<"8.1">>);
lookup(0, 1, 0, 2, 1, 0) -> ?D(<<"8.2">>);
lookup(0, 1, 0, 2, 1, 1) -> ?D(<<"7.1">>);
lookup(0, 1, 0, 2, 2, 0) -> ?D(<<"7.2">>);
lookup(0, 1, 0, 2, 2, 1) -> ?D(<<"5.3">>);
lookup(0, 1, 1, 0, 0, 0) -> ?D(<<"9.5">>);
lookup(0, 1, 1, 0, 0, 1) -> ?D(<<"9.3">>);
lookup(0, 1, 1, 0, 1, 0) -> ?D(<<"9.2">>);
lookup(0, 1, 1, 0, 1, 1) -> ?D(<<"8.5">>);
lookup(0, 1, 1, 0, 2, 0) -> ?D(<<"8.5">>);
lookup(0, 1, 1, 0, 2, 1) -> ?D(<<"7.3">>);
lookup(0, 1, 1, 1, 0, 0) -> ?D(<<"9.2">>);
lookup(0, 1, 1, 1, 0, 1) -> ?D(<<"8.2">>);
lookup(0, 1, 1, 1, 1, 0) -> ?D(<<"8.0">>);
lookup(0, 1, 1, 1, 1, 1) -> ?D(<<"7.2">>);
lookup(0, 1, 1, 1, 2, 0) -> ?D(<<"7.0">>);
lookup(0, 1, 1, 1, 2, 1) -> ?D(<<"5.9">>);
lookup(0, 1, 1, 2, 0, 0) -> ?D(<<"8.4">>);
lookup(0, 1, 1, 2, 0, 1) -> ?D(<<"7.0">>);
lookup(0, 1, 1, 2, 1, 0) -> ?D(<<"7.1">>);
lookup(0, 1, 1, 2, 1, 1) -> ?D(<<"5.2">>);
lookup(0, 1, 1, 2, 2, 0) -> ?D(<<"5.0">>);
lookup(0, 1, 1, 2, 2, 1) -> ?D(<<"3.0">>);
lookup(0, 1, 2, 0, 0, 1) -> ?D(<<"8.6">>);
lookup(0, 1, 2, 0, 1, 1) -> ?D(<<"7.5">>);
lookup(0, 1, 2, 0, 2, 1) -> ?D(<<"5.2">>);
lookup(0, 1, 2, 1, 0, 1) -> ?D(<<"7.1">>);
lookup(0, 1, 2, 1, 1, 1) -> ?D(<<"5.2">>);
lookup(0, 1, 2, 1, 2, 1) -> ?D(<<"2.9">>);
lookup(0, 1, 2, 2, 0, 1) -> ?D(<<"6.3">>);
lookup(0, 1, 2, 2, 1, 1) -> ?D(<<"2.9">>);
lookup(0, 1, 2, 2, 2, 1) -> ?D(<<"1.7">>);
lookup(1, 0, 0, 0, 0, 0) -> ?D(<<"9.8">>);
lookup(1, 0, 0, 0, 0, 1) -> ?D(<<"9.5">>);
lookup(1, 0, 0, 0, 1, 0) -> ?D(<<"9.4">>);
lookup(1, 0, 0, 0, 1, 1) -> ?D(<<"8.7">>);
lookup(1, 0, 0, 0, 2, 0) -> ?D(<<"9.1">>);
lookup(1, 0, 0, 0, 2, 1) -> ?D(<<"8.1">>);
lookup(1, 0, 0, 1, 0, 0) -> ?D(<<"9.4">>);
lookup(1, 0, 0, 1, 0, 1) -> ?D(<<"8.9">>);
lookup(1, 0, 0, 1, 1, 0) -> ?D(<<"8.6">>);
lookup(1, 0, 0, 1, 1, 1) -> ?D(<<"7.4">>);
lookup(1, 0, 0, 1, 2, 0) -> ?D(<<"7.7">>);
lookup(1, 0, 0, 1, 2, 1) -> ?D(<<"6.4">>);
lookup(1, 0, 0, 2, 0, 0) -> ?D(<<"8.7">>);
lookup(1, 0, 0, 2, 0, 1) -> ?D(<<"7.5">>);
lookup(1, 0, 0, 2, 1, 0) -> ?D(<<"7.4">>);
lookup(1, 0, 0, 2, 1, 1) -> ?D(<<"6.3">>);
lookup(1, 0, 0, 2, 2, 0) -> ?D(<<"6.3">>);
lookup(1, 0, 0, 2, 2, 1) -> ?D(<<"4.9">>);
lookup(1, 0, 1, 0, 0, 0) -> ?D(<<"9.4">>);
lookup(1, 0, 1, 0, 0, 1) -> ?D(<<"8.9">>);
lookup(1, 0, 1, 0, 1, 0) -> ?D(<<"8.8">>);
lookup(1, 0, 1, 0, 1, 1) -> ?D(<<"7.7">>);
lookup(1, 0, 1, 0, 2, 0) -> ?D(<<"7.6">>);
lookup(1, 0, 1, 0, 2, 1) -> ?D(<<"6.7">>);
lookup(1, 0, 1, 1, 0, 0) -> ?D(<<"8.6">>);
lookup(1, 0, 1, 1, 0, 1) -> ?D(<<"7.6">>);
lookup(1, 0, 1, 1, 1, 0) -> ?D(<<"7.4">>);
lookup(1, 0, 1, 1, 1, 1) -> ?D(<<"5.8">>);
lookup(1, 0, 1, 1, 2, 0) -> ?D(<<"5.9">>);
lookup(1, 0, 1, 1, 2, 1) -> ?D(<<"5.0">>);
lookup(1, 0, 1, 2, 0, 0) -> ?D(<<"7.2">>);
lookup(1, 0, 1, 2, 0, 1) -> ?D(<<"5.7">>);
lookup(1, 0, 1, 2, 1, 0) -> ?D(<<"5.7">>);
lookup(1, 0, 1, 2, 1, 1) -> ?D(<<"5.2">>);
lookup(1, 0, 1, 2, 2, 0) -> ?D(<<"5.2">>);
lookup(1, 0, 1, 2, 2, 1) -> ?D(<<"2.5">>);
lookup(1, 0, 2, 0, 0, 1) -> ?D(<<"8.3">>);
lookup(1, 0, 2, 0, 1, 1) -> ?D(<<"7.0">>);
lookup(1, 0, 2, 0, 2, 1) -> ?D(<<"5.4">>);
lookup(1, 0, 2, 1, 0, 1) -> ?D(<<"6.5">>);
lookup(1, 0, 2, 1, 1, 1) -> ?D(<<"5.8">>);
lookup(1, 0, 2, 1, 2, 1) -> ?D(<<"2.6">>);
lookup(1, 0, 2, 2, 0, 1) -> ?D(<<"5.3">>);
lookup(1, 0, 2, 2, 1, 1) -> ?D(<<"2.1">>);
lookup(1, 0, 2, 2, 2, 1) -> ?D(<<"1.3">>);
lookup(1, 1, 0, 0, 0, 0) -> ?D(<<"9.5">>);
lookup(1, 1, 0, 0, 0, 1) -> ?D(<<"9.0">>);
lookup(1, 1, 0, 0, 1, 0) -> ?D(<<"8.8">>);
lookup(1, 1, 0, 0, 1, 1) -> ?D(<<"7.6">>);
lookup(1, 1, 0, 0, 2, 0) -> ?D(<<"7.6">>);
lookup(1, 1, 0, 0, 2, 1) -> ?D(<<"7.0">>);
lookup(1, 1, 0, 1, 0, 0) -> ?D(<<"9.0">>);
lookup(1, 1, 0, 1, 0, 1) -> ?D(<<"7.7">>);
lookup(1, 1, 0, 1, 1, 0) -> ?D(<<"7.5">>);
lookup(1, 1, 0, 1, 1, 1) -> ?D(<<"6.2">>);
lookup(1, 1, 0, 1, 2, 0) -> ?D(<<"6.1">>);
lookup(1, 1, 0, 1, 2, 1) -> ?D(<<"5.3">>);
lookup(1, 1, 0, 2, 0, 0) -> ?D(<<"7.7">>);
lookup(1, 1, 0, 2, 0, 1) -> ?D(<<"6.6">>);
lookup(1, 1, 0, 2, 1, 0) -> ?D(<<"6.8">>);
lookup(1, 1, 0, 2, 1, 1) -> ?D(<<"5.9">>);
lookup(1, 1, 0, 2, 2, 0) -> ?D(<<"5.2">>);
lookup(1, 1, 0, 2, 2, 1) -> ?D(<<"3.0">>);
lookup(1, 1, 1, 0, 0, 0) -> ?D(<<"8.9">>);
lookup(1, 1, 1, 0, 0, 1) -> ?D(<<"7.8">>);
lookup(1, 1, 1, 0, 1, 0) -> ?D(<<"7.6">>);
lookup(1, 1, 1, 0, 1, 1) -> ?D(<<"6.7">>);
lookup(1, 1, 1, 0, 2, 0) -> ?D(<<"6.2">>);
lookup(1, 1, 1, 0, 2, 1) -> ?D(<<"5.8">>);
lookup(1, 1, 1, 1, 0, 0) -> ?D(<<"7.4">>);
lookup(1, 1, 1, 1, 0, 1) -> ?D(<<"5.9">>);
lookup(1, 1, 1, 1, 1, 0) -> ?D(<<"5.7">>);
lookup(1, 1, 1, 1, 1, 1) -> ?D(<<"5.7">>);
lookup(1, 1, 1, 1, 2, 0) -> ?D(<<"4.7">>);
lookup(1, 1, 1, 1, 2, 1) -> ?D(<<"2.3">>);
lookup(1, 1, 1, 2, 0, 0) -> ?D(<<"6.1">>);
lookup(1, 1, 1, 2, 0, 1) -> ?D(<<"5.2">>);
lookup(1, 1, 1, 2, 1, 0) -> ?D(<<"5.7">>);
lookup(1, 1, 1, 2, 1, 1) -> ?D(<<"2.9">>);
lookup(1, 1, 1, 2, 2, 0) -> ?D(<<"2.4">>);
lookup(1, 1, 1, 2, 2, 1) -> ?D(<<"1.6">>);
lookup(1, 1, 2, 0, 0, 1) -> ?D(<<"7.1">>);
lookup(1, 1, 2, 0, 1, 1) -> ?D(<<"5.9">>);
lookup(1, 1, 2, 0, 2, 1) -> ?D(<<"3.0">>);
lookup(1, 1, 2, 1, 0, 1) -> ?D(<<"5.8">>);
lookup(1, 1, 2, 1, 1, 1) -> ?D(<<"2.6">>);
lookup(1, 1, 2, 1, 2, 1) -> ?D(<<"1.5">>);
lookup(1, 1, 2, 2, 0, 1) -> ?D(<<"2.3">>);
lookup(1, 1, 2, 2, 1, 1) -> ?D(<<"1.3">>);
lookup(1, 1, 2, 2, 2, 1) -> ?D(<<"0.6">>);
lookup(2, 0, 0, 0, 0, 0) -> ?D(<<"9.3">>);
lookup(2, 0, 0, 0, 0, 1) -> ?D(<<"8.7">>);
lookup(2, 0, 0, 0, 1, 0) -> ?D(<<"8.6">>);
lookup(2, 0, 0, 0, 1, 1) -> ?D(<<"7.2">>);
lookup(2, 0, 0, 0, 2, 0) -> ?D(<<"7.5">>);
lookup(2, 0, 0, 0, 2, 1) -> ?D(<<"5.8">>);
lookup(2, 0, 0, 1, 0, 0) -> ?D(<<"8.6">>);
lookup(2, 0, 0, 1, 0, 1) -> ?D(<<"7.4">>);
lookup(2, 0, 0, 1, 1, 0) -> ?D(<<"7.4">>);
lookup(2, 0, 0, 1, 1, 1) -> ?D(<<"6.1">>);
lookup(2, 0, 0, 1, 2, 0) -> ?D(<<"5.6">>);
lookup(2, 0, 0, 1, 2, 1) -> ?D(<<"3.4">>);
lookup(2, 0, 0, 2, 0, 0) -> ?D(<<"7.0">>);
lookup(2, 0, 0, 2, 0, 1) -> ?D(<<"5.4">>);
lookup(2, 0, 0, 2, 1, 0) -> ?D(<<"5.2">>);
lookup(2, 0, 0, 2, 1, 1) -> ?D(<<"4.0">>);
lookup(2, 0, 0, 2, 2, 0) -> ?D(<<"4.0">>);
lookup(2, 0, 0, 2, 2, 1) -> ?D(<<"2.2">>);
lookup(2, 0, 1, 0, 0, 0) -> ?D(<<"8.5">>);
lookup(2, 0, 1, 0, 0, 1) -> ?D(<<"7.5">>);
lookup(2, 0, 1, 0, 1, 0) -> ?D(<<"7.4">>);
lookup(2, 0, 1, 0, 1, 1) -> ?D(<<"5.5">>);
lookup(2, 0, 1, 0, 2, 0) -> ?D(<<"6.2">>);
lookup(2, 0, 1, 0, 2, 1) -> ?D(<<"5.1">>);
lookup(2, 0, 1, 1, 0, 0) -> ?D(<<"7.2">>);
lookup(2, 0, 1, 1, 0, 1) -> ?D(<<"5.7">>);
lookup(2, 0, 1, 1, 1, 0) -> ?D(<<"5.5">>);
lookup(2, 0, 1, 1, 1, 1) -> ?D(<<"4.1">>);
lookup(2, 0, 1, 1, 2, 0) -> ?D(<<"4.6">>);
lookup(2, 0, 1, 1, 2, 1) -> ?D(<<"1.9">>);
lookup(2, 0, 1, 2, 0, 0) -> ?D(<<"5.3">>);
lookup(2, 0, 1, 2, 0, 1) -> ?D(<<"3.6">>);
lookup(2, 0, 1, 2, 1, 0) -> ?D(<<"3.4">>);
lookup(2, 0, 1, 2, 1, 1) -> ?D(<<"1.9">>);
lookup(2, 0, 1, 2, 2, 0) -> ?D(<<"1.9">>);
lookup(2, 0, 1, 2, 2, 1) -> ?D(<<"0.8">>);
lookup(2, 0, 2, 0, 0, 1) -> ?D(<<"6.4">>);
lookup(2, 0, 2, 0, 1, 1) -> ?D(<<"5.1">>);
lookup(2, 0, 2, 0, 2, 1) -> ?D(<<"2.0">>);
lookup(2, 0, 2, 1, 0, 1) -> ?D(<<"4.7">>);
lookup(2, 0, 2, 1, 1, 1) -> ?D(<<"2.1">>);
lookup(2, 0, 2, 1, 2, 1) -> ?D(<<"1.1">>);
lookup(2, 0, 2, 2, 0, 1) -> ?D(<<"2.4">>);
lookup(2, 0, 2, 2, 1, 1) -> ?D(<<"0.9">>);
lookup(2, 0, 2, 2, 2, 1) -> ?D(<<"0.4">>);
lookup(2, 1, 0, 0, 0, 0) -> ?D(<<"8.8">>);
lookup(2, 1, 0, 0, 0, 1) -> ?D(<<"7.5">>);
lookup(2, 1, 0, 0, 1, 0) -> ?D(<<"7.3">>);
lookup(2, 1, 0, 0, 1, 1) -> ?D(<<"5.3">>);
lookup(2, 1, 0, 0, 2, 0) -> ?D(<<"6.0">>);
lookup(2, 1, 0, 0, 2, 1) -> ?D(<<"5.0">>);
lookup(2, 1, 0, 1, 0, 0) -> ?D(<<"7.3">>);
lookup(2, 1, 0, 1, 0, 1) -> ?D(<<"5.5">>);
lookup(2, 1, 0, 1, 1, 0) -> ?D(<<"5.9">>);
lookup(2, 1, 0, 1, 1, 1) -> ?D(<<"4.0">>);
lookup(2, 1, 0, 1, 2, 0) -> ?D(<<"4.1">>);
lookup(2, 1, 0, 1, 2, 1) -> ?D(<<"2.0">>);
lookup(2, 1, 0, 2, 0, 0) -> ?D(<<"5.4">>);
lookup(2, 1, 0, 2, 0, 1) -> ?D(<<"4.3">>);
lookup(2, 1, 0, 2, 1, 0) -> ?D(<<"4.5">>);
lookup(2, 1, 0, 2, 1, 1) -> ?D(<<"2.2">>);
lookup(2, 1, 0, 2, 2, 0) -> ?D(<<"2.0">>);
lookup(2, 1, 0, 2, 2, 1) -> ?D(<<"1.1">>);
lookup(2, 1, 1, 0, 0, 0) -> ?D(<<"7.5">>);
lookup(2, 1, 1, 0, 0, 1) -> ?D(<<"5.5">>);
lookup(2, 1, 1, 0, 1, 0) -> ?D(<<"5.8">>);
lookup(2, 1, 1, 0, 1, 1) -> ?D(<<"4.5">>);
lookup(2, 1, 1, 0, 2, 0) -> ?D(<<"4.0">>);
lookup(2, 1, 1, 0, 2, 1) -> ?D(<<"2.1">>);
lookup(2, 1, 1, 1, 0, 0) -> ?D(<<"6.1">>);
lookup(2, 1, 1, 1, 0, 1) -> ?D(<<"5.1">>);
lookup(2, 1, 1, 1, 1, 0) -> ?D(<<"4.8">>);
lookup(2, 1, 1, 1, 1, 1) -> ?D(<<"1.8">>);
lookup(2, 1, 1, 1, 2, 0) -> ?D(<<"2.0">>);
lookup(2, 1, 1, 1, 2, 1) -> ?D(<<"0.9">>);
lookup(2, 1, 1, 2, 0, 0) -> ?D(<<"4.6">>);
lookup(2, 1, 1, 2, 0, 1) -> ?D(<<"1.8">>);
lookup(2, 1, 1, 2, 1, 0) -> ?D(<<"1.7">>);
lookup(2, 1, 1, 2, 1, 1) -> ?D(<<"0.7">>);
lookup(2, 1, 1, 2, 2, 0) -> ?D(<<"0.8">>);
lookup(2, 1, 1, 2, 2, 1) -> ?D(<<"0.2">>);
lookup(2, 1, 2, 0, 0, 1) -> ?D(<<"5.3">>);
lookup(2, 1, 2, 0, 1, 1) -> ?D(<<"2.4">>);
lookup(2, 1, 2, 0, 2, 1) -> ?D(<<"1.4">>);
lookup(2, 1, 2, 1, 0, 1) -> ?D(<<"2.4">>);
lookup(2, 1, 2, 1, 1, 1) -> ?D(<<"1.2">>);
lookup(2, 1, 2, 1, 2, 1) -> ?D(<<"0.5">>);
lookup(2, 1, 2, 2, 0, 1) -> ?D(<<"1.0">>);
lookup(2, 1, 2, 2, 1, 1) -> ?D(<<"0.3">>);
lookup(2, 1, 2, 2, 2, 1) -> ?D(<<"0.1">>);
lookup(_, _, _, _, _, _) -> undefined.