Zum Inhalt
HALOWERK

Datenvertragswerk

monotone elias fano layout audit

Construct and audit the whole Elias-Fano bit layout of an original nondecreasing0..64item integer sequence0..65535. U=max+1 for nonempty and0 for empty; lowwidth=max(0,floor(log2(U/n))) else0. Own explicit convention: low blocksLSB-first; upper onepositions=floor(value/2^lowwidth)+originalindex, followed by one trailingzero for nonempty, no bits for empty. Return all bitvectors, onepositions, decoded sequence, layoutbitcount and up to8zero-based indexselects plus8lower/upper-bound rank.

POST https://datenvertrag.halowerk.com/v1/monotone-elias-fano-layout-audit

Eingaben

Felder des veröffentlichten Eingabeschemas
FeldTypPflichtBeschreibung
sequenceSiehe SchemaJa
select_indicesarrayJa
rank_valuesarrayJa
claimed_valueSiehe SchemaJa
Vollständiges Eingabeschema anzeigen
{
  "type": "object",
  "properties": {
    "sequence": {
      "anyOf": [
        {
          "type": "array",
          "maxItems": 64,
          "items": {
            "type": "integer",
            "minimum": 0,
            "maximum": 65535
          }
        },
        {
          "type": "null"
        }
      ]
    },
    "select_indices": {
      "type": "array",
      "maxItems": 8,
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 63
      }
    },
    "rank_values": {
      "type": "array",
      "maxItems": 8,
      "items": {
        "type": "integer",
        "minimum": 0,
        "maximum": 65535
      }
    },
    "claimed_value": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "universe": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65536
            },
            "low_width": {
              "type": "integer",
              "minimum": 0,
              "maximum": 16
            },
            "low_bits_lsb": {
              "type": "array",
              "maxItems": 1024,
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1
              }
            },
            "upper_bitmap": {
              "type": "array",
              "maxItems": 193,
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 1
              }
            },
            "one_positions": {
              "type": "array",
              "maxItems": 64,
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 192
              }
            },
            "decoded_sequence": {
              "type": "array",
              "maxItems": 64,
              "items": {
                "type": "integer",
                "minimum": 0,
                "maximum": 65535
              }
            },
            "layout_bit_count": {
              "type": "integer",
              "minimum": 0,
              "maximum": 2048
            },
            "select_values": {
              "type": "array",
              "maxItems": 8,
              "items": {
                "anyOf": [
                  {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "rank_results": {
              "type": "array",
              "maxItems": 8,
              "items": {
                "type": "object",
                "properties": {
                  "less_count": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 64
                  },
                  "less_or_equal_count": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 64
                  }
                },
                "required": [
                  "less_count",
                  "less_or_equal_count"
                ],
                "additionalProperties": false
              }
            }
          },
          "required": [
            "universe",
            "low_width",
            "low_bits_lsb",
            "upper_bitmap",
            "one_positions",
            "decoded_sequence",
            "layout_bit_count",
            "select_values",
            "rank_results"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ]
    }
  },
  "required": [
    "sequence",
    "select_indices",
    "rank_values",
    "claimed_value"
  ],
  "additionalProperties": false
}

Originalschema öffnen

Veröffentlichtes Eingabebeispiel

{
  "sequence": [
    0,
    0,
    3
  ],
  "select_indices": [
    0,
    1,
    1,
    2,
    3,
    63
  ],
  "rank_values": [
    0,
    1,
    2,
    5,
    6,
    32768,
    65534,
    65535
  ],
  "claimed_value": {
    "universe": 4,
    "low_width": 0,
    "low_bits_lsb": [],
    "upper_bitmap": [
      1,
      1,
      0,
      0,
      0,
      1,
      0
    ],
    "one_positions": [
      0,
      1,
      5
    ],
    "decoded_sequence": [
      0,
      0,
      3
    ],
    "layout_bit_count": 7,
    "select_values": [
      0,
      0,
      0,
      3,
      null,
      null
    ],
    "rank_results": [
      {
        "less_count": 0,
        "less_or_equal_count": 2
      },
      {
        "less_count": 2,
        "less_or_equal_count": 2
      },
      {
        "less_count": 2,
        "less_or_equal_count": 2
      },
      {
        "less_count": 3,
        "less_or_equal_count": 3
      },
      {
        "less_count": 3,
        "less_or_equal_count": 3
      },
      {
        "less_count": 3,
        "less_or_equal_count": 3
      },
      {
        "less_count": 3,
        "less_or_equal_count": 3
      },
      {
        "less_count": 3,
        "less_or_equal_count": 3
      }
    ]
  }
}

Ergebnis & Dokumentation

Maschinenlesbare Dokumentation dieses Hubs

Quelle dieser Seite: der veröffentlichte HALOWERK-Katalog. Stand: 2026-11-07, 02:42 UTC.

Weitere Endpunkte dieses Hubs

Alle Endpunkte dieses Hubs →