Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 7 additions & 6 deletions conformance/vectors/INDEX_all_formats.json
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@
"preprint": "https://arxiv.org/abs/2606.05017",
"total_formats": 83,
"total_packs": 83,
"bitexact_packs": 71,
"selfconsistent_packs": 4,
"bitexact_packs": 72,
"selfconsistent_packs": 3,
"structural_packs": 8,
"packs": [
{
Expand Down Expand Up @@ -395,9 +395,10 @@
{
"id": "gf128",
"file": "gf128_conformance_v0.json",
"kind": "bitexact_selfconsistent",
"source": "wide-rung GoldenFloat oracle (single decode law, dyadic-exact, no independent second witness)",
"sha256": "1ff5d68adba8634f644ad49ddecb97f587dd2ed6fc39997118f1e2cc390f6b27"
"kind": "bitexact",
"source": "promoted selfconsistent->strict bitexact (dual exact path + separation-bound; gf128 PR)",
"sha256": "cda05a8e608038f3ebb53757ecbe0f78a650f959cf34a54b0cf26d80730e54d3",
"n_vectors": 15
},
{
"id": "gf256",
Expand Down Expand Up @@ -660,4 +661,4 @@
"sha256": "fc2a0a6dcce7bbb0eccc1e23ebdacb9abbd81cd54111796be6dc7e6a87a2071a"
}
]
}
}
346 changes: 183 additions & 163 deletions conformance/vectors/gf128_conformance_v0.json
Original file line number Diff line number Diff line change
@@ -1,164 +1,184 @@
{
"anchor_identity": "phi^2 + 1/phi^2 = 3",
"anchor_note": "3.0 is exactly representable in this rung; it decodes to exactly 3 with no rounding error.",
"bitexact": true,
"catalog": {
"bias": 281474976710655,
"bias_expr": "281474976710655",
"bits": 128,
"cluster": "GoldenFloat",
"e": 49,
"gf_relation": "experimental",
"id": "gf128",
"m": 78,
"phi_distance": 0.010171139455,
"s": 1,
"source": "specs/numeric/gf128.t27",
"standard": "this work; rule e=round((N-1)/phi^2)",
"status": "Conj",
"storage": "u128"
},
"format": "gf128",
"format_name": "GoldenFloat128",
"format_notes": "S1 E49 M78, BIAS=281474976710655 (=2^(E-1)-1, IEC 60559 interchange bias). Storage word: u128; vectors use the FORMAT bit-width 128, not the storage word. Decode law shared across all five rungs; promoted to strict SW-bitexact by an INDEPENDENT second decoder (gf_wide_independent_witness.py, dyadic-exact, abs_error=0). PHI_BIAS is OPEN/RETRACTED per the spec and is NOT emitted; phi_distance is descriptive metadata only, never used in decode.",
"governing_sentence": "The GoldenFloat ladder earns its place through breadth and toolchain coherence, NOT through per-rung superiority over any competitor format. Takum (Hunhold 2024, arXiv:2412.20273) is the standing counterexample and is not suppressed.",
"n_vectors": 15,
"preprint": "arXiv:2606.05017 (GoldenFloat)",
"schema": "t27-conformance/v0.1",
"ssot": "gHashTag/t27 specs/numeric/formats_catalog.t27",
"vectors": [
{
"abs_error": "0",
"bits": 0,
"category": "zero",
"hex": "0x00000000000000000000000000000000",
"label": "pos_zero",
"value": "0",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 170141183460469231731687303715884105728,
"category": "zero",
"hex": "0x80000000000000000000000000000000",
"label": "neg_zero",
"value": "0",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 170141183460468929500232400058590429184,
"category": "inf",
"hex": "0x7FFFFFFFFFFFC0000000000000000000",
"label": "pos_inf",
"value": "INF(+)"
},
{
"abs_error": "0",
"bits": 340282366920938161231919703774474534912,
"category": "inf",
"hex": "0xFFFFFFFFFFFFC0000000000000000000",
"label": "neg_inf",
"value": "INF(-)"
},
{
"abs_error": "0",
"bits": 170141183460468929500232400058590429185,
"category": "nan",
"hex": "0x7FFFFFFFFFFFC0000000000000000001",
"label": "nan",
"value": "NAN(+)"
},
{
"abs_error": "0",
"bits": 1,
"category": "subnormal",
"hex": "0x00000000000000000000000000000001",
"label": "smallest_subnormal",
"value": "1p-281474976710732",
"value_encoding": "dyadic"
},
{
"abs_error": "0",
"bits": 302231454903657293676543,
"category": "subnormal",
"hex": "0x0000000000003FFFFFFFFFFFFFFFFFFF",
"label": "largest_subnormal",
"value": "302231454903657293676543p-281474976710732",
"value_encoding": "dyadic"
},
{
"abs_error": "0",
"bits": 302231454903657293676544,
"category": "normal",
"hex": "0x00000000000040000000000000000000",
"label": "smallest_normal",
"value": "1p-281474976710654",
"value_encoding": "dyadic"
},
{
"abs_error": "0",
"bits": 85070591730234313634388748200648376320,
"category": "normal",
"hex": "0x3FFFFFFFFFFFC0000000000000000000",
"label": "one",
"value": "1",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 85070591730234615865843651857942052864,
"category": "normal",
"hex": "0x40000000000000000000000000000000",
"label": "two",
"value": "2",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 85070591730234766981571103686588891136,
"category": "normal",
"hex": "0x40000000000020000000000000000000",
"label": "anchor_three",
"value": "3",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 255211775190703545366076051916532482048,
"category": "normal",
"hex": "0xBFFFFFFFFFFFC0000000000000000000",
"label": "neg_one",
"value": "-1",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 85070591730234464750116200029295214592,
"category": "normal",
"hex": "0x3FFFFFFFFFFFE0000000000000000000",
"label": "one_point_five",
"value": "1.5",
"value_encoding": "decimal"
},
{
"abs_error": "0",
"bits": 170141183460468929500232400058590429183,
"category": "normal",
"hex": "0x7FFFFFFFFFFFBFFFFFFFFFFFFFFFFFFF",
"label": "largest_normal",
"value": "604462909807314587353087p281474976710577",
"value_encoding": "dyadic"
},
{
"abs_error": "0",
"bits": 340282366920938161231919703774474534911,
"category": "normal",
"hex": "0xFFFFFFFFFFFFBFFFFFFFFFFFFFFFFFFF",
"label": "neg_largest_normal",
"value": "-604462909807314587353087p281474976710577",
"value_encoding": "dyadic"
}
],
"structural_reason": "Bit-precise round-trip defined; vectors emitted by encoder and confirmed by an INDEPENDENT second decoder (gf_wide_independent_witness.py, dyadic A*2^B exact comparison, abs_error=0) -> strict bitexact, not selfconsistent."
}
"schema": "t27-conformance/v0.1",
"format": "gf128",
"format_name": "GoldenFloat128",
"bitexact": true,
"format_notes": "S1 E49 M78, BIAS=281474976710655 (=2^(E-1)-1, IEC 60559 interchange bias). Storage word: u128; vectors use the FORMAT bit-width 128. Decode law shared across all rungs; promoted to strict SW-bitexact by an INDEPENDENT second decoder (gf_wide_independent_witness.py, dyadic-exact, abs_error=0) and an analytic separation-bound (SEPARATION_BOUND.md, zero rounding on exact dyadics). PHI_BIAS is OPEN/RETRACTED per the spec and is NOT emitted; phi_distance is descriptive metadata only, never used in decode.",
"catalog": {
"id": "gf128",
"bits": 128,
"s": 1,
"e": 49,
"m": 78,
"bias": 281474976710655,
"bias_expr": "281474976710655",
"storage": "u128",
"cluster": "GoldenFloat",
"status": "Conj",
"standard": "this work; rule e=round((N-1)/phi^2)",
"gf_relation": "experimental",
"source": "specs/numeric/gf128.t27",
"phi_distance": 0.01
},
"ssot": "https://github.com/gHashTag/t27/blob/master/conformance/FORMAT-SPEC-001.json",
"preprint": "https://arxiv.org/abs/2606.05017",
"anchor_identity": "phi^2 + 1/phi^2 = 3",
"anchor_note": "3.0 is exactly representable in this rung (anchor_three vector); it decodes to exactly 3 with no rounding error.",
"governing_sentence": "The GoldenFloat ladder earns its place through breadth and toolchain coherence, NOT through per-rung superiority over any competitor format. Takum (Hunhold 2024, arXiv:2412.20273) is the standing counterexample and is not suppressed.",
"structural_reason": "Bit-precise round-trip defined; every finite value is an EXACT dyadic rational odd*2^k (M=78 > 52 -> no FP lowering, no rounding; see SEPARATION_BOUND.md). Confirmed by TWO structurally independent exact decode paths (dyadic integer normalizer + Fraction-significand symbolic-shift) agreeing on all pack vectors and a representative sweep.",
"n_vectors": 15,
"vectors": [
{
"label": "pos_zero",
"category": "zero",
"bits": 0,
"hex": "0x00000000000000000000000000000000",
"value": "0",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "neg_zero",
"category": "zero",
"bits": 170141183460469231731687303715884105728,
"hex": "0x80000000000000000000000000000000",
"value": "0",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "pos_inf",
"category": "inf",
"bits": 170141183460468929500232400058590429184,
"hex": "0x7fffffffffffc0000000000000000000",
"value": "INF(+)",
"abs_error": "0"
},
{
"label": "neg_inf",
"category": "inf",
"bits": 340282366920938161231919703774474534912,
"hex": "0xffffffffffffc0000000000000000000",
"value": "INF(-)",
"abs_error": "0"
},
{
"label": "nan",
"category": "nan",
"bits": 170141183460468929500232400058590429185,
"hex": "0x7fffffffffffc0000000000000000001",
"value": "NAN(+)",
"abs_error": "0"
},
{
"label": "smallest_subnormal",
"category": "subnormal",
"bits": 1,
"hex": "0x00000000000000000000000000000001",
"value": "1p-281474976710732",
"abs_error": "0",
"value_encoding": "dyadic"
},
{
"label": "largest_subnormal",
"category": "subnormal",
"bits": 302231454903657293676543,
"hex": "0x0000000000003fffffffffffffffffff",
"value": "302231454903657293676543p-281474976710732",
"abs_error": "0",
"value_encoding": "dyadic"
},
{
"label": "smallest_normal",
"category": "normal",
"bits": 302231454903657293676544,
"hex": "0x00000000000040000000000000000000",
"value": "1p-281474976710654",
"abs_error": "0",
"value_encoding": "dyadic"
},
{
"label": "one",
"category": "normal",
"bits": 85070591730234313634388748200648376320,
"hex": "0x3fffffffffffc0000000000000000000",
"value": "1",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "two",
"category": "normal",
"bits": 85070591730234615865843651857942052864,
"hex": "0x40000000000000000000000000000000",
"value": "2",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "anchor_three",
"category": "normal",
"bits": 85070591730234766981571103686588891136,
"hex": "0x40000000000020000000000000000000",
"value": "3",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "neg_one",
"category": "normal",
"bits": 255211775190703545366076051916532482048,
"hex": "0xbfffffffffffc0000000000000000000",
"value": "-1",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "one_point_five",
"category": "normal",
"bits": 85070591730234464750116200029295214592,
"hex": "0x3fffffffffffe0000000000000000000",
"value": "1.5",
"abs_error": "0",
"value_encoding": "decimal"
},
{
"label": "largest_normal",
"category": "normal",
"bits": 170141183460468929500232400058590429183,
"hex": "0x7fffffffffffbfffffffffffffffffff",
"value": "604462909807314587353087p281474976710577",
"abs_error": "0",
"value_encoding": "dyadic"
},
{
"label": "neg_largest_normal",
"category": "normal",
"bits": 340282366920938161231919703774474534911,
"hex": "0xffffffffffffbfffffffffffffffffff",
"value": "-604462909807314587353087p281474976710577",
"abs_error": "0",
"value_encoding": "dyadic"
}
],
"witnesses": [
{
"kind": "sw_independent_dyadic",
"decoder": "gf_wide_independent_witness.py (from-scratch dyadic normalizer, integer (2^M+mant) -> odd*2^shift; does NOT reuse the encoder)",
"scope": "all 15 pack vectors",
"result": "15/15 pack vectors bit-exact, abs_error=0"
},
{
"kind": "sw_golden_fraction_oracle",
"decoder": "conformance/witness/gf128/gf128_decode_ref.py (fractions.Fraction significand + symbolic integer shift; exact-dyadic target, no FP lowering)",
"scope": "all 15 pack vectors",
"result": "15/15 pack vectors exact, abs_error=0"
},
{
"kind": "analytic_separation_bound",
"decoder": "conformance/witness/gf128/SEPARATION_BOUND.md (zero-rounding lemma)",
"scope": "entire 2^128 domain (analytic; 2^128 exhaustive infeasible)",
"result": "decode has NO rounding: every finite value is an exact dyadic odd*2^k; max rounding error 0 < ULP/2 -> deterministic, abs_error=0"
}
]
}
Loading
Loading