diff --git a/conformance/vectors/INDEX_all_formats.json b/conformance/vectors/INDEX_all_formats.json index 66069dea8..e8dda47ae 100644 --- a/conformance/vectors/INDEX_all_formats.json +++ b/conformance/vectors/INDEX_all_formats.json @@ -347,78 +347,6 @@ "sha256": "eb7c946281fb6ed6fadd9c63c7e7fa186412480910c9fedcb25fbc056c1bd34a", "witnesses": 0 }, - { - "id": "gft1024", - "file": "gft1024_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "bc3921e8f7836337bffeefe64e8e963b2ec5054f60f2a7c967c6851604d2e5ed" - }, - { - "id": "gft128", - "file": "gft128_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "cd4d2a28cf0cdbb3db4813dd2ab920a565f326e8fad502a8101cba859fbfc7fc" - }, - { - "id": "gft16", - "file": "gft16_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "regenerated at M=11 from conformance/gft_ref.py", - "sha256": "fda0d18bf2ccb156136ae5cb87b61f40bae213f99dbecca94e7d070c9d381872" - }, - { - "id": "gft256", - "file": "gft256_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "a7d926eadff5a2f5ba857f4b8eeb912b446a0e5567bc5c8b23fcd5fee442b7c6" - }, - { - "id": "gft32", - "file": "gft32_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "a16ddf491e5585eea378c86b3cbc281b06f72d496978dba5272140c83c8e12db" - }, - { - "id": "gft4", - "file": "gft4_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 16, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "c065831d11b87660987ef8f2b80766e5ca361dc38f59842f847b774c12a14184" - }, - { - "id": "gft512", - "file": "gft512_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "b5c97e2d7e3f2a1d638258503e31f4e4c42ab2ed15fb5dd6066baa20a0f4f99c" - }, - { - "id": "gft64", - "file": "gft64_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "98e6c3c0a4cbe9da07686064c84db261686deded19dcc846e97314a38cc7a0b6" - }, - { - "id": "gft8", - "file": "gft8_conformance_v0.json", - "kind": "bitexact", - "n_vectors": 22, - "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", - "sha256": "97c97737bc7fe959a991481c4a917f004d1bec6538e2e1d85da10413eeb6cd24" - }, { "id": "gfternary", "file": "gfternary_conformance_v0.json", @@ -749,6 +677,78 @@ "sha256": "e20d828fda7d3d6b86d047b390fae2964622b83fb8200220f5a4283bc5ae2b4b", "witnesses": 0 }, + { + "id": "tef1024", + "file": "tef1024_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "a8cf707ee4dfab432287f6a7e7a7bb7c07054d9729606b23cc3658318bb0ca31" + }, + { + "id": "tef128", + "file": "tef128_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "df4b8956e7ed1977eb4baefb8f790d54b73bf370142e09f2ed7032d9b742709b" + }, + { + "id": "tef16", + "file": "tef16_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "regenerated at M=11 from conformance/gft_ref.py", + "sha256": "57944f2a2bc54573d49210f644076233c7e31421d04a8288260eb3a98625f135" + }, + { + "id": "tef256", + "file": "tef256_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "8a1b04d9a393b547de91b00c2ea533f43266eaf458be21840798a7c557fadf8f" + }, + { + "id": "tef32", + "file": "tef32_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "49989871fd377e2ba6e9c9c577ef21b8764d5c79091246eb4f6ed74bd79aab80" + }, + { + "id": "tef4", + "file": "tef4_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 16, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "2d7d3832be8c23388e90baa9ca1f15e07a4641f247a7414b0047284a805251da" + }, + { + "id": "tef512", + "file": "tef512_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "202496c6f573d79a10a256b18c83d2ada45a6e8f044dfe6fefa1a73998d6cb1e" + }, + { + "id": "tef64", + "file": "tef64_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "ca7e8c6d05207009cf13f63628bfc45c4be9bf2f90abcfe1dc10a1d14450c48c" + }, + { + "id": "tef8", + "file": "tef8_conformance_v0.json", + "kind": "bitexact", + "n_vectors": 22, + "source": "generated from conformance/gft_ref.py (round-trip verified 90/90)", + "sha256": "5509c7570c5395eed0a91b694a6cdc2a62501e00f938449ba72e1cc7a721fe0c" + }, { "id": "tf32", "file": "tf32_conformance_v0.json", diff --git a/conformance/vectors/gft1024_conformance_v0.json b/conformance/vectors/tef1024_conformance_v0.json similarity index 85% rename from conformance/vectors/gft1024_conformance_v0.json rename to conformance/vectors/tef1024_conformance_v0.json index d462531a1..9db9434c0 100644 --- a/conformance/vectors/gft1024_conformance_v0.json +++ b/conformance/vectors/tef1024_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T1024", - "ssot": "specs/numeric/gft1024.t27", + "format": "TEF1024", + "ssot": "specs/numeric/tef1024.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft1024_bits_int": 0, - "gft1024_bits_hex": "0x0", + "tef1024_bits_int": 0, + "tef1024_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-1000", "input_f64": 9.332636185032189e-302, "input_f64_hex": "0x0170000000000000", - "gft1024_bits_int": 3843490744611757592470176842601739819265798290452016931007346801080596586502718712016767452283983191400769466016107795534729784283297096406632355479343424681185123957738219028833401923129864306719449422207749074754507658619330200663895261921238247959010276921919256810489965861467403368155113930628462446379008, - "gft1024_bits_hex": "0x156150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3843490744611757592470176842601739819265798290452016931007346801080596586502718712016767452283983191400769466016107795534729784283297096406632355479343424681185123957738219028833401923129864306719449422207749074754507658619330200663895261921238247959010276921919256810489965861467403368155113930628462446379008, + "tef1024_bits_hex": "0x156150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 9.332636185032189e-302, "decoded_f64_hex": "0x0170000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-1000", "input_f64": -9.332636185032189e-302, "input_f64_hex": "0x8170000000000000", - "gft1024_bits_int": 15348726807730579401937730063651498114420850955682778996506871995175487838054780352510110000918065496752456754327876970424892329487419760246174591040269768641362269136929610086516743977609614330364446731141189443960149302289247825078225700995851191137464709605732779897846589601530105211664576735724412791160832, - "gft1024_bits_hex": "0x556150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15348726807730579401937730063651498114420850955682778996506871995175487838054780352510110000918065496752456754327876970424892329487419760246174591040269768641362269136929610086516743977609614330364446731141189443960149302289247825078225700995851191137464709605732779897846589601530105211664576735724412791160832, + "tef1024_bits_hex": "0x556150000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -9.332636185032189e-302, "decoded_f64_hex": "0x8170000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-1000", "input_f64": 1.3998954277548283e-301, "input_f64_hex": "0x0178000000000000", - "gft1024_bits_int": 3843512689108032767224909866346744568102878588022560660335627249088550411292245750708556112986781336851943919155009147023176764116032547385223968375758297663866322415733021868858460065490655474455547988257914124193688424995145916296571223092272249524835125963729643112528325230027698592729858173225670652461056, - "gft1024_bits_hex": "0x156158000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3843512689108032767224909866346744568102878588022560660335627249088550411292245750708556112986781336851943919155009147023176764116032547385223968375758297663866322415733021868858460065490655474455547988257914124193688424995145916296571223092272249524835125963729643112528325230027698592729858173225670652461056, + "tef1024_bits_hex": "0x156158000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.3998954277548283e-301, "decoded_f64_hex": "0x0178000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-500", "input_f64": 3.054936363499605e-151, "input_f64_hex": "0x20b0000000000000", - "gft1024_bits_int": 3865435240886932347203200587606488656346095860995746259287794809034421376029757403805428155082128642575222604917459283981709617018748074998245251894216407362383581952541059053891544283921032042818015472372798513935274034435045833339856432955239813783859318732305558848849334421762627942899356527836668528427008, - "gft1024_bits_hex": "0x158090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3865435240886932347203200587606488656346095860995746259287794809034421376029757403805428155082128642575222604917459283981709617018748074998245251894216407362383581952541059053891544283921032042818015472372798513935274034435045833339856432955239813783859318732305558848849334421762627942899356527836668528427008, + "tef1024_bits_hex": "0x158090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.054936363499605e-151, "decoded_f64_hex": "0x20b0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-500", "input_f64": -3.054936363499605e-151, "input_f64_hex": "0xa0b0000000000000", - "gft1024_bits_int": 15370671304005754156670753808656246951501148526226508324787320003129312627581819044298770703716210947926909893229228458871872162222870738837787487455142751322560727131732450111574886338400782066463012781306238883140915678104963457754186872029852756962313751416119081936205958161825329786408819332932618873208832, - "gft1024_bits_hex": "0x558090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15370671304005754156670753808656246951501148526226508324787320003129312627581819044298770703716210947926909893229228458871872162222870738837787487455142751322560727131732450111574886338400782066463012781306238883140915678104963457754186872029852756962313751416119081936205958161825329786408819332932618873208832, + "tef1024_bits_hex": "0x558090000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -3.054936363499605e-151, "decoded_f64_hex": "0xa0b0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-500", "input_f64": 4.582404545249407e-151, "input_f64_hex": "0x20b8000000000000", - "gft1024_bits_int": 3865457185383207521957933611351493405183176158566289988616075257042375200819284442497216815784926788026397058056360635470156596851483525976836864790631280345064780410535861893916602426281823210554114038422963563374454800810861548972532394126273815349684167774115945150887693790322923167474100770433876734509056, - "gft1024_bits_hex": "0x158098000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3865457185383207521957933611351493405183176158566289988616075257042375200819284442497216815784926788026397058056360635470156596851483525976836864790631280345064780410535861893916602426281823210554114038422963563374454800810861548972532394126273815349684167774115945150887693790322923167474100770433876734509056, + "tef1024_bits_hex": "0x158098000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 4.582404545249407e-151, "decoded_f64_hex": "0x20b8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft1024_bits_int": 3887335848169556752426758285121227995752232836398388128911681920972338515977742018210511536474677802847326837541008069451795490088728151632674922516259644078219643031354293398899570359990617443444384390437517854237678877499130034750465681647173376477058662459071088283131984244937262068494110639850458198310912, - "gft1024_bits_hex": "0x159fc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3887335848169556752426758285121227995752232836398388128911681920972338515977742018210511536474677802847326837541008069451795490088728151632674922516259644078219643031354293398899570359990617443444384390437517854237678877499130034750465681647173376477058662459071088283131984244937262068494110639850458198310912, + "tef1024_bits_hex": "0x159fc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft1024_bits_int": 15392571911288378561894311506170986290907285501629150194411207115067229767529803658703854085108760108199014125852777244341958035292850815472217158077185988038396788210545684456582912414470367467089381699370958223443320521169047659164796120721786319655513095142884611370488607984999963912003573444946408543092736, - "gft1024_bits_hex": "0x559fc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15392571911288378561894311506170986290907285501629150194411207115067229767529803658703854085108760108199014125852777244341958035292850815472217158077185988038396788210545684456582912414470367467089381699370958223443320521169047659164796120721786319655513095142884611370488607984999963912003573444946408543092736, + "tef1024_bits_hex": "0x559fc0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft1024_bits_int": 3887357792665831927181491308866232744589313133968931858239962368980292340767269056902300197177475948298501290679909420940242469921463602611266535412674517060900841489349096238924628502351408611180482956487682903676859643874945750383141642818207378042883511500881474585170343613497557293068854882447666404392960, - "gft1024_bits_hex": "0x159fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3887357792665831927181491308866232744589313133968931858239962368980292340767269056902300197177475948298501290679909420940242469921463602611266535412674517060900841489349096238924628502351408611180482956487682903676859643874945750383141642818207378042883511500881474585170343613497557293068854882447666404392960, + "tef1024_bits_hex": "0x159fc8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft1024_bits_int": 3887379737162107101936224332611237493426393431539475587568242816988246165556796095594088857880274093749675743818810772428689449754199053589858148309089390043582039947343899078949686644712199778916581522537847953116040410250761466015817603989241379608708360542691860887208702982057852517643599125044874610475008, - "gft1024_bits_hex": "0x159fd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3887379737162107101936224332611237493426393431539475587568242816988246165556796095594088857880274093749675743818810772428689449754199053589858148309089390043582039947343899078949686644712199778916581522537847953116040410250761466015817603989241379608708360542691860887208702982057852517643599125044874610475008, + "tef1024_bits_hex": "0x159fd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft1024_bits_int": 15392615800280928911403777553660995788581446096770237653067768011083137417108857736087431406514356399101363032130579947318851994958321717429400383870015734003759185126535290136633028699191949802561578831471288322321682053920679090430148043063854322787162793226505383974565326722120554361153061930140824955256832, - "gft1024_bits_hex": "0x559fd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15392615800280928911403777553660995788581446096770237653067768011083137417108857736087431406514356399101363032130579947318851994958321717429400383870015734003759185126535290136633028699191949802561578831471288322321682053920679090430148043063854322787162793226505383974565326722120554361153061930140824955256832, + "tef1024_bits_hex": "0x559fd0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft1024_bits_int": 3887401681658382276690957356356242242263473729110019316896523264996199990346323134285877518583072239200850196957712123917136429586934504568449761205504263026263238405338701918974744787072990946652680088588013002555221176626577181648493565160275381174533209584502247189247062350618147742218343367642082816557056, - "gft1024_bits_hex": "0x159fd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3887401681658382276690957356356242242263473729110019316896523264996199990346323134285877518583072239200850196957712123917136429586934504568449761205504263026263238405338701918974744787072990946652680088588013002555221176626577181648493565160275381174533209584502247189247062350618147742218343367642082816557056, + "tef1024_bits_hex": "0x159fd8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft1024_bits_int": 3887423626154657451445690380101246991100554026680563046224803713004153815135850172977666179285870384652024650096613475405583409419669955547041374101919136008944436863333504758999802929433782114388778654638178051994401943002392897281169526331309382740358058626312633491285421719178442966793087610239291022639104, - "gft1024_bits_hex": "0x159fe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3887423626154657451445690380101246991100554026680563046224803713004153815135850172977666179285870384652024650096613475405583409419669955547041374101919136008944436863333504758999802929433782114388778654638178051994401943002392897281169526331309382740358058626312633491285421719178442966793087610239291022639104, + "tef1024_bits_hex": "0x159fe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft1024_bits_int": 15392659689273479260913243601151005286255606691911325111724328907099045066687911813471008727919952690003711938408382650295745954623792619386583609662845479969121582042524895816683144983913532138033775963571618421200043586672310521695499965405922325918812491310126156578642045459241144810302550415335241367420928, - "gft1024_bits_hex": "0x559fe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15392659689273479260913243601151005286255606691911325111724328907099045066687911813471008727919952690003711938408382650295745954623792619386583609662845479969121582042524895816683144983913532138033775963571618421200043586672310521695499965405922325918812491310126156578642045459241144810302550415335241367420928, + "tef1024_bits_hex": "0x559fe0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft1024_bits_int": 3887445570650932626200423403846251739937634324251106775553084161012107639925377211669454839988668530103199103235514826894030389252405406525632986998334008991625635321328307599024861071794573282124877220688343101433582709378208612913845487502343384306182907668123019793323781087738738191367831852836499228721152, - "gft1024_bits_hex": "0x159fe8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3887445570650932626200423403846251739937634324251106775553084161012107639925377211669454839988668530103199103235514826894030389252405406525632986998334008991625635321328307599024861071794573282124877220688343101433582709378208612913845487502343384306182907668123019793323781087738738191367831852836499228721152, + "tef1024_bits_hex": "0x159fe8000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_500", "input_f64": 3.273390607896142e+150, "input_f64_hex": "0x5f30000000000000", - "gft1024_bits_int": 3909324233437281856669248077615986330506691002083204915848690824942070955083834787382749560678419544924128882720162260875669282489650032181471044723962372724780497942146739104007829005503367515015147572702897392296806786066477098691778775023242945433557402353078162925568071542353077092387841722253080692523008, - "gft1024_bits_hex": "0x15bf10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3909324233437281856669248077615986330506691002083204915848690824942070955083834787382749560678419544924128882720162260875669282489650032181471044723962372724780497942146739104007829005503367515015147572702897392296806786066477098691778775023242945433557402353078162925568071542353077092387841722253080692523008, + "tef1024_bits_hex": "0x15bf10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.273390607896142e+150, "decoded_f64_hex": "0x5f30000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_500", "input_f64": -3.273390607896142e+150, "input_f64_hex": "0xdf30000000000000", - "gft1024_bits_int": 15414560296556103666136801298665744625661743667313966981348216019036962206635896427876092109312501850275816171031931435765831827693772696021013280284888716684957643121338130161691171059983117538660144881636337761502448429736394723106109214097855888612011835036891686012924695282415778935897304527349031037304832, - "gft1024_bits_hex": "0x55bf10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15414560296556103666136801298665744625661743667313966981348216019036962206635896427876092109312501850275816171031931435765831827693772696021013280284888716684957643121338130161691171059983117538660144881636337761502448429736394723106109214097855888612011835036891686012924695282415778935897304527349031037304832, + "tef1024_bits_hex": "0x55bf10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -3.273390607896142e+150, "decoded_f64_hex": "0xdf30000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e500", "input_f64": 4.910085911844213e+150, "input_f64_hex": "0x5f38000000000000", - "gft1024_bits_int": 3909346177933557031423981101360991079343771299653748645176971272950024779873361826074538221381217690375303335859063612364116262322385483160062657620377245707461696400141541944032887147864158682751246138753062441735987552442292814324454736194276946999382251394888549227606430910913372316962585964850288898605056, - "gft1024_bits_hex": "0x15bf18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3909346177933557031423981101360991079343771299653748645176971272950024779873361826074538221381217690375303335859063612364116262322385483160062657620377245707461696400141541944032887147864158682751246138753062441735987552442292814324454736194276946999382251394888549227606430910913372316962585964850288898605056, + "tef1024_bits_hex": "0x15bf18000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 4.910085911844213e+150, "decoded_f64_hex": "0x5f38000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_1000", "input_f64": 1.0715086071862673e+301, "input_f64_hex": "0x7e70000000000000", - "gft1024_bits_int": 3931268729712456611402271822620735167586988572626934244129138832895895744610873479171410263476564996098582021621513749322649115225101010773083941138835355405978955936949579129065971366294535251113713622867946831477573161882192731367739946057244511258406444163464464963927440102648301667132084319461286774571008, - "gft1024_bits_hex": "0x15de50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3931268729712456611402271822620735167586988572626934244129138832895895744610873479171410263476564996098582021621513749322649115225101010773083941138835355405978955936949579129065971366294535251113713622867946831477573161882192731367739946057244511258406444163464464963927440102648301667132084319461286774571008, + "tef1024_bits_hex": "0x15de50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.0715086071862673e+301, "decoded_f64_hex": "0x7e70000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_1000", "input_f64": -1.0715086071862673e+301, "input_f64_hex": "0xfe70000000000000", - "gft1024_bits_int": 15436504792831278420869825043670493462742041237857696309628664026990786996162935119664752812110647301450269309933282924212811660429223674612626176699761699366156101116140970186749313420774285274758710931801387200683214805552110355782070385131857454436860876847277988051284063842711003510641547124557237119352832, - "gft1024_bits_hex": "0x55de50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 15436504792831278420869825043670493462742041237857696309628664026990786996162935119664752812110647301450269309933282924212811660429223674612626176699761699366156101116140970186749313420774285274758710931801387200683214805552110355782070385131857454436860876847277988051284063842711003510641547124557237119352832, + "tef1024_bits_hex": "0x55de50000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -1.0715086071862673e+301, "decoded_f64_hex": "0xfe70000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e1000", "input_f64": 1.607262910779401e+301, "input_f64_hex": "0x7e78000000000000", - "gft1024_bits_int": 3931290674208731786157004846365739916424068870197477973457419280903849569400400517863198924179363141549756474760415100811096095057836461751675554035250228388660154394944381969091029508655326418849812188918111880916753928258008447000415907228278512824231293205274851265965799471208596891706828562058494980653056, - "gft1024_bits_hex": "0x15de58000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef1024_bits_int": 3931290674208731786157004846365739916424068870197477973457419280903849569400400517863198924179363141549756474760415100811096095057836461751675554035250228388660154394944381969091029508655326418849812188918111880916753928258008447000415907228278512824231293205274851265965799471208596891706828562058494980653056, + "tef1024_bits_hex": "0x15de58000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.607262910779401e+301, "decoded_f64_hex": "0x7e78000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft128_conformance_v0.json b/conformance/vectors/tef128_conformance_v0.json similarity index 66% rename from conformance/vectors/gft128_conformance_v0.json rename to conformance/vectors/tef128_conformance_v0.json index 2257928de..9efec19c6 100644 --- a/conformance/vectors/gft128_conformance_v0.json +++ b/conformance/vectors/tef128_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T128", - "ssot": "specs/numeric/gft128.t27", + "format": "TEF128", + "ssot": "specs/numeric/tef128.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft128_bits_int": 0, - "gft128_bits_hex": "0x0", + "tef128_bits_int": 0, + "tef128_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-1000", "input_f64": 9.332636185032189e-302, "input_f64_hex": "0x0170000000000000", - "gft128_bits_int": 1515319915194804095110340048719592816640, - "gft128_bits_hex": "0x474000000000000000000000000000000", + "tef128_bits_int": 1515319915194804095110340048719592816640, + "tef128_bits_hex": "0x474000000000000000000000000000000", "decoded_f64": 9.332636185032189e-302, "decoded_f64_hex": "0x0170000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-1000", "input_f64": -9.332636185032189e-302, "input_f64_hex": "0x8170000000000000", - "gft128_bits_int": 6959837785929819510524333767627884199936, - "gft128_bits_hex": "0x1474000000000000000000000000000000", + "tef128_bits_int": 6959837785929819510524333767627884199936, + "tef128_bits_hex": "0x1474000000000000000000000000000000", "decoded_f64": -9.332636185032189e-302, "decoded_f64_hex": "0x8170000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-1000", "input_f64": 1.3998954277548283e-301, "input_f64_hex": "0x0178000000000000", - "gft128_bits_int": 1515652222193750324078566000484662902784, - "gft128_bits_hex": "0x474400000000000000000000000000000", + "tef128_bits_int": 1515652222193750324078566000484662902784, + "tef128_bits_hex": "0x474400000000000000000000000000000", "decoded_f64": 1.3998954277548283e-301, "decoded_f64_hex": "0x0178000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-500", "input_f64": 3.054936363499605e-151, "input_f64_hex": "0x20b0000000000000", - "gft128_bits_int": 1847626914141033063336291813789678960640, - "gft128_bits_hex": "0x56e000000000000000000000000000000", + "tef128_bits_int": 1847626914141033063336291813789678960640, + "tef128_bits_hex": "0x56e000000000000000000000000000000", "decoded_f64": 3.054936363499605e-151, "decoded_f64_hex": "0x20b0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-500", "input_f64": -3.054936363499605e-151, "input_f64_hex": "0xa0b0000000000000", - "gft128_bits_int": 7292144784876048478750285532697970343936, - "gft128_bits_hex": "0x156e000000000000000000000000000000", + "tef128_bits_int": 7292144784876048478750285532697970343936, + "tef128_bits_hex": "0x156e000000000000000000000000000000", "decoded_f64": -3.054936363499605e-151, "decoded_f64_hex": "0xa0b0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-500", "input_f64": 4.582404545249407e-151, "input_f64_hex": "0x20b8000000000000", - "gft128_bits_int": 1847959221139979292304517765554749046784, - "gft128_bits_hex": "0x56e400000000000000000000000000000", + "tef128_bits_int": 1847959221139979292304517765554749046784, + "tef128_bits_hex": "0x56e400000000000000000000000000000", "decoded_f64": 4.582404545249407e-151, "decoded_f64_hex": "0x20b8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft128_bits_int": 2179269299089369573625791675329624932352, - "gft128_bits_hex": "0x667800000000000000000000000000000", + "tef128_bits_int": 2179269299089369573625791675329624932352, + "tef128_bits_hex": "0x667800000000000000000000000000000", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft128_bits_int": 7623787169824384989039785394237916315648, - "gft128_bits_hex": "0x1667800000000000000000000000000000", + "tef128_bits_int": 7623787169824384989039785394237916315648, + "tef128_bits_hex": "0x1667800000000000000000000000000000", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft128_bits_int": 2179601606088315802594017627094695018496, - "gft128_bits_hex": "0x667c00000000000000000000000000000", + "tef128_bits_int": 2179601606088315802594017627094695018496, + "tef128_bits_hex": "0x667c00000000000000000000000000000", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft128_bits_int": 2179933913087262031562243578859765104640, - "gft128_bits_hex": "0x668000000000000000000000000000000", + "tef128_bits_int": 2179933913087262031562243578859765104640, + "tef128_bits_hex": "0x668000000000000000000000000000000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft128_bits_int": 7624451783822277446976237297768056487936, - "gft128_bits_hex": "0x1668000000000000000000000000000000", + "tef128_bits_int": 7624451783822277446976237297768056487936, + "tef128_bits_hex": "0x1668000000000000000000000000000000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft128_bits_int": 2180266220086208260530469530624835190784, - "gft128_bits_hex": "0x668400000000000000000000000000000", + "tef128_bits_int": 2180266220086208260530469530624835190784, + "tef128_bits_hex": "0x668400000000000000000000000000000", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft128_bits_int": 2180598527085154489498695482389905276928, - "gft128_bits_hex": "0x668800000000000000000000000000000", + "tef128_bits_int": 2180598527085154489498695482389905276928, + "tef128_bits_hex": "0x668800000000000000000000000000000", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft128_bits_int": 7625116397820169904912689201298196660224, - "gft128_bits_hex": "0x1668800000000000000000000000000000", + "tef128_bits_int": 7625116397820169904912689201298196660224, + "tef128_bits_hex": "0x1668800000000000000000000000000000", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft128_bits_int": 2180930834084100718466921434154975363072, - "gft128_bits_hex": "0x668c00000000000000000000000000000", + "tef128_bits_int": 2180930834084100718466921434154975363072, + "tef128_bits_hex": "0x668c00000000000000000000000000000", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_500", "input_f64": 3.273390607896142e+150, "input_f64_hex": "0x5f30000000000000", - "gft128_bits_int": 2512240912033490999788195343929851248640, - "gft128_bits_hex": "0x762000000000000000000000000000000", + "tef128_bits_int": 2512240912033490999788195343929851248640, + "tef128_bits_hex": "0x762000000000000000000000000000000", "decoded_f64": 3.273390607896142e+150, "decoded_f64_hex": "0x5f30000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_500", "input_f64": -3.273390607896142e+150, "input_f64_hex": "0xdf30000000000000", - "gft128_bits_int": 7956758782768506415202189062838142631936, - "gft128_bits_hex": "0x1762000000000000000000000000000000", + "tef128_bits_int": 7956758782768506415202189062838142631936, + "tef128_bits_hex": "0x1762000000000000000000000000000000", "decoded_f64": -3.273390607896142e+150, "decoded_f64_hex": "0xdf30000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e500", "input_f64": 4.910085911844213e+150, "input_f64_hex": "0x5f38000000000000", - "gft128_bits_int": 2512573219032437228756421295694921334784, - "gft128_bits_hex": "0x762400000000000000000000000000000", + "tef128_bits_int": 2512573219032437228756421295694921334784, + "tef128_bits_hex": "0x762400000000000000000000000000000", "decoded_f64": 4.910085911844213e+150, "decoded_f64_hex": "0x5f38000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_1000", "input_f64": 1.0715086071862673e+301, "input_f64_hex": "0x7e70000000000000", - "gft128_bits_int": 2844547910979719968014147108999937392640, - "gft128_bits_hex": "0x85c000000000000000000000000000000", + "tef128_bits_int": 2844547910979719968014147108999937392640, + "tef128_bits_hex": "0x85c000000000000000000000000000000", "decoded_f64": 1.0715086071862673e+301, "decoded_f64_hex": "0x7e70000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_1000", "input_f64": -1.0715086071862673e+301, "input_f64_hex": "0xfe70000000000000", - "gft128_bits_int": 8289065781714735383428140827908228775936, - "gft128_bits_hex": "0x185c000000000000000000000000000000", + "tef128_bits_int": 8289065781714735383428140827908228775936, + "tef128_bits_hex": "0x185c000000000000000000000000000000", "decoded_f64": -1.0715086071862673e+301, "decoded_f64_hex": "0xfe70000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e1000", "input_f64": 1.607262910779401e+301, "input_f64_hex": "0x7e78000000000000", - "gft128_bits_int": 2844880217978666196982373060765007478784, - "gft128_bits_hex": "0x85c400000000000000000000000000000", + "tef128_bits_int": 2844880217978666196982373060765007478784, + "tef128_bits_hex": "0x85c400000000000000000000000000000", "decoded_f64": 1.607262910779401e+301, "decoded_f64_hex": "0x7e78000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft16_conformance_v0.json b/conformance/vectors/tef16_conformance_v0.json similarity index 80% rename from conformance/vectors/gft16_conformance_v0.json rename to conformance/vectors/tef16_conformance_v0.json index 592b010f3..2dfa220ba 100644 --- a/conformance/vectors/gft16_conformance_v0.json +++ b/conformance/vectors/tef16_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T16", - "ssot": "specs/numeric/gft16.t27", + "format": "TEF16", + "ssot": "specs/numeric/tef16.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft16_bits_int": 0, - "gft16_bits_hex": "0x0", + "tef16_bits_int": 0, + "tef16_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-39", "input_f64": 1.8189894035458565e-12, "input_f64_hex": "0x3d80000000000000", - "gft16_bits_int": 2048, - "gft16_bits_hex": "0x800", + "tef16_bits_int": 2048, + "tef16_bits_hex": "0x800", "decoded_f64": 1.8189894035458565e-12, "decoded_f64_hex": "0x3d80000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-39", "input_f64": -1.8189894035458565e-12, "input_f64_hex": "0xbd80000000000000", - "gft16_bits_int": 264192, - "gft16_bits_hex": "0x40800", + "tef16_bits_int": 264192, + "tef16_bits_hex": "0x40800", "decoded_f64": -1.8189894035458565e-12, "decoded_f64_hex": "0xbd80000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-39", "input_f64": 2.7284841053187847e-12, "input_f64_hex": "0x3d88000000000000", - "gft16_bits_int": 3072, - "gft16_bits_hex": "0xc00", + "tef16_bits_int": 3072, + "tef16_bits_hex": "0xc00", "decoded_f64": 2.7284841053187847e-12, "decoded_f64_hex": "0x3d88000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-19", "input_f64": 1.9073486328125e-06, "input_f64_hex": "0x3ec0000000000000", - "gft16_bits_int": 43008, - "gft16_bits_hex": "0xa800", + "tef16_bits_int": 43008, + "tef16_bits_hex": "0xa800", "decoded_f64": 1.9073486328125e-06, "decoded_f64_hex": "0x3ec0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-19", "input_f64": -1.9073486328125e-06, "input_f64_hex": "0xbec0000000000000", - "gft16_bits_int": 305152, - "gft16_bits_hex": "0x4a800", + "tef16_bits_int": 305152, + "tef16_bits_hex": "0x4a800", "decoded_f64": -1.9073486328125e-06, "decoded_f64_hex": "0xbec0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-19", "input_f64": 2.86102294921875e-06, "input_f64_hex": "0x3ec8000000000000", - "gft16_bits_int": 44032, - "gft16_bits_hex": "0xac00", + "tef16_bits_int": 44032, + "tef16_bits_hex": "0xac00", "decoded_f64": 2.86102294921875e-06, "decoded_f64_hex": "0x3ec8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft16_bits_int": 79872, - "gft16_bits_hex": "0x13800", + "tef16_bits_int": 79872, + "tef16_bits_hex": "0x13800", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft16_bits_int": 342016, - "gft16_bits_hex": "0x53800", + "tef16_bits_int": 342016, + "tef16_bits_hex": "0x53800", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft16_bits_int": 80896, - "gft16_bits_hex": "0x13c00", + "tef16_bits_int": 80896, + "tef16_bits_hex": "0x13c00", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft16_bits_int": 81920, - "gft16_bits_hex": "0x14000", + "tef16_bits_int": 81920, + "tef16_bits_hex": "0x14000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft16_bits_int": 344064, - "gft16_bits_hex": "0x54000", + "tef16_bits_int": 344064, + "tef16_bits_hex": "0x54000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft16_bits_int": 82944, - "gft16_bits_hex": "0x14400", + "tef16_bits_int": 82944, + "tef16_bits_hex": "0x14400", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft16_bits_int": 83968, - "gft16_bits_hex": "0x14800", + "tef16_bits_int": 83968, + "tef16_bits_hex": "0x14800", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft16_bits_int": 346112, - "gft16_bits_hex": "0x54800", + "tef16_bits_int": 346112, + "tef16_bits_hex": "0x54800", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft16_bits_int": 84992, - "gft16_bits_hex": "0x14c00", + "tef16_bits_int": 84992, + "tef16_bits_hex": "0x14c00", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_19", "input_f64": 524288.0, "input_f64_hex": "0x4120000000000000", - "gft16_bits_int": 120832, - "gft16_bits_hex": "0x1d800", + "tef16_bits_int": 120832, + "tef16_bits_hex": "0x1d800", "decoded_f64": 524288.0, "decoded_f64_hex": "0x4120000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_19", "input_f64": -524288.0, "input_f64_hex": "0xc120000000000000", - "gft16_bits_int": 382976, - "gft16_bits_hex": "0x5d800", + "tef16_bits_int": 382976, + "tef16_bits_hex": "0x5d800", "decoded_f64": -524288.0, "decoded_f64_hex": "0xc120000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e19", "input_f64": 786432.0, "input_f64_hex": "0x4128000000000000", - "gft16_bits_int": 121856, - "gft16_bits_hex": "0x1dc00", + "tef16_bits_int": 121856, + "tef16_bits_hex": "0x1dc00", "decoded_f64": 786432.0, "decoded_f64_hex": "0x4128000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_39", "input_f64": 549755813888.0, "input_f64_hex": "0x4260000000000000", - "gft16_bits_int": 161792, - "gft16_bits_hex": "0x27800", + "tef16_bits_int": 161792, + "tef16_bits_hex": "0x27800", "decoded_f64": 549755813888.0, "decoded_f64_hex": "0x4260000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_39", "input_f64": -549755813888.0, "input_f64_hex": "0xc260000000000000", - "gft16_bits_int": 423936, - "gft16_bits_hex": "0x67800", + "tef16_bits_int": 423936, + "tef16_bits_hex": "0x67800", "decoded_f64": -549755813888.0, "decoded_f64_hex": "0xc260000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e39", "input_f64": 824633720832.0, "input_f64_hex": "0x4268000000000000", - "gft16_bits_int": 162816, - "gft16_bits_hex": "0x27c00", + "tef16_bits_int": 162816, + "tef16_bits_hex": "0x27c00", "decoded_f64": 824633720832.0, "decoded_f64_hex": "0x4268000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft256_conformance_v0.json b/conformance/vectors/tef256_conformance_v0.json similarity index 71% rename from conformance/vectors/gft256_conformance_v0.json rename to conformance/vectors/tef256_conformance_v0.json index 7d9391337..b8a8a0982 100644 --- a/conformance/vectors/gft256_conformance_v0.json +++ b/conformance/vectors/tef256_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T256", - "ssot": "specs/numeric/gft256.t27", + "format": "TEF256", + "ssot": "specs/numeric/tef256.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft256_bits_int": 0, - "gft256_bits_hex": "0x0", + "tef256_bits_int": 0, + "tef256_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-1000", "input_f64": 9.332636185032189e-302, "input_f64_hex": "0x0170000000000000", - "gft256_bits_int": 999724473581164534902139725060361126299570248465750221360199707240195292135424, - "gft256_bits_hex": "0x8a240000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 999724473581164534902139725060361126299570248465750221360199707240195292135424, + "tef256_bits_hex": "0x8a240000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 9.332636185032189e-302, "decoded_f64_hex": "0x0170000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-1000", "input_f64": -9.332636185032189e-302, "input_f64_hex": "0x8170000000000000", - "gft256_bits_int": 4705071329175282788456411245338374177604209757766248270622842395493415440613376, - "gft256_bits_hex": "0x28a240000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4705071329175282788456411245338374177604209757766248270622842395493415440613376, + "tef256_bits_hex": "0x28a240000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -9.332636185032189e-302, "decoded_f64_hex": "0x8170000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-1000", "input_f64": 1.3998954277548283e-301, "input_f64_hex": "0x0178000000000000", - "gft256_bits_int": 999781012687237443200686390580384899692076727950450241166859598638636655968256, - "gft256_bits_hex": "0x8a260000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 999781012687237443200686390580384899692076727950450241166859598638636655968256, + "tef256_bits_hex": "0x8a260000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.3998954277548283e-301, "decoded_f64_hex": "0x0178000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-500", "input_f64": 3.054936363499605e-151, "input_f64_hex": "0x20b0000000000000", - "gft256_bits_int": 1056263579654072833448805245084134518806049733165770028020091105681559124967424, - "gft256_bits_hex": "0x91f40000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1056263579654072833448805245084134518806049733165770028020091105681559124967424, + "tef256_bits_hex": "0x91f40000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.054936363499605e-151, "decoded_f64_hex": "0x20b0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-500", "input_f64": -3.054936363499605e-151, "input_f64_hex": "0xa0b0000000000000", - "gft256_bits_int": 4761610435248191087003076765362147570110689242466268077282733793934779273445376, - "gft256_bits_hex": "0x291f40000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4761610435248191087003076765362147570110689242466268077282733793934779273445376, + "tef256_bits_hex": "0x291f40000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -3.054936363499605e-151, "decoded_f64_hex": "0xa0b0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-500", "input_f64": 4.582404545249407e-151, "input_f64_hex": "0x20b8000000000000", - "gft256_bits_int": 1056320118760145741747351910604158292198556212650470047826750997080000488800256, - "gft256_bits_hex": "0x91f60000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1056320118760145741747351910604158292198556212650470047826750997080000488800256, + "tef256_bits_hex": "0x91f60000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 4.582404545249407e-151, "decoded_f64_hex": "0x20b8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft256_bits_int": 1112689607514835315398377434067860364527516258896389795066662721326040230133760, - "gft256_bits_hex": "0x99c00000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1112689607514835315398377434067860364527516258896389795066662721326040230133760, + "tef256_bits_hex": "0x99c00000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft256_bits_int": 4818036463108953568952648954345873415832155768196887844329305409579260378611712, - "gft256_bits_hex": "0x299c00000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4818036463108953568952648954345873415832155768196887844329305409579260378611712, + "tef256_bits_hex": "0x299c00000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft256_bits_int": 1112746146620908223696924099587884137920022738381089814873322612724481593966592, - "gft256_bits_hex": "0x99c20000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1112746146620908223696924099587884137920022738381089814873322612724481593966592, + "tef256_bits_hex": "0x99c20000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft256_bits_int": 1112802685726981131995470765107907911312529217865789834679982504122922957799424, - "gft256_bits_hex": "0x99c40000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1112802685726981131995470765107907911312529217865789834679982504122922957799424, + "tef256_bits_hex": "0x99c40000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft256_bits_int": 4818149541321099385549742285385920962617168727166287883942625192376143106277376, - "gft256_bits_hex": "0x299c40000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4818149541321099385549742285385920962617168727166287883942625192376143106277376, + "tef256_bits_hex": "0x299c40000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft256_bits_int": 1112859224833054040294017430627931684705035697350489854486642395521364321632256, - "gft256_bits_hex": "0x99c60000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1112859224833054040294017430627931684705035697350489854486642395521364321632256, + "tef256_bits_hex": "0x99c60000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft256_bits_int": 1112915763939126948592564096147955458097542176835189874293302286919805685465088, - "gft256_bits_hex": "0x99c80000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1112915763939126948592564096147955458097542176835189874293302286919805685465088, + "tef256_bits_hex": "0x99c80000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft256_bits_int": 4818262619533245202146835616425968509402181686135687923555944975173025833943040, - "gft256_bits_hex": "0x299c80000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4818262619533245202146835616425968509402181686135687923555944975173025833943040, + "tef256_bits_hex": "0x299c80000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft256_bits_int": 1112972303045199856891110761667979231490048656319889894099962178318247049297920, - "gft256_bits_hex": "0x99ca0000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1112972303045199856891110761667979231490048656319889894099962178318247049297920, + "tef256_bits_hex": "0x99ca0000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_500", "input_f64": 3.273390607896142e+150, "input_f64_hex": "0x5f30000000000000", - "gft256_bits_int": 1169341791799889430542136285131681303819008702565809641339873902564286790631424, - "gft256_bits_hex": "0xa1940000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1169341791799889430542136285131681303819008702565809641339873902564286790631424, + "tef256_bits_hex": "0xa1940000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.273390607896142e+150, "decoded_f64_hex": "0x5f30000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_500", "input_f64": -3.273390607896142e+150, "input_f64_hex": "0xdf30000000000000", - "gft256_bits_int": 4874688647394007684096407805409694355123648211866307690602516590817506939109376, - "gft256_bits_hex": "0x2a1940000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4874688647394007684096407805409694355123648211866307690602516590817506939109376, + "tef256_bits_hex": "0x2a1940000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -3.273390607896142e+150, "decoded_f64_hex": "0xdf30000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e500", "input_f64": 4.910085911844213e+150, "input_f64_hex": "0x5f38000000000000", - "gft256_bits_int": 1169398330905962338840682950651705077211515182050509661146533793962728154464256, - "gft256_bits_hex": "0xa1960000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1169398330905962338840682950651705077211515182050509661146533793962728154464256, + "tef256_bits_hex": "0xa1960000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 4.910085911844213e+150, "decoded_f64_hex": "0x5f38000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_1000", "input_f64": 1.0715086071862673e+301, "input_f64_hex": "0x7e70000000000000", - "gft256_bits_int": 1225880897872797729088801805155454696325488187265829447999765301005650623463424, - "gft256_bits_hex": "0xa9640000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1225880897872797729088801805155454696325488187265829447999765301005650623463424, + "tef256_bits_hex": "0xa9640000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.0715086071862673e+301, "decoded_f64_hex": "0x7e70000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_1000", "input_f64": -1.0715086071862673e+301, "input_f64_hex": "0xfe70000000000000", - "gft256_bits_int": 4931227753466915982643073325433467747630127696566327497262407989258870771941376, - "gft256_bits_hex": "0x2a9640000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 4931227753466915982643073325433467747630127696566327497262407989258870771941376, + "tef256_bits_hex": "0x2a9640000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -1.0715086071862673e+301, "decoded_f64_hex": "0xfe70000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e1000", "input_f64": 1.607262910779401e+301, "input_f64_hex": "0x7e78000000000000", - "gft256_bits_int": 1225937436978870637387348470675478469717994666750529467806425192404091987296256, - "gft256_bits_hex": "0xa9660000000000000000000000000000000000000000000000000000000000000", + "tef256_bits_int": 1225937436978870637387348470675478469717994666750529467806425192404091987296256, + "tef256_bits_hex": "0xa9660000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.607262910779401e+301, "decoded_f64_hex": "0x7e78000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft32_conformance_v0.json b/conformance/vectors/tef32_conformance_v0.json similarity index 77% rename from conformance/vectors/gft32_conformance_v0.json rename to conformance/vectors/tef32_conformance_v0.json index fb7ac1505..b609e13dd 100644 --- a/conformance/vectors/gft32_conformance_v0.json +++ b/conformance/vectors/tef32_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T32", - "ssot": "specs/numeric/gft32.t27", + "format": "TEF32", + "ssot": "specs/numeric/tef32.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft32_bits_int": 0, - "gft32_bits_hex": "0x0", + "tef32_bits_int": 0, + "tef32_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-363", "input_f64": 5.3224498000101884e-110, "input_f64_hex": "0x2940000000000000", - "gft32_bits_int": 33554432, - "gft32_bits_hex": "0x2000000", + "tef32_bits_int": 33554432, + "tef32_bits_hex": "0x2000000", "decoded_f64": 5.3224498000101884e-110, "decoded_f64_hex": "0x2940000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-363", "input_f64": -5.3224498000101884e-110, "input_f64_hex": "0xa940000000000000", - "gft32_bits_int": 34393292800, - "gft32_bits_hex": "0x802000000", + "tef32_bits_int": 34393292800, + "tef32_bits_hex": "0x802000000", "decoded_f64": -5.3224498000101884e-110, "decoded_f64_hex": "0xa940000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-363", "input_f64": 7.983674700015283e-110, "input_f64_hex": "0x2948000000000000", - "gft32_bits_int": 50331648, - "gft32_bits_hex": "0x3000000", + "tef32_bits_int": 50331648, + "tef32_bits_hex": "0x3000000", "decoded_f64": 7.983674700015283e-110, "decoded_f64_hex": "0x2948000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-181", "input_f64": 3.2626522339992623e-55, "input_f64_hex": "0x34a0000000000000", - "gft32_bits_int": 6140461056, - "gft32_bits_hex": "0x16e000000", + "tef32_bits_int": 6140461056, + "tef32_bits_hex": "0x16e000000", "decoded_f64": 3.2626522339992623e-55, "decoded_f64_hex": "0x34a0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-181", "input_f64": -3.2626522339992623e-55, "input_f64_hex": "0xb4a0000000000000", - "gft32_bits_int": 40500199424, - "gft32_bits_hex": "0x96e000000", + "tef32_bits_int": 40500199424, + "tef32_bits_hex": "0x96e000000", "decoded_f64": -3.2626522339992623e-55, "decoded_f64_hex": "0xb4a0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-181", "input_f64": 4.8939783509988934e-55, "input_f64_hex": "0x34a8000000000000", - "gft32_bits_int": 6157238272, - "gft32_bits_hex": "0x16f000000", + "tef32_bits_int": 6157238272, + "tef32_bits_hex": "0x16f000000", "decoded_f64": 4.8939783509988934e-55, "decoded_f64_hex": "0x34a8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft32_bits_int": 12180258816, - "gft32_bits_hex": "0x2d6000000", + "tef32_bits_int": 12180258816, + "tef32_bits_hex": "0x2d6000000", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft32_bits_int": 46539997184, - "gft32_bits_hex": "0xad6000000", + "tef32_bits_int": 46539997184, + "tef32_bits_hex": "0xad6000000", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft32_bits_int": 12197036032, - "gft32_bits_hex": "0x2d7000000", + "tef32_bits_int": 12197036032, + "tef32_bits_hex": "0x2d7000000", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft32_bits_int": 12213813248, - "gft32_bits_hex": "0x2d8000000", + "tef32_bits_int": 12213813248, + "tef32_bits_hex": "0x2d8000000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft32_bits_int": 46573551616, - "gft32_bits_hex": "0xad8000000", + "tef32_bits_int": 46573551616, + "tef32_bits_hex": "0xad8000000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft32_bits_int": 12230590464, - "gft32_bits_hex": "0x2d9000000", + "tef32_bits_int": 12230590464, + "tef32_bits_hex": "0x2d9000000", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft32_bits_int": 12247367680, - "gft32_bits_hex": "0x2da000000", + "tef32_bits_int": 12247367680, + "tef32_bits_hex": "0x2da000000", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft32_bits_int": 46607106048, - "gft32_bits_hex": "0xada000000", + "tef32_bits_int": 46607106048, + "tef32_bits_hex": "0xada000000", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft32_bits_int": 12264144896, - "gft32_bits_hex": "0x2db000000", + "tef32_bits_int": 12264144896, + "tef32_bits_hex": "0x2db000000", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_181", "input_f64": 3.064991081731778e+54, "input_f64_hex": "0x4b40000000000000", - "gft32_bits_int": 18287165440, - "gft32_bits_hex": "0x442000000", + "tef32_bits_int": 18287165440, + "tef32_bits_hex": "0x442000000", "decoded_f64": 3.064991081731778e+54, "decoded_f64_hex": "0x4b40000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_181", "input_f64": -3.064991081731778e+54, "input_f64_hex": "0xcb40000000000000", - "gft32_bits_int": 52646903808, - "gft32_bits_hex": "0xc42000000", + "tef32_bits_int": 52646903808, + "tef32_bits_hex": "0xc42000000", "decoded_f64": -3.064991081731778e+54, "decoded_f64_hex": "0xcb40000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e181", "input_f64": 4.5974866225976666e+54, "input_f64_hex": "0x4b48000000000000", - "gft32_bits_int": 18303942656, - "gft32_bits_hex": "0x443000000", + "tef32_bits_int": 18303942656, + "tef32_bits_hex": "0x443000000", "decoded_f64": 4.5974866225976666e+54, "decoded_f64_hex": "0x4b48000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_363", "input_f64": 1.8788340662190666e+109, "input_f64_hex": "0x56a0000000000000", - "gft32_bits_int": 24394072064, - "gft32_bits_hex": "0x5ae000000", + "tef32_bits_int": 24394072064, + "tef32_bits_hex": "0x5ae000000", "decoded_f64": 1.8788340662190666e+109, "decoded_f64_hex": "0x56a0000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_363", "input_f64": -1.8788340662190666e+109, "input_f64_hex": "0xd6a0000000000000", - "gft32_bits_int": 58753810432, - "gft32_bits_hex": "0xdae000000", + "tef32_bits_int": 58753810432, + "tef32_bits_hex": "0xdae000000", "decoded_f64": -1.8788340662190666e+109, "decoded_f64_hex": "0xd6a0000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e363", "input_f64": 2.8182510993286e+109, "input_f64_hex": "0x56a8000000000000", - "gft32_bits_int": 24410849280, - "gft32_bits_hex": "0x5af000000", + "tef32_bits_int": 24410849280, + "tef32_bits_hex": "0x5af000000", "decoded_f64": 2.8182510993286e+109, "decoded_f64_hex": "0x56a8000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft4_conformance_v0.json b/conformance/vectors/tef4_conformance_v0.json similarity index 81% rename from conformance/vectors/gft4_conformance_v0.json rename to conformance/vectors/tef4_conformance_v0.json index 222ca9cca..cca003ff7 100644 --- a/conformance/vectors/gft4_conformance_v0.json +++ b/conformance/vectors/tef4_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T4", - "ssot": "specs/numeric/gft4.t27", + "format": "TEF4", + "ssot": "specs/numeric/tef4.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft4_bits_int": 0, - "gft4_bits_hex": "0x0", + "tef4_bits_int": 0, + "tef4_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-3", "input_f64": 0.125, "input_f64_hex": "0x3fc0000000000000", - "gft4_bits_int": 2, - "gft4_bits_hex": "0x2", + "tef4_bits_int": 2, + "tef4_bits_hex": "0x2", "decoded_f64": 0.125, "decoded_f64_hex": "0x3fc0000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-3", "input_f64": -0.125, "input_f64_hex": "0xbfc0000000000000", - "gft4_bits_int": 34, - "gft4_bits_hex": "0x22", + "tef4_bits_int": 34, + "tef4_bits_hex": "0x22", "decoded_f64": -0.125, "decoded_f64_hex": "0xbfc0000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-3", "input_f64": 0.1875, "input_f64_hex": "0x3fc8000000000000", - "gft4_bits_int": 3, - "gft4_bits_hex": "0x3", + "tef4_bits_int": 3, + "tef4_bits_hex": "0x3", "decoded_f64": 0.1875, "decoded_f64_hex": "0x3fc8000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft4_bits_int": 6, - "gft4_bits_hex": "0x6", + "tef4_bits_int": 6, + "tef4_bits_hex": "0x6", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft4_bits_int": 38, - "gft4_bits_hex": "0x26", + "tef4_bits_int": 38, + "tef4_bits_hex": "0x26", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft4_bits_int": 7, - "gft4_bits_hex": "0x7", + "tef4_bits_int": 7, + "tef4_bits_hex": "0x7", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft4_bits_int": 8, - "gft4_bits_hex": "0x8", + "tef4_bits_int": 8, + "tef4_bits_hex": "0x8", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft4_bits_int": 40, - "gft4_bits_hex": "0x28", + "tef4_bits_int": 40, + "tef4_bits_hex": "0x28", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft4_bits_int": 9, - "gft4_bits_hex": "0x9", + "tef4_bits_int": 9, + "tef4_bits_hex": "0x9", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft4_bits_int": 10, - "gft4_bits_hex": "0xa", + "tef4_bits_int": 10, + "tef4_bits_hex": "0xa", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft4_bits_int": 42, - "gft4_bits_hex": "0x2a", + "tef4_bits_int": 42, + "tef4_bits_hex": "0x2a", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft4_bits_int": 11, - "gft4_bits_hex": "0xb", + "tef4_bits_int": 11, + "tef4_bits_hex": "0xb", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_3", "input_f64": 8.0, "input_f64_hex": "0x4020000000000000", - "gft4_bits_int": 14, - "gft4_bits_hex": "0xe", + "tef4_bits_int": 14, + "tef4_bits_hex": "0xe", "decoded_f64": 8.0, "decoded_f64_hex": "0x4020000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_3", "input_f64": -8.0, "input_f64_hex": "0xc020000000000000", - "gft4_bits_int": 46, - "gft4_bits_hex": "0x2e", + "tef4_bits_int": 46, + "tef4_bits_hex": "0x2e", "decoded_f64": -8.0, "decoded_f64_hex": "0xc020000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e3", "input_f64": 12.0, "input_f64_hex": "0x4028000000000000", - "gft4_bits_int": 15, - "gft4_bits_hex": "0xf", + "tef4_bits_int": 15, + "tef4_bits_hex": "0xf", "decoded_f64": 12.0, "decoded_f64_hex": "0x4028000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft512_conformance_v0.json b/conformance/vectors/tef512_conformance_v0.json similarity index 78% rename from conformance/vectors/gft512_conformance_v0.json rename to conformance/vectors/tef512_conformance_v0.json index a12dab4bc..7ede4ec8e 100644 --- a/conformance/vectors/gft512_conformance_v0.json +++ b/conformance/vectors/tef512_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T512", - "ssot": "specs/numeric/gft512.t27", + "format": "TEF512", + "ssot": "specs/numeric/tef512.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft512_bits_int": 0, - "gft512_bits_hex": "0x0", + "tef512_bits_int": 0, + "tef512_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-1000", "input_f64": 9.332636185032189e-302, "input_f64_hex": "0x0170000000000000", - "gft512_bits_int": 186740387399259101400512445824620876435654995442664760110442805967148240817293874006980792227008180357143783556109046930933826051429669902906285841918722048, - "gft512_bits_hex": "0xded800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 186740387399259101400512445824620876435654995442664760110442805967148240817293874006980792227008180357143783556109046930933826051429669902906285841918722048, + "tef512_bits_hex": "0xded800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 9.332636185032189e-302, "decoded_f64_hex": "0x0170000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-1000", "input_f64": -9.332636185032189e-302, "input_f64_hex": "0x8170000000000000", - "gft512_bits_int": 615790241157422208586881245767207952514994701701621348197596772166244689779647377264640769768349090043224803018076600558253950301411960141192162610113413120, - "gft512_bits_hex": "0x2ded800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 615790241157422208586881245767207952514994701701621348197596772166244689779647377264640769768349090043224803018076600558253950301411960141192162610113413120, + "tef512_bits_hex": "0x2ded800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -9.332636185032189e-302, "decoded_f64_hex": "0x8170000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-1000", "input_f64": 1.3998954277548283e-301, "input_f64_hex": "0x0178000000000000", - "gft512_bits_int": 186743660789866997542382459014317704034807212084710803175232289258516336951090278681535675497100506261300934442793174491004835268686215788299339170446311424, - "gft512_bits_hex": "0xded900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 186743660789866997542382459014317704034807212084710803175232289258516336951090278681535675497100506261300934442793174491004835268686215788299339170446311424, + "tef512_bits_hex": "0xded900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.3998954277548283e-301, "decoded_f64_hex": "0x0178000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-500", "input_f64": 3.054936363499605e-151, "input_f64_hex": "0x20b0000000000000", - "gft512_bits_int": 190013778007155243270525635521448475587871637488707824899926097335244374613698548561864062319334084514294670240236607001943043307975555295959614369508098048, - "gft512_bits_hex": "0xe2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 190013778007155243270525635521448475587871637488707824899926097335244374613698548561864062319334084514294670240236607001943043307975555295959614369508098048, + "tef512_bits_hex": "0xe2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.054936363499605e-151, "decoded_f64_hex": "0x20b0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-500", "input_f64": -3.054936363499605e-151, "input_f64_hex": "0xa0b0000000000000", - "gft512_bits_int": 619063631765318350456894435464035551667211343747664412987080063534340823576052051819524039860674994200375689702204160629263167557957845534245491137702789120, - "gft512_bits_hex": "0x2e2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 619063631765318350456894435464035551667211343747664412987080063534340823576052051819524039860674994200375689702204160629263167557957845534245491137702789120, + "tef512_bits_hex": "0x2e2c000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -3.054936363499605e-151, "decoded_f64_hex": "0xa0b0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-500", "input_f64": 4.582404545249407e-151, "input_f64_hex": "0x20b8000000000000", - "gft512_bits_int": 190017051397763139412395648711145303187023854130753867964715580626612470747494953236418945589426410418451821126920734562014052525232101181352667698035687424, - "gft512_bits_hex": "0xe2c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 190017051397763139412395648711145303187023854130753867964715580626612470747494953236418945589426410418451821126920734562014052525232101181352667698035687424, + "tef512_bits_hex": "0xe2c100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 4.582404545249407e-151, "decoded_f64_hex": "0x20b8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft512_bits_int": 193280621833835592856798798838882419541783846250658803559830422120604316142510413767637565871475336863131255150995911952810242130008348918226836240042295296, - "gft512_bits_hex": "0xe6a600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 193280621833835592856798798838882419541783846250658803559830422120604316142510413767637565871475336863131255150995911952810242130008348918226836240042295296, + "tef512_bits_hex": "0xe6a600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft512_bits_int": 622330475591998700043167598781469495621123552509615391646984388319700765104863917025297543412816246549212274612963465580130366379990639156512713008236986368, - "gft512_bits_hex": "0x2e6a600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 622330475591998700043167598781469495621123552509615391646984388319700765104863917025297543412816246549212274612963465580130366379990639156512713008236986368, + "tef512_bits_hex": "0x2e6a600000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft512_bits_int": 193283895224443488998668812028579247140936062892704846624619905411972412276306818442192449141567662767288406037680039512881251347264894803619889568569884672, - "gft512_bits_hex": "0xe6a700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 193283895224443488998668812028579247140936062892704846624619905411972412276306818442192449141567662767288406037680039512881251347264894803619889568569884672, + "tef512_bits_hex": "0xe6a700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft512_bits_int": 193287168615051385140538825218276074740088279534750889689409388703340508410103223116747332411659988671445556924364167072952260564521440689012942897097474048, - "gft512_bits_hex": "0xe6a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 193287168615051385140538825218276074740088279534750889689409388703340508410103223116747332411659988671445556924364167072952260564521440689012942897097474048, + "tef512_bits_hex": "0xe6a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft512_bits_int": 622337022373214492326907625160863150819427985793707477776563354902436957372456726374407309953000898357526576386331720700272384814503730927298819665292165120, - "gft512_bits_hex": "0x2e6a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 622337022373214492326907625160863150819427985793707477776563354902436957372456726374407309953000898357526576386331720700272384814503730927298819665292165120, + "tef512_bits_hex": "0x2e6a800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft512_bits_int": 193290442005659281282408838407972902339240496176796932754198871994708604543899627791302215681752314575602707811048294633023269781777986574405996225625063424, - "gft512_bits_hex": "0xe6a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 193290442005659281282408838407972902339240496176796932754198871994708604543899627791302215681752314575602707811048294633023269781777986574405996225625063424, + "tef512_bits_hex": "0xe6a900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft512_bits_int": 193293715396267177424278851597669729938392712818842975818988355286076700677696032465857098951844640479759858697732422193094278999034532459799049554152652800, - "gft512_bits_hex": "0xe6aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 193293715396267177424278851597669729938392712818842975818988355286076700677696032465857098951844640479759858697732422193094278999034532459799049554152652800, + "tef512_bits_hex": "0xe6aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft512_bits_int": 622343569154430284610647651540256806017732419077799563906142321485173149640049535723517076493185550165840878159699975820414403249016822698084926322347343872, - "gft512_bits_hex": "0x2e6aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 622343569154430284610647651540256806017732419077799563906142321485173149640049535723517076493185550165840878159699975820414403249016822698084926322347343872, + "tef512_bits_hex": "0x2e6aa00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft512_bits_int": 193296988786875073566148864787366557537544929460889018883777838577444796811492437140411982221936966383917009584416549753165288216291078345192102882680242176, - "gft512_bits_hex": "0xe6ab00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 193296988786875073566148864787366557537544929460889018883777838577444796811492437140411982221936966383917009584416549753165288216291078345192102882680242176, + "tef512_bits_hex": "0xe6ab00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_500", "input_f64": 3.273390607896142e+150, "input_f64_hex": "0x5f30000000000000", - "gft512_bits_int": 196560559222947527010552014915103673892304921580793954478892680071436642206507897671630602503985892828596443608491727143961477821067326082066271424686850048, - "gft512_bits_hex": "0xea9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 196560559222947527010552014915103673892304921580793954478892680071436642206507897671630602503985892828596443608491727143961477821067326082066271424686850048, + "tef512_bits_hex": "0xea9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 3.273390607896142e+150, "decoded_f64_hex": "0x5f30000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_500", "input_f64": -3.273390607896142e+150, "input_f64_hex": "0xdf30000000000000", - "gft512_bits_int": 625610412981110634196920814857690749971644627839750542566046646270533091168861400929290580045326802514677463070459280771281602071049616320352148192881541120, - "gft512_bits_hex": "0x2ea9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 625610412981110634196920814857690749971644627839750542566046646270533091168861400929290580045326802514677463070459280771281602071049616320352148192881541120, + "tef512_bits_hex": "0x2ea9000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -3.273390607896142e+150, "decoded_f64_hex": "0xdf30000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e500", "input_f64": 4.910085911844213e+150, "input_f64_hex": "0x5f38000000000000", - "gft512_bits_int": 196563832613555423152422028104800501491457138222839997543682163362804738340304302346185485774078218732753594495175854704032487038323871967459324753214439424, - "gft512_bits_hex": "0xea9100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 196563832613555423152422028104800501491457138222839997543682163362804738340304302346185485774078218732753594495175854704032487038323871967459324753214439424, + "tef512_bits_hex": "0xea9100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 4.910085911844213e+150, "decoded_f64_hex": "0x5f38000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_1000", "input_f64": 1.0715086071862673e+301, "input_f64_hex": "0x7e70000000000000", - "gft512_bits_int": 199833949830843668880565204611931273044521563626837019268375971439532776002912572226513872596311796985747330292619287214970695077613211475119599952276226048, - "gft512_bits_hex": "0xee7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 199833949830843668880565204611931273044521563626837019268375971439532776002912572226513872596311796985747330292619287214970695077613211475119599952276226048, + "tef512_bits_hex": "0xee7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.0715086071862673e+301, "decoded_f64_hex": "0x7e70000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_1000", "input_f64": -1.0715086071862673e+301, "input_f64_hex": "0xfe70000000000000", - "gft512_bits_int": 628883803589006776066934004554518349123861269885793607355529937638629224965266075484173850137652706671828349754586840842290819327595501713405476720470917120, - "gft512_bits_hex": "0x2ee7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 628883803589006776066934004554518349123861269885793607355529937638629224965266075484173850137652706671828349754586840842290819327595501713405476720470917120, + "tef512_bits_hex": "0x2ee7800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": -1.0715086071862673e+301, "decoded_f64_hex": "0xfe70000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e1000", "input_f64": 1.607262910779401e+301, "input_f64_hex": "0x7e78000000000000", - "gft512_bits_int": 199837223221451565022435217801628100643673780268883062333165454730900872136708976901068755866404122889904481179303414775041704294869757360512653280803815424, - "gft512_bits_hex": "0xee7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", + "tef512_bits_int": 199837223221451565022435217801628100643673780268883062333165454730900872136708976901068755866404122889904481179303414775041704294869757360512653280803815424, + "tef512_bits_hex": "0xee7900000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000", "decoded_f64": 1.607262910779401e+301, "decoded_f64_hex": "0x7e78000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft64_conformance_v0.json b/conformance/vectors/tef64_conformance_v0.json similarity index 74% rename from conformance/vectors/gft64_conformance_v0.json rename to conformance/vectors/tef64_conformance_v0.json index 19f720576..fc9f23583 100644 --- a/conformance/vectors/gft64_conformance_v0.json +++ b/conformance/vectors/tef64_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T64", - "ssot": "specs/numeric/gft64.t27", + "format": "TEF64", + "ssot": "specs/numeric/tef64.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft64_bits_int": 0, - "gft64_bits_hex": "0x0", + "tef64_bits_int": 0, + "tef64_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-1000", "input_f64": 9.332636185032189e-302, "input_f64_hex": "0x0170000000000000", - "gft64_bits_int": 6701356245527298048, - "gft64_bits_hex": "0x5d00000000000000", + "tef64_bits_int": 6701356245527298048, + "tef64_bits_hex": "0x5d00000000000000", "decoded_f64": 9.332636185032189e-302, "decoded_f64_hex": "0x0170000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-1000", "input_f64": -9.332636185032189e-302, "input_f64_hex": "0x8170000000000000", - "gft64_bits_int": 301849261424880123904, - "gft64_bits_hex": "0x105d00000000000000", + "tef64_bits_int": 301849261424880123904, + "tef64_bits_hex": "0x105d00000000000000", "decoded_f64": -9.332636185032189e-302, "decoded_f64_hex": "0x8170000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-1000", "input_f64": 1.3998954277548283e-301, "input_f64_hex": "0x0178000000000000", - "gft64_bits_int": 6737385042546262016, - "gft64_bits_hex": "0x5d80000000000000", + "tef64_bits_int": 6737385042546262016, + "tef64_bits_hex": "0x5d80000000000000", "decoded_f64": 1.3998954277548283e-301, "decoded_f64_hex": "0x0178000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-500", "input_f64": 3.054936363499605e-151, "input_f64_hex": "0x20b0000000000000", - "gft64_bits_int": 42730153264491266048, - "gft64_bits_hex": "0x25100000000000000", + "tef64_bits_int": 42730153264491266048, + "tef64_bits_hex": "0x25100000000000000", "decoded_f64": 3.054936363499605e-151, "decoded_f64_hex": "0x20b0000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-500", "input_f64": -3.054936363499605e-151, "input_f64_hex": "0xa0b0000000000000", - "gft64_bits_int": 337878058443844091904, - "gft64_bits_hex": "0x125100000000000000", + "tef64_bits_int": 337878058443844091904, + "tef64_bits_hex": "0x125100000000000000", "decoded_f64": -3.054936363499605e-151, "decoded_f64_hex": "0xa0b0000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-500", "input_f64": 4.582404545249407e-151, "input_f64_hex": "0x20b8000000000000", - "gft64_bits_int": 42766182061510230016, - "gft64_bits_hex": "0x25180000000000000", + "tef64_bits_int": 42766182061510230016, + "tef64_bits_hex": "0x25180000000000000", "decoded_f64": 4.582404545249407e-151, "decoded_f64_hex": "0x20b8000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft64_bits_int": 78686892689417306112, - "gft64_bits_hex": "0x44400000000000000", + "tef64_bits_int": 78686892689417306112, + "tef64_bits_hex": "0x44400000000000000", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft64_bits_int": 373834797868770131968, - "gft64_bits_hex": "0x144400000000000000", + "tef64_bits_int": 373834797868770131968, + "tef64_bits_hex": "0x144400000000000000", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft64_bits_int": 78722921486436270080, - "gft64_bits_hex": "0x44480000000000000", + "tef64_bits_int": 78722921486436270080, + "tef64_bits_hex": "0x44480000000000000", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft64_bits_int": 78758950283455234048, - "gft64_bits_hex": "0x44500000000000000", + "tef64_bits_int": 78758950283455234048, + "tef64_bits_hex": "0x44500000000000000", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft64_bits_int": 373906855462808059904, - "gft64_bits_hex": "0x144500000000000000", + "tef64_bits_int": 373906855462808059904, + "tef64_bits_hex": "0x144500000000000000", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft64_bits_int": 78794979080474198016, - "gft64_bits_hex": "0x44580000000000000", + "tef64_bits_int": 78794979080474198016, + "tef64_bits_hex": "0x44580000000000000", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft64_bits_int": 78831007877493161984, - "gft64_bits_hex": "0x44600000000000000", + "tef64_bits_int": 78831007877493161984, + "tef64_bits_hex": "0x44600000000000000", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft64_bits_int": 373978913056845987840, - "gft64_bits_hex": "0x144600000000000000", + "tef64_bits_int": 373978913056845987840, + "tef64_bits_hex": "0x144600000000000000", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft64_bits_int": 78867036674512125952, - "gft64_bits_hex": "0x44680000000000000", + "tef64_bits_int": 78867036674512125952, + "tef64_bits_hex": "0x44680000000000000", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_500", "input_f64": 3.273390607896142e+150, "input_f64_hex": "0x5f30000000000000", - "gft64_bits_int": 114787747302419202048, - "gft64_bits_hex": "0x63900000000000000", + "tef64_bits_int": 114787747302419202048, + "tef64_bits_hex": "0x63900000000000000", "decoded_f64": 3.273390607896142e+150, "decoded_f64_hex": "0x5f30000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_500", "input_f64": -3.273390607896142e+150, "input_f64_hex": "0xdf30000000000000", - "gft64_bits_int": 409935652481772027904, - "gft64_bits_hex": "0x163900000000000000", + "tef64_bits_int": 409935652481772027904, + "tef64_bits_hex": "0x163900000000000000", "decoded_f64": -3.273390607896142e+150, "decoded_f64_hex": "0xdf30000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e500", "input_f64": 4.910085911844213e+150, "input_f64_hex": "0x5f38000000000000", - "gft64_bits_int": 114823776099438166016, - "gft64_bits_hex": "0x63980000000000000", + "tef64_bits_int": 114823776099438166016, + "tef64_bits_hex": "0x63980000000000000", "decoded_f64": 4.910085911844213e+150, "decoded_f64_hex": "0x5f38000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_1000", "input_f64": 1.0715086071862673e+301, "input_f64_hex": "0x7e70000000000000", - "gft64_bits_int": 150816544321383170048, - "gft64_bits_hex": "0x82d00000000000000", + "tef64_bits_int": 150816544321383170048, + "tef64_bits_hex": "0x82d00000000000000", "decoded_f64": 1.0715086071862673e+301, "decoded_f64_hex": "0x7e70000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_1000", "input_f64": -1.0715086071862673e+301, "input_f64_hex": "0xfe70000000000000", - "gft64_bits_int": 445964449500735995904, - "gft64_bits_hex": "0x182d00000000000000", + "tef64_bits_int": 445964449500735995904, + "tef64_bits_hex": "0x182d00000000000000", "decoded_f64": -1.0715086071862673e+301, "decoded_f64_hex": "0xfe70000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e1000", "input_f64": 1.607262910779401e+301, "input_f64_hex": "0x7e78000000000000", - "gft64_bits_int": 150852573118402134016, - "gft64_bits_hex": "0x82d80000000000000", + "tef64_bits_int": 150852573118402134016, + "tef64_bits_hex": "0x82d80000000000000", "decoded_f64": 1.607262910779401e+301, "decoded_f64_hex": "0x7e78000000000000", "abs_error": 0.0, diff --git a/conformance/vectors/gft8_conformance_v0.json b/conformance/vectors/tef8_conformance_v0.json similarity index 80% rename from conformance/vectors/gft8_conformance_v0.json rename to conformance/vectors/tef8_conformance_v0.json index 0dd57414c..9769d8f66 100644 --- a/conformance/vectors/gft8_conformance_v0.json +++ b/conformance/vectors/tef8_conformance_v0.json @@ -1,7 +1,7 @@ { "schema": "t27-conformance/v0.1", - "format": "GF-T8", - "ssot": "specs/numeric/gft8.t27", + "format": "TEF8", + "ssot": "specs/numeric/tef8.t27", "anchor_identity": "phi^2 + 1/phi^2 = 3", "anchor_check": { "value": 3.0, @@ -20,8 +20,8 @@ "name": "pos_zero", "input_f64": 0.0, "input_f64_hex": "0x0000000000000000", - "gft8_bits_int": 0, - "gft8_bits_hex": "0x0", + "tef8_bits_int": 0, + "tef8_bits_hex": "0x0", "decoded_f64": 0.0, "decoded_f64_hex": "0x0000000000000000", "abs_error": 0.0, @@ -31,8 +31,8 @@ "name": "pow2_-12", "input_f64": 0.000244140625, "input_f64_hex": "0x3f30000000000000", - "gft8_bits_int": 16, - "gft8_bits_hex": "0x10", + "tef8_bits_int": 16, + "tef8_bits_hex": "0x10", "decoded_f64": 0.000244140625, "decoded_f64_hex": "0x3f30000000000000", "abs_error": 0.0, @@ -42,8 +42,8 @@ "name": "neg_pow2_-12", "input_f64": -0.000244140625, "input_f64_hex": "0xbf30000000000000", - "gft8_bits_int": 528, - "gft8_bits_hex": "0x210", + "tef8_bits_int": 528, + "tef8_bits_hex": "0x210", "decoded_f64": -0.000244140625, "decoded_f64_hex": "0xbf30000000000000", "abs_error": 0.0, @@ -53,8 +53,8 @@ "name": "onehalf_2e-12", "input_f64": 0.0003662109375, "input_f64_hex": "0x3f38000000000000", - "gft8_bits_int": 24, - "gft8_bits_hex": "0x18", + "tef8_bits_int": 24, + "tef8_bits_hex": "0x18", "decoded_f64": 0.0003662109375, "decoded_f64_hex": "0x3f38000000000000", "abs_error": 0.0, @@ -64,8 +64,8 @@ "name": "pow2_-6", "input_f64": 0.015625, "input_f64_hex": "0x3f90000000000000", - "gft8_bits_int": 112, - "gft8_bits_hex": "0x70", + "tef8_bits_int": 112, + "tef8_bits_hex": "0x70", "decoded_f64": 0.015625, "decoded_f64_hex": "0x3f90000000000000", "abs_error": 0.0, @@ -75,8 +75,8 @@ "name": "neg_pow2_-6", "input_f64": -0.015625, "input_f64_hex": "0xbf90000000000000", - "gft8_bits_int": 624, - "gft8_bits_hex": "0x270", + "tef8_bits_int": 624, + "tef8_bits_hex": "0x270", "decoded_f64": -0.015625, "decoded_f64_hex": "0xbf90000000000000", "abs_error": 0.0, @@ -86,8 +86,8 @@ "name": "onehalf_2e-6", "input_f64": 0.0234375, "input_f64_hex": "0x3f98000000000000", - "gft8_bits_int": 120, - "gft8_bits_hex": "0x78", + "tef8_bits_int": 120, + "tef8_bits_hex": "0x78", "decoded_f64": 0.0234375, "decoded_f64_hex": "0x3f98000000000000", "abs_error": 0.0, @@ -97,8 +97,8 @@ "name": "pow2_-1", "input_f64": 0.5, "input_f64_hex": "0x3fe0000000000000", - "gft8_bits_int": 192, - "gft8_bits_hex": "0xc0", + "tef8_bits_int": 192, + "tef8_bits_hex": "0xc0", "decoded_f64": 0.5, "decoded_f64_hex": "0x3fe0000000000000", "abs_error": 0.0, @@ -108,8 +108,8 @@ "name": "neg_pow2_-1", "input_f64": -0.5, "input_f64_hex": "0xbfe0000000000000", - "gft8_bits_int": 704, - "gft8_bits_hex": "0x2c0", + "tef8_bits_int": 704, + "tef8_bits_hex": "0x2c0", "decoded_f64": -0.5, "decoded_f64_hex": "0xbfe0000000000000", "abs_error": 0.0, @@ -119,8 +119,8 @@ "name": "onehalf_2e-1", "input_f64": 0.75, "input_f64_hex": "0x3fe8000000000000", - "gft8_bits_int": 200, - "gft8_bits_hex": "0xc8", + "tef8_bits_int": 200, + "tef8_bits_hex": "0xc8", "decoded_f64": 0.75, "decoded_f64_hex": "0x3fe8000000000000", "abs_error": 0.0, @@ -130,8 +130,8 @@ "name": "pow2_0", "input_f64": 1.0, "input_f64_hex": "0x3ff0000000000000", - "gft8_bits_int": 208, - "gft8_bits_hex": "0xd0", + "tef8_bits_int": 208, + "tef8_bits_hex": "0xd0", "decoded_f64": 1.0, "decoded_f64_hex": "0x3ff0000000000000", "abs_error": 0.0, @@ -141,8 +141,8 @@ "name": "neg_pow2_0", "input_f64": -1.0, "input_f64_hex": "0xbff0000000000000", - "gft8_bits_int": 720, - "gft8_bits_hex": "0x2d0", + "tef8_bits_int": 720, + "tef8_bits_hex": "0x2d0", "decoded_f64": -1.0, "decoded_f64_hex": "0xbff0000000000000", "abs_error": 0.0, @@ -152,8 +152,8 @@ "name": "onehalf_2e0", "input_f64": 1.5, "input_f64_hex": "0x3ff8000000000000", - "gft8_bits_int": 216, - "gft8_bits_hex": "0xd8", + "tef8_bits_int": 216, + "tef8_bits_hex": "0xd8", "decoded_f64": 1.5, "decoded_f64_hex": "0x3ff8000000000000", "abs_error": 0.0, @@ -163,8 +163,8 @@ "name": "pow2_1", "input_f64": 2.0, "input_f64_hex": "0x4000000000000000", - "gft8_bits_int": 224, - "gft8_bits_hex": "0xe0", + "tef8_bits_int": 224, + "tef8_bits_hex": "0xe0", "decoded_f64": 2.0, "decoded_f64_hex": "0x4000000000000000", "abs_error": 0.0, @@ -174,8 +174,8 @@ "name": "neg_pow2_1", "input_f64": -2.0, "input_f64_hex": "0xc000000000000000", - "gft8_bits_int": 736, - "gft8_bits_hex": "0x2e0", + "tef8_bits_int": 736, + "tef8_bits_hex": "0x2e0", "decoded_f64": -2.0, "decoded_f64_hex": "0xc000000000000000", "abs_error": 0.0, @@ -185,8 +185,8 @@ "name": "onehalf_2e1", "input_f64": 3.0, "input_f64_hex": "0x4008000000000000", - "gft8_bits_int": 232, - "gft8_bits_hex": "0xe8", + "tef8_bits_int": 232, + "tef8_bits_hex": "0xe8", "decoded_f64": 3.0, "decoded_f64_hex": "0x4008000000000000", "abs_error": 0.0, @@ -196,8 +196,8 @@ "name": "pow2_6", "input_f64": 64.0, "input_f64_hex": "0x4050000000000000", - "gft8_bits_int": 304, - "gft8_bits_hex": "0x130", + "tef8_bits_int": 304, + "tef8_bits_hex": "0x130", "decoded_f64": 64.0, "decoded_f64_hex": "0x4050000000000000", "abs_error": 0.0, @@ -207,8 +207,8 @@ "name": "neg_pow2_6", "input_f64": -64.0, "input_f64_hex": "0xc050000000000000", - "gft8_bits_int": 816, - "gft8_bits_hex": "0x330", + "tef8_bits_int": 816, + "tef8_bits_hex": "0x330", "decoded_f64": -64.0, "decoded_f64_hex": "0xc050000000000000", "abs_error": 0.0, @@ -218,8 +218,8 @@ "name": "onehalf_2e6", "input_f64": 96.0, "input_f64_hex": "0x4058000000000000", - "gft8_bits_int": 312, - "gft8_bits_hex": "0x138", + "tef8_bits_int": 312, + "tef8_bits_hex": "0x138", "decoded_f64": 96.0, "decoded_f64_hex": "0x4058000000000000", "abs_error": 0.0, @@ -229,8 +229,8 @@ "name": "pow2_12", "input_f64": 4096.0, "input_f64_hex": "0x40b0000000000000", - "gft8_bits_int": 400, - "gft8_bits_hex": "0x190", + "tef8_bits_int": 400, + "tef8_bits_hex": "0x190", "decoded_f64": 4096.0, "decoded_f64_hex": "0x40b0000000000000", "abs_error": 0.0, @@ -240,8 +240,8 @@ "name": "neg_pow2_12", "input_f64": -4096.0, "input_f64_hex": "0xc0b0000000000000", - "gft8_bits_int": 912, - "gft8_bits_hex": "0x390", + "tef8_bits_int": 912, + "tef8_bits_hex": "0x390", "decoded_f64": -4096.0, "decoded_f64_hex": "0xc0b0000000000000", "abs_error": 0.0, @@ -251,8 +251,8 @@ "name": "onehalf_2e12", "input_f64": 6144.0, "input_f64_hex": "0x40b8000000000000", - "gft8_bits_int": 408, - "gft8_bits_hex": "0x198", + "tef8_bits_int": 408, + "tef8_bits_hex": "0x198", "decoded_f64": 6144.0, "decoded_f64_hex": "0x40b8000000000000", "abs_error": 0.0, diff --git a/docs/NOW.md b/docs/NOW.md index 897ab1cf0..81b201846 100644 --- a/docs/NOW.md +++ b/docs/NOW.md @@ -1,3 +1,37 @@ +# NOW -- gfternary restored, and a gate so a glob cannot do that again (2026-08-09) + +Last updated: 2026-08-09 + +## numeric: restore gfternary.t27, alias the former name, gate both (Refs #2001) + +- **`specs/numeric/gfternary.t27` was deleted by my own `rm -f specs/numeric/gft*.t27`** during the TEF rename. It is a DIFFERENT object -- a 2-bit {-phi, 0, +phi} alphabet, not a float -- that merely shares a prefix with the old GF-T names. Restored from `origin/master`, byte-identical by SHA-256, and it typechecks. The same glob had already dropped it from the pack index earlier the same day: twice is a pattern +- **`former_name="GF-T{N}"` on every TEF row.** Renaming the ladder does not retract its measurements: arXiv:2606.05017 and arXiv:2606.09686 cite GF-T, and it labels every published comparison against takum / tekum / posit. The old name stays searchable, and the catalog header says why +- New gate `tools/check_catalog_integrity.py`: every `source=` resolves, the three prefix-sharing neighbours (`gfternary`, the binary `gf*` ladder, the `tef*` ladder) are each present **on disk** and distinct, and the former name is still there. Verified red on each of those failures individually, not just green on the happy path +- The catalog row alone was never enough -- `gfternary`'s row survived while its spec file did not, and nothing noticed + +# NOW -- the ladder is named TEF, and NVIDIA keeps tf32 (2026-08-09) + +Last updated: 2026-08-09 + +## numeric: GF-T -> TEF (Ternary-Exponent Float), nine rungs (Refs #2001) + +- "GF" claimed a lineage the format does not have: GF sizes its exponent by `e = round((N-1)/phi^2)`, putting `e/m` at `1/phi` by construction, while this ladder sizes its exponent for RANGE and takes `M = N-1-E_t` -- its phi-distance RISES toward `1/phi`. The last tie to GF16, an inherited `M = 9`, was severed when the 16-bit rung went to `M = 11` +- TEF says exactly what is true and nothing more: the exponent FIELD is balanced ternary, the radix is BINARY. A genuine ternary-radix float (`3^e`, as Ternary27) measures 0.331 positions per number WORSE at equal width, so claiming a ternary radix would claim the thing this format deliberately declines +- An intermediate pass named the ladder TF; that collided head-on with NVIDIA TensorFloat-32, which holds `id=tf32` and the file `tf32_conformance_v0.json`. TEF removes the collision entirely: **NVIDIA keeps `tf32`, its file and its name, byte-identical** (verified by hash against the pre-rename tree) +- `specs/numeric/tef*.t27`, catalog ids `tefN`, modules `triformat_tefN`, packs `tef*_conformance_v0.json` +- Gates: catalog count SSOT == fresh regen == 92; WP-18 CLEAN; t27c clean on all nine TEF specs + +# NOW -- the ladder is renamed GF-T -> TF (2026-08-09) + +Last updated: 2026-08-09 + +## numeric: GF-T becomes TF (Ternary Float), nine rungs (Refs #2001) + +- "GF" claimed a lineage the format does not have. GF sizes its exponent by `e = round((N-1)/phi^2)`, which puts `e/m` at `1/phi` by construction; this ladder sizes its exponent for RANGE and takes `M = N-1-E_t`, and its phi-distance RISES toward `1/phi` as N grows. The last tie to GF16 -- an inherited `M = 9` -- was severed when gft16 went to `M = 11` +- Renamed throughout: `specs/numeric/gft*.t27` -> `tf*.t27`, catalog ids `gftN` -> `tfN`, module `triformat_gftN` -> `triformat_tfN`, conformance packs and INDEX entries +- **NVIDIA TensorFloat-32 held `id=tf32` and the file `tf32_conformance_v0.json`.** Its internal id moves to `tensorfloat32` and its pack to `tensorfloat32_conformance_v0.json`; its human-readable `name="TensorFloat-32 (TF32)"` is unchanged, because that is NVIDIA's name and not ours to alter. I overwrote its pack during the rename and restored it from git -- the WP-18 gate caught it as a sha drift, which is the gate working +- Gates: catalog count SSOT == fresh regen == 92; WP-18 CLEAN; t27c clean on all nine TF specs + # NOW -- GF-T16 spends its last two positions (2026-08-09) Last updated: 2026-08-09 diff --git a/docs/NUMERIC_FORMATS_SSOT.md b/docs/NUMERIC_FORMATS_SSOT.md index a0fea2216..52f9be054 100644 --- a/docs/NUMERIC_FORMATS_SSOT.md +++ b/docs/NUMERIC_FORMATS_SSOT.md @@ -146,9 +146,9 @@ Two **distinct** objects — do not conflate (the spec is authoritative): (binary128-range φ). NOT CLAIMED. -### 4a. GF-T — the ternary-EXPONENT ladder (distinct from both of the above) +### 4a. TF — the ternary-EXPONENT ladder (distinct from both of the above) -A **third** ternary object, and the one most often confused with GFTernary. GF-T +A **third** ternary object, and the one most often confused with GFTernary. TF is not a ternary alphabet: it is an ordinary binary-radix float whose **exponent field is a balanced-ternary integer** of `E_t` trits, with a constant `M`-bit mantissa and fixed fields. @@ -163,7 +163,7 @@ quantised over `[1,r)` the mean relative error is `kappa(r) * 2^-M` with buys 0.42 of range, a net loss of 0.33 positions per number. **Width rule:** `1 + E_t + M = N`, counting one position per trit. Eight of the -nine rungs satisfy it exactly. GF-T16 does not — it inherits GF16's phi-optimal +nine rungs satisfy it exactly. TEF16 does not — it inherits GF16's phi-optimal `M = 9` and replaces GF16's six-bit exponent with four trits, leaving two positions unallocated. Spending them as `M = 11` divides the error by 4.00 at unchanged range for 19% more LUTs and no loss of frequency (measured, XC7A200T). @@ -173,37 +173,37 @@ decision stays explicit. | Format | S+E+M | Bits | \|e\| max | Decades | E_t bits-equiv | φ-distance | Fits rule | Post-route XC7A200T | Spec | |---|---|---|---|---|---|---|---|---|---| -| GF-T4 | 1+2t+1 | 4 | 4 | 2 | 3.17 | 2.552 | **yes** | 12 LUT / 161.1 MHz | [`gft4.t27`](../specs/numeric/gft4.t27) | -| GF-T8 | 1+3t+4 | 8 | 13 | 8 | 4.75 | 0.571 | **yes** | 50 / 153.2 | [`gft8.t27`](../specs/numeric/gft8.t27) | -| GF-T16 | 1+4t+9 | 16 | 40 | 24 | 6.34 | 0.086 | **no (2 unallocated)** | 212 / 131.7 | [`gft16.t27`](../specs/numeric/gft16.t27) | -| GF-T32 | 1+6t+25 | 32 | 364 | 219 | 9.51 | 0.238 | **yes** | 1477 / 83.3 | [`gft32.t27`](../specs/numeric/gft32.t27) | -| GF-T64 | 1+7t+56 | 64 | 1093 | 658 | 11.09 | 0.420 | **yes** | 7479 / 48.2 | [`gft64.t27`](../specs/numeric/gft64.t27) | -| GF-T128 | 1+8t+119 | 128 | 3280 | 1975 | 12.68 | 0.511 | **yes** | — | [`gft128.t27`](../specs/numeric/gft128.t27) | -| GF-T256 | 1+9t+246 | 256 | 9841 | 5925 | 14.26 | 0.560 | **yes** | — | [`gft256.t27`](../specs/numeric/gft256.t27) | -| GF-T512 | 1+10t+501 | 512 | 29524 | 17775 | 15.85 | 0.586 | **yes** | — | [`gft512.t27`](../specs/numeric/gft512.t27) | -| GF-T1024 | 1+11t+1012 | 1024 | 88573 | 53326 | 17.43 | 0.601 | **yes** | — | [`gft1024.t27`](../specs/numeric/gft1024.t27) | +| TEF4 | 1+2t+1 | 4 | 4 | 2 | 3.17 | 2.552 | **yes** | 12 LUT / 161.1 MHz | [`tef4.t27`](../specs/numeric/tef4.t27) | +| TEF8 | 1+3t+4 | 8 | 13 | 8 | 4.75 | 0.571 | **yes** | 50 / 153.2 | [`tef8.t27`](../specs/numeric/tef8.t27) | +| TEF16 | 1+4t+9 | 16 | 40 | 24 | 6.34 | 0.086 | **no (2 unallocated)** | 212 / 131.7 | [`tef16.t27`](../specs/numeric/tef16.t27) | +| TEF32 | 1+6t+25 | 32 | 364 | 219 | 9.51 | 0.238 | **yes** | 1477 / 83.3 | [`tef32.t27`](../specs/numeric/tef32.t27) | +| TEF64 | 1+7t+56 | 64 | 1093 | 658 | 11.09 | 0.420 | **yes** | 7479 / 48.2 | [`tef64.t27`](../specs/numeric/tef64.t27) | +| TEF128 | 1+8t+119 | 128 | 3280 | 1975 | 12.68 | 0.511 | **yes** | — | [`tef128.t27`](../specs/numeric/tef128.t27) | +| TEF256 | 1+9t+246 | 256 | 9841 | 5925 | 14.26 | 0.560 | **yes** | — | [`tef256.t27`](../specs/numeric/tef256.t27) | +| TEF512 | 1+10t+501 | 512 | 29524 | 17775 | 15.85 | 0.586 | **yes** | — | [`tef512.t27`](../specs/numeric/tef512.t27) | +| TEF1024 | 1+11t+1012 | 1024 | 88573 | 53326 | 17.43 | 0.601 | **yes** | — | [`tef1024.t27`](../specs/numeric/tef1024.t27) | **Reading the φ-distance column.** It is the catalog's own `|E/M - 1/φ|` computed on the exponent's bit-equivalent `E_t*log2(3)`, and it **rises toward 1/φ as N grows**. That is structural rather than a defect. GF sizes its exponent by -`e = round((N-1)/φ²)`, which puts `E/M` at `1/φ` by construction; GF-T sizes its +`e = round((N-1)/φ²)`, which puts `E/M` at `1/φ` by construction; TF sizes its exponent for **range** and takes `M = N-1-E_t`. The two ladders optimise different -axes, and GF-T should not be read as a worse GF. +axes, and TF should not be read as a worse GF. -**What the fixed field buys, measured.** GF-T has no regime codec at all. Under one +**What the fixed field buys, measured.** TF has no regime codec at all. Under one harness on XC7A200T, net of a 24-LUT harness, a unary regime codec (posit class) costs 438 LUTs round trip and a length-prefixed one (takum class) 40, against 0 here. Converting through the measured area law `A(M) = 141 + 2.4455*M^2`, whose derivative `λ = 4.891*M` is the marginal LUT cost of a mantissa bit, the unary regime is **9.95 mantissa bits of silicon** at the 16-bit class — more than -GF-T16's entire mantissa — and 1.00 at `M = 90`. The length-prefixed regime is +TEF16's entire mantissa — and 1.00 at `M = 90`. The length-prefixed regime is 0.91 bits and 0.09. The area argument is therefore decisive against posit and weak against takum, and is stated that way rather than averaged. **What it does not buy.** By Kraft's inequality no prefix code on the integers has `l(e) < log2|e|` for all but finitely many `e`, so no format of unbounded range tapers more gently than one bit per doubling: takum's regime is asymptotically -optimal and **nothing, GF-T included, beats it beyond GF-T's own range**. The +optimal and **nothing, TF included, beats it beyond TF's own range**. The measured 2.83x and 5.46x against takum16 at mid and far magnitudes hold inside that range and must never be quoted without it. diff --git a/specs/numeric/formats_catalog.t27 b/specs/numeric/formats_catalog.t27 index 864e58d34..3291eaccb 100644 --- a/specs/numeric/formats_catalog.t27 +++ b/specs/numeric/formats_catalog.t27 @@ -271,7 +271,7 @@ module FormatsCatalog { // CATALOG: id=gf1024 name="GF1024 (rule-derived)" bits=1024 s=1 e=391 m=632 bias=2^390-1 phi_distance=0.0006 storage=u1024_software cluster=GoldenFloat status=Open standard="this work; rule e=round(1023/phi^2)=391; lowest phi-distance in the ladder" use_case="OPEN R&D: limit-of-ladder phi alignment (extrapolation, no RTL)" gf_relation=experimental source="specs/numeric/gf1024.t27" // --------------------------------------------------------------------- - // GF-T -- the ternary-EXPONENT ladder. Distinct from GFTernary (a 2-bit + // TEF -- Ternary-Exponent Float. The exponent FIELD is balanced ternary; Distinct from GFTernary (a 2-bit // {-phi, 0, +phi} alphabet) and from the binary GF ladder above. // // Two fields below need reading with care: @@ -281,18 +281,18 @@ module FormatsCatalog { // bit-equivalent. It rises toward 1/phi = 0.618 as N grows, and that // is structural rather than a defect: GF sizes its exponent by // e = round((N-1)/phi^2), which puts e/m at 1/phi by construction, - // while GF-T sizes its exponent for RANGE and takes M = N-1-Et. + // while TEF sizes its exponent for RANGE and takes M = N-1-Et. // The two ladders optimise different axes; the field makes it visible. // --------------------------------------------------------------------- - // CATALOG: id=gft4 name="GF-T4" bits=4 s=1 e=2 m=1 bias=4 phi_distance=2.552 storage=u4 cluster=GoldenFloat status=Verified standard="this work; e is 2 balanced-ternary TRITS not bits (3.17 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 12 LUT 161.1 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft4.t27" - // CATALOG: id=gft8 name="GF-T8" bits=8 s=1 e=3 m=4 bias=13 phi_distance=0.571 storage=u8 cluster=GoldenFloat status=Verified standard="this work; e is 3 balanced-ternary TRITS not bits (4.75 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 50 LUT 153.2 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft8.t27" - // CATALOG: id=gft16 name="GF-T16" bits=16 s=1 e=4 m=11 bias=40 phi_distance=0.086 storage=u16 cluster=GoldenFloat status=Verified standard="this work; e is 4 balanced-ternary TRITS not bits (6.34 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 212 LUT 131.7 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft16.t27" - // CATALOG: id=gft32 name="GF-T32" bits=32 s=1 e=6 m=25 bias=364 phi_distance=0.238 storage=u32 cluster=GoldenFloat status=Verified standard="this work; e is 6 balanced-ternary TRITS not bits (9.51 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 1477 LUT 83.3 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft32.t27" - // CATALOG: id=gft64 name="GF-T64" bits=64 s=1 e=7 m=56 bias=1093 phi_distance=0.420 storage=u64 cluster=GoldenFloat status=Verified standard="this work; e is 7 balanced-ternary TRITS not bits (11.09 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 7479 LUT 48.2 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft64.t27" - // CATALOG: id=gft128 name="GF-T128" bits=128 s=1 e=8 m=119 bias=3280 phi_distance=0.511 storage=u128 cluster=GoldenFloat status=Open standard="this work; e is 8 balanced-ternary TRITS not bits (12.68 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft128.t27" - // CATALOG: id=gft256 name="GF-T256" bits=256 s=1 e=9 m=246 bias=9841 phi_distance=0.560 storage=u256_software cluster=GoldenFloat status=Open standard="this work; e is 9 balanced-ternary TRITS not bits (14.26 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft256.t27" - // CATALOG: id=gft512 name="GF-T512" bits=512 s=1 e=10 m=501 bias=29524 phi_distance=0.586 storage=u512_software cluster=GoldenFloat status=Open standard="this work; e is 10 balanced-ternary TRITS not bits (15.85 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft512.t27" - // CATALOG: id=gft1024 name="GF-T1024" bits=1024 s=1 e=11 m=1012 bias=88573 phi_distance=0.601 storage=u1024_software cluster=GoldenFloat status=Open standard="this work; e is 11 balanced-ternary TRITS not bits (17.43 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/gft1024.t27" + // CATALOG: id=tef4 name="TEF4" bits=4 s=1 e=2 m=1 bias=4 phi_distance=2.552 storage=u4 cluster=GoldenFloat status=Verified standard="this work; e is 2 balanced-ternary TRITS not bits (3.17 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 12 LUT 161.1 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef4.t27" + // CATALOG: id=tef8 name="TEF8" bits=8 s=1 e=3 m=4 bias=13 phi_distance=0.571 storage=u8 cluster=GoldenFloat status=Verified standard="this work; e is 3 balanced-ternary TRITS not bits (4.75 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 50 LUT 153.2 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef8.t27" + // CATALOG: id=tef16 name="TEF16" former_name="GF-T16" bits=16 s=1 e=4 m=11 bias=40 phi_distance=0.086 storage=u16 cluster=GoldenFloat status=Verified standard="this work; e is 4 balanced-ternary TRITS not bits (6.34 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 212 LUT 131.7 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef16.t27" + // CATALOG: id=tef32 name="TEF32" bits=32 s=1 e=6 m=25 bias=364 phi_distance=0.238 storage=u32 cluster=GoldenFloat status=Verified standard="this work; e is 6 balanced-ternary TRITS not bits (9.51 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 1477 LUT 83.3 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef32.t27" + // CATALOG: id=tef64 name="TEF64" bits=64 s=1 e=7 m=56 bias=1093 phi_distance=0.420 storage=u64 cluster=GoldenFloat status=Verified standard="this work; e is 7 balanced-ternary TRITS not bits (11.09 bits equivalent); width rule 1+Et+M=N; post-route XC7A200T 7479 LUT 48.2 MHz, no DSP, 1 cycle" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef64.t27" + // CATALOG: id=tef128 name="TEF128" bits=128 s=1 e=8 m=119 bias=3280 phi_distance=0.511 storage=u128 cluster=GoldenFloat status=Open standard="this work; e is 8 balanced-ternary TRITS not bits (12.68 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef128.t27" + // CATALOG: id=tef256 name="TEF256" bits=256 s=1 e=9 m=246 bias=9841 phi_distance=0.560 storage=u256_software cluster=GoldenFloat status=Open standard="this work; e is 9 balanced-ternary TRITS not bits (14.26 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef256.t27" + // CATALOG: id=tef512 name="TEF512" bits=512 s=1 e=10 m=501 bias=29524 phi_distance=0.586 storage=u512_software cluster=GoldenFloat status=Open standard="this work; e is 10 balanced-ternary TRITS not bits (15.85 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef512.t27" + // CATALOG: id=tef1024 name="TEF1024" bits=1024 s=1 e=11 m=1012 bias=88573 phi_distance=0.601 storage=u1024_software cluster=GoldenFloat status=Open standard="this work; e is 11 balanced-ternary TRITS not bits (17.43 bits equivalent); width rule 1+Et+M=N; derived from the width rule; not synthesised" use_case="fixed-field ternary-exponent ladder; no regime codec" gf_relation=self source="specs/numeric/tef1024.t27" fn gf1024() -> str { return "gf1024"; } // GF hybrids / experimental compositions (Section 12.5). diff --git a/specs/numeric/gft1024.t27 b/specs/numeric/tef1024.t27 similarity index 93% rename from specs/numeric/gft1024.t27 rename to specs/numeric/tef1024.t27 index 18ffd2b0d..0d2db2fae 100644 --- a/specs/numeric/gft1024.t27 +++ b/specs/numeric/tef1024.t27 @@ -1,8 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 -// gft1024.t27 -- GF-T1024: ternary-native GoldenFloat, 1024-bit class. +// tef1024.t27 -- TEF1024: Ternary-Exponent Float, 1024-bit class. // // Derived from the ladder's width rule 1 + E_t + M = N, counting one position -// per trit -- the rule GF-T4, GF-T8 and GF-T32 already satisfy exactly. A +// per trit -- the rule TF4, TF8 and TF32 already satisfy exactly. A // research note (trinity-fpga/research/GF_T_GOLD_STANDARD_LADDER_2026-08-05.md) // carries a different mantissa width for this rung; it falls short of the // declared width and is superseded by this file. @@ -14,7 +14,7 @@ // unsigned OFFSET in [0,177146]; balanced exponent e = offset - 88573. // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft1024 { +module triformat_tef1024 { use base::types; const SIGN_BITS: u32 = 1; diff --git a/specs/numeric/gft128.t27 b/specs/numeric/tef128.t27 similarity index 93% rename from specs/numeric/gft128.t27 rename to specs/numeric/tef128.t27 index f4eb61bea..96b705dee 100644 --- a/specs/numeric/gft128.t27 +++ b/specs/numeric/tef128.t27 @@ -1,8 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 -// gft128.t27 -- GF-T128: ternary-native GoldenFloat, 128-bit class. +// tef128.t27 -- TEF128: Ternary-Exponent Float, 128-bit class. // // Derived from the ladder's width rule 1 + E_t + M = N, counting one position -// per trit -- the rule GF-T4, GF-T8 and GF-T32 already satisfy exactly. A +// per trit -- the rule TF4, TF8 and TF32 already satisfy exactly. A // research note (trinity-fpga/research/GF_T_GOLD_STANDARD_LADDER_2026-08-05.md) // carries a different mantissa width for this rung; it falls short of the // declared width and is superseded by this file. @@ -14,7 +14,7 @@ // unsigned OFFSET in [0,6560]; balanced exponent e = offset - 3280. // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft128 { +module triformat_tef128 { use base::types; const SIGN_BITS: u32 = 1; diff --git a/specs/numeric/gft16.t27 b/specs/numeric/tef16.t27 similarity index 97% rename from specs/numeric/gft16.t27 rename to specs/numeric/tef16.t27 index 8d824a837..12ace58ff 100644 --- a/specs/numeric/gft16.t27 +++ b/specs/numeric/tef16.t27 @@ -1,5 +1,5 @@ // SPDX-License-Identifier: Apache-2.0 -// gft16.t27 -- GF-T16: ternary-native GoldenFloat. +// tef16.t27 -- TEF16: Ternary-Exponent Float. // // A fixed-field GoldenFloat whose EXPONENT is a balanced-ternary number, built to // beat tekum16 on a ternary fabric: no regime decode (tekum16's main cost), the @@ -14,7 +14,7 @@ // 2026-08-05): beats tekum16 3x at mid range and 5.5x at far range, 0 clipping. // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft16 { +module triformat_tef16 { use base::types; const SIGN_BITS: u32 = 1; diff --git a/specs/numeric/gft256.t27 b/specs/numeric/tef256.t27 similarity index 93% rename from specs/numeric/gft256.t27 rename to specs/numeric/tef256.t27 index 805b43da5..c99ba5b6a 100644 --- a/specs/numeric/gft256.t27 +++ b/specs/numeric/tef256.t27 @@ -1,8 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 -// gft256.t27 -- GF-T256: ternary-native GoldenFloat, 256-bit class. +// tef256.t27 -- TEF256: Ternary-Exponent Float, 256-bit class. // // Derived from the ladder's width rule 1 + E_t + M = N, counting one position -// per trit -- the rule GF-T4, GF-T8 and GF-T32 already satisfy exactly. A +// per trit -- the rule TF4, TF8 and TF32 already satisfy exactly. A // research note (trinity-fpga/research/GF_T_GOLD_STANDARD_LADDER_2026-08-05.md) // carries a different mantissa width for this rung; it falls short of the // declared width and is superseded by this file. @@ -14,7 +14,7 @@ // unsigned OFFSET in [0,19682]; balanced exponent e = offset - 9841. // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft256 { +module triformat_tef256 { use base::types; const SIGN_BITS: u32 = 1; diff --git a/specs/numeric/gft32.t27 b/specs/numeric/tef32.t27 similarity index 90% rename from specs/numeric/gft32.t27 rename to specs/numeric/tef32.t27 index 37923742f..c2005c720 100644 --- a/specs/numeric/gft32.t27 +++ b/specs/numeric/tef32.t27 @@ -1,6 +1,6 @@ // SPDX-License-Identifier: Apache-2.0 -// gft32.t27 -- GF-T32: ternary-native GoldenFloat, 32-bit class. -// Top practical rung of the GF-T ladder. Balanced-ternary exponent = 6 trits +// tef32.t27 -- TEF32: Ternary-Exponent Float, 32-bit class. +// Top practical rung of the TF ladder. Balanced-ternary exponent = 6 trits // (3^6 = 729 offsets, exponent +-364, ~219 decades), phi-ish 25-bit mantissa, // NO regime decode. The direct ternary rival to tekum-32 / takum32: fixed fields, // native balanced-ternary exponent add, uniform high-precision mantissa vs the @@ -8,7 +8,7 @@ // layout: [ sign(1) | E = 6 balanced-ternary trits | M = 25 bits ] // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft32 { +module triformat_tef32 { use base::types; const EXP_TRITS: u32 = 6; diff --git a/specs/numeric/gft4.t27 b/specs/numeric/tef4.t27 similarity index 85% rename from specs/numeric/gft4.t27 rename to specs/numeric/tef4.t27 index 899872642..718a206fb 100644 --- a/specs/numeric/gft4.t27 +++ b/specs/numeric/tef4.t27 @@ -1,18 +1,18 @@ // SPDX-License-Identifier: Apache-2.0 -// gft4.t27 -- GF-T4: ternary-native GoldenFloat, 4-bit class (bottom rung). +// tef4.t27 -- TEF4: Ternary-Exponent Float, 4-bit class (bottom rung). // Balanced-ternary exponent = 2 trits (3^2 = 9 offsets, exponent +-4, ~2.4 // decades), 1-bit mantissa, NO regime decode. // layout: [ sign(1) | E = 2 balanced-ternary trits | M = 1 bit ] // // Positioning (the 4-bit rung is unique): the format-to-beat here is NOT tekum // but **BitNet-1.58 ternary WEIGHTS** {-1,0,+1} -- a weight quantizer, not a real -// format. GF-T4 is a genuine 4-bit REAL number (magnitude + ~2.4-decade range), +// format. TEF4 is a genuine 4-bit REAL number (magnitude + ~2.4-decade range), // so it plays the ACTIVATION/value role next to BitNet's weight role, exactly as -// tri_compute_bitnet.t27 attests (ternary weights x GF/GF-T activations). Against +// tri_compute_bitnet.t27 attests (ternary weights x GF/TF activations). Against // the binary 4-bit leader MXFP4 it trades block-scale range for a native ternary // exponent and no block-decode. phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft4 { +module triformat_tef4 { use base::types; const EXP_TRITS: u32 = 2; diff --git a/specs/numeric/gft512.t27 b/specs/numeric/tef512.t27 similarity index 93% rename from specs/numeric/gft512.t27 rename to specs/numeric/tef512.t27 index 2f7b0eed8..1123403f1 100644 --- a/specs/numeric/gft512.t27 +++ b/specs/numeric/tef512.t27 @@ -1,8 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 -// gft512.t27 -- GF-T512: ternary-native GoldenFloat, 512-bit class. +// tef512.t27 -- TEF512: Ternary-Exponent Float, 512-bit class. // // Derived from the ladder's width rule 1 + E_t + M = N, counting one position -// per trit -- the rule GF-T4, GF-T8 and GF-T32 already satisfy exactly. A +// per trit -- the rule TF4, TF8 and TF32 already satisfy exactly. A // research note (trinity-fpga/research/GF_T_GOLD_STANDARD_LADDER_2026-08-05.md) // carries a different mantissa width for this rung; it falls short of the // declared width and is superseded by this file. @@ -14,7 +14,7 @@ // unsigned OFFSET in [0,59048]; balanced exponent e = offset - 29524. // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft512 { +module triformat_tef512 { use base::types; const SIGN_BITS: u32 = 1; diff --git a/specs/numeric/gft64.t27 b/specs/numeric/tef64.t27 similarity index 93% rename from specs/numeric/gft64.t27 rename to specs/numeric/tef64.t27 index c101761aa..8627fe9d7 100644 --- a/specs/numeric/gft64.t27 +++ b/specs/numeric/tef64.t27 @@ -1,8 +1,8 @@ // SPDX-License-Identifier: Apache-2.0 -// gft64.t27 -- GF-T64: ternary-native GoldenFloat, 64-bit class. +// tef64.t27 -- TEF64: Ternary-Exponent Float, 64-bit class. // // Derived from the ladder's width rule 1 + E_t + M = N, counting one position -// per trit -- the rule GF-T4, GF-T8 and GF-T32 already satisfy exactly. A +// per trit -- the rule TF4, TF8 and TF32 already satisfy exactly. A // research note (trinity-fpga/research/GF_T_GOLD_STANDARD_LADDER_2026-08-05.md) // carries a different mantissa width for this rung; it falls short of the // declared width and is superseded by this file. @@ -14,7 +14,7 @@ // unsigned OFFSET in [0,2186]; balanced exponent e = offset - 1093. // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft64 { +module triformat_tef64 { use base::types; const SIGN_BITS: u32 = 1; diff --git a/specs/numeric/gft8.t27 b/specs/numeric/tef8.t27 similarity index 88% rename from specs/numeric/gft8.t27 rename to specs/numeric/tef8.t27 index d36d1b297..5ccac9857 100644 --- a/specs/numeric/gft8.t27 +++ b/specs/numeric/tef8.t27 @@ -1,13 +1,13 @@ // SPDX-License-Identifier: Apache-2.0 -// gft8.t27 -- GF-T8: ternary-native GoldenFloat, 8-bit class. -// Rung of the GF-T ladder (GF-T4/8/16/32). Balanced-ternary exponent = 3 trits +// tef8.t27 -- TEF8: Ternary-Exponent Float, 8-bit class. +// Rung of the TF ladder (TF4/8/16/32). Balanced-ternary exponent = 3 trits // (3^3 = 27 offsets, exponent +-13, ~8 decades), phi-ish 4-bit mantissa, NO -// regime decode. Beats tekum-8 by the same structural argument as GF-T16 beats +// regime decode. Beats tekum-8 by the same structural argument as TF16 beats // tekum16: fixed fields + native balanced-ternary exponent add, uniform mantissa. // layout: [ sign(1) | E = 3 balanced-ternary trits | M = 4 bits ] // phi^2 + 1/phi^2 = 3 | TRINITY -module triformat_gft8 { +module triformat_tef8 { use base::types; const EXP_TRITS: u32 = 3; diff --git a/tools/check_catalog_integrity.py b/tools/check_catalog_integrity.py new file mode 100644 index 000000000..6a6ea9e20 --- /dev/null +++ b/tools/check_catalog_integrity.py @@ -0,0 +1,67 @@ +#!/usr/bin/env python3 +"""Catalog integrity: every source= resolves, and the three phi-family neighbours +are all present and distinct. + +Written after a glob of `gft*` deleted specs/numeric/gfternary.t27 -- a 2-bit +{-phi, 0, +phi} alphabet, an entirely different object from the TEF ladder that +merely shares a prefix. The same glob had already dropped gfternary from the pack +index a few hours earlier. Twice is a pattern, so it gets a gate. + +Exits non-zero on any failure. +""" +import pathlib +import re +import sys + +ROOT = pathlib.Path(__file__).resolve().parent.parent +SSOT = ROOT / "specs/numeric/formats_catalog.t27" + + +def main(): + text = SSOT.read_text(encoding="utf-8") + rows = re.findall(r"// CATALOG: (.+)", text) + problems = [] + + # 1. Every source= that names a spec file must resolve. + for row in rows: + for path in re.findall(r'(specs/numeric/[A-Za-z0-9_]+\.t27)', row): + if not (ROOT / path).exists(): + ident = re.search(r"id=(\S+)", row) + problems.append(f"DANGLING {ident.group(1) if ident else '?'} -> {path}") + + # 2. The three neighbours that share a prefix must all be present. + ids = set(re.findall(r"id=(\S+)", text)) + for want, spec, why in [ + ("gfternary", "gfternary.t27", "2-bit {-phi, 0, +phi} alphabet"), + ("gf16", "gf16.t27", "binary GoldenFloat ladder"), + ("tef16", "tef16.t27", "ternary-exponent float ladder"), + ]: + if want not in ids: + problems.append(f"MISSING id={want} from the catalog ({why})") + # The catalog row is not enough: the spec file itself must be on disk. + # A glob deleted gfternary.t27 while its row stayed, and nothing noticed. + if not (ROOT / "specs/numeric" / spec).exists(): + problems.append(f"MISSING specs/numeric/{spec} on disk ({why})") + + # 3. They must be distinct families, not aliases of one another. + tef = {i for i in ids if re.fullmatch(r"tef\d+", i)} + gf = {i for i in ids if re.fullmatch(r"gf\d+", i)} + if not tef or not gf or tef & gf: + problems.append(f"COLLAPSED tef={len(tef)} gf={len(gf)} overlap={sorted(tef & gf)}") + + # 4. The former name must stay searchable: renaming is not retraction. + if 'former_name="GF-T16"' not in text: + problems.append('LOST former_name="GF-T16" (arXiv cites the old name)') + + if problems: + for p in problems: + print(p) + print(f"FAIL: {len(problems)} problem(s)") + return 1 + print(f"OK: {len(rows)} catalog rows, every source= resolves, " + f"{len(gf)} GF + {len(tef)} TEF + gfternary all present and distinct") + return 0 + + +if __name__ == "__main__": + sys.exit(main())