aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJ08nY2025-07-30 12:35:05 +0200
committerJ08nY2025-07-30 12:35:05 +0200
commitcf38aed05f3dc15bd1ed375859e67526f6fcb079 (patch)
tree4f0f209960ee7bf33d05e3953dd291209eb0bee8
parentf4f72f37f4bea622a7955cfdab0dd1a2f5fc981f (diff)
downloadECTester-cf38aed05f3dc15bd1ed375859e67526f6fcb079.tar.gz
ECTester-cf38aed05f3dc15bd1ed375859e67526f6fcb079.tar.zst
ECTester-cf38aed05f3dc15bd1ed375859e67526f6fcb079.zip
Garbage test in formulas.
-rw-r--r--analysis/scalarmults/formulas.ipynb78
1 files changed, 72 insertions, 6 deletions
diff --git a/analysis/scalarmults/formulas.ipynb b/analysis/scalarmults/formulas.ipynb
index 9b16ee5..576da1e 100644
--- a/analysis/scalarmults/formulas.ipynb
+++ b/analysis/scalarmults/formulas.ipynb
@@ -12,13 +12,14 @@
},
{
"cell_type": "code",
- "execution_count": 1,
+ "execution_count": 21,
"id": "09d92ba3-ede4-40c3-a061-a9c328e26fb5",
"metadata": {},
"outputs": [],
"source": [
"import io\n",
"import json\n",
+ "import random\n",
"\n",
"from pprint import pprint\n",
"import tabulate\n",
@@ -102,7 +103,7 @@
},
{
"cell_type": "code",
- "execution_count": 10,
+ "execution_count": 26,
"id": "e045a4cf-97db-4a2f-a191-582987f6473d",
"metadata": {},
"outputs": [
@@ -145,6 +146,8 @@
" r1r2_aff = params.curve.affine_add(r1_aff, r2_aff)\n",
" r1r2 = r1r2_aff.to_model(coords, params.curve)\n",
" zeros = Point(coords, **{var: mod(0, p) for var in coords.variables})\n",
+ " random.seed(hash(r1_aff) + hash(r2_aff))\n",
+ " garbage = Point(coords, **{var: mod(random.randint(0, p), p) for var in coords.variables})\n",
"\n",
" adds = set(formula for formula in coords.formulas.values() if formula.shortname == \"add\")\n",
" dbls = set(formula for formula in coords.formulas.values() if formula.shortname == \"dbl\")\n",
@@ -166,6 +169,9 @@
" ZerospP = add(p, zeros, orderbig, **params.curve.parameters)[0]\n",
" # P1 + P2 = ? such that P1 - P2 = ord2\n",
" PpQord2 = add(p, r1, r2, **params.curve.parameters)[0]\n",
+ " # P + garbage = ?\n",
+ " PpGarbage = add(p, orderbig, garbage, **params.curve.parameters)[0]\n",
+ " GarbagepP = add(p, garbage, orderbig, **params.curve.parameters)[0]\n",
" res[\"PpP\"] = eval_test(orderbig2, PpP, params.curve)\n",
" res[\"PpInfty\"] = eval_test(orderbig, PpInfty, params.curve)\n",
" res[\"InftypP\"] = eval_test(orderbig, InftypP, params.curve)\n",
@@ -175,15 +181,19 @@
" res[\"PpZeros\"] = eval_test(None, PpZeros, params.curve)\n",
" res[\"ZerospP\"] = eval_test(None, ZerospP, params.curve)\n",
" res[\"PpQDifford2\"] = eval_test(r1r2, PpQord2, params.curve)\n",
+ " res[\"PpGarbage\"] = eval_test(None, PpGarbage, params.curve)\n",
+ " res[\"GarbagepP\"] = eval_test(None, GarbagepP, params.curve)\n",
" for dbl in dbls:\n",
" res = {}\n",
" results_dbl[coords_name][dbl.name] = res\n",
" O2twice = dbl(p, order2, **params.curve.parameters)[0]\n",
" Inftytwice = dbl(p, infty, **params.curve.parameters)[0]\n",
" Zerostwice = dbl(p, zeros, **params.curve.parameters)[0]\n",
+ " Garbagetwice = dbl(p, garbage, **params.curve.parameters)[0]\n",
" res[\"O2twice\"] = eval_test(infty, O2twice, params.curve)\n",
" res[\"Inftytwice\"] = eval_test(infty, Inftytwice, params.curve)\n",
- " res[\"Zerostwice\"] = eval_test(None, Zerostwice, params.curve)"
+ " res[\"Zerostwice\"] = eval_test(None, Zerostwice, params.curve)\n",
+ " res[\"Garbagetwice\"] = eval_test(None, Garbagetwice, params.curve)"
]
},
{
@@ -216,12 +226,13 @@
" `add-2002-bj, add-2007-bl, add-2015-rcb, madd-2015-rcb`\n",
" - `P + -P = infty` and `-P + P = infty`: All correct, no zeros, no affine, on curve.\n",
" - `zeros + P = ?` and `P + zeros = ?`: Three behavior classes, in one, the zeros propagate, in another the formula makes up an affine point that is not zeros but is not on the curve. In the final class, the formula makes up some point that is neither zeros, nor affine nor on the curve. These cases happen for the `madd`/`zadd` variants.\n",
- " - `P + Q = ?, where P - Q = Ord2`: The exceptional case for (otherwise complete) RCB formulas."
+ " - `P + Q = ?, where P - Q = Ord2`: The exceptional case for (otherwise complete) RCB formulas.\n",
+ " - `P + garbage = ?` and `garbage + P = ?`:"
]
},
{
"cell_type": "code",
- "execution_count": 20,
+ "execution_count": 28,
"id": "d0928c16-9688-4d65-a559-5895d1b7c85b",
"metadata": {
"editable": true,
@@ -263,6 +274,8 @@
"<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1998-cmo-2</td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2008-g </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2008-g </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2008-g </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -272,6 +285,8 @@
"<tr><td>jacobian </td><td>madd-2008-g </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2008-g </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2008-g </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd-2008-g </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd-2008-g </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -281,6 +296,8 @@
"<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1998-cmo </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1998-cmo </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2001-b </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2001-b </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2001-b </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -290,6 +307,8 @@
"<tr><td>jacobian </td><td>add-2001-b </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2001-b </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2001-b </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-2001-b </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-2001-b </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -299,6 +318,8 @@
"<tr><td>jacobian </td><td>madd </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
@@ -308,6 +329,8 @@
"<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>mmadd-2007-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1986-cc </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1986-cc </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1986-cc </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -317,6 +340,8 @@
"<tr><td>jacobian </td><td>add-1986-cc </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1986-cc </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1986-cc </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1986-cc </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1986-cc </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>zadd-2007-m </td><td>InftypP </td><td>False </td><td>False </td><td>False </td><td>False </td></tr>\n",
@@ -326,6 +351,8 @@
"<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>zadd-2007-m </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>zadd-2007-m </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>zadd-2007-m </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -335,6 +362,8 @@
"<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd-2007-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd-2007-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2007-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2007-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -344,6 +373,8 @@
"<tr><td>jacobian </td><td>add-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-2007-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-2007-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-hnm </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -353,6 +384,8 @@
"<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-hnm </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1998-hnm </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>add-1998-hnm </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2004-hmv </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -362,6 +395,8 @@
"<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2004-hmv </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>jacobian </td><td>madd-2004-hmv </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>mmadd-1998-cmo</td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
@@ -371,6 +406,8 @@
"<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>mmadd-1998-cmo</td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>mmadd-1998-cmo</td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2015-rcb </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
"<tr><td>projective</td><td>add-2015-rcb </td><td>PpInfty </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
"<tr><td>projective</td><td>add-2015-rcb </td><td>InftypP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
@@ -380,6 +417,8 @@
"<tr><td>projective</td><td>add-2015-rcb </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2015-rcb </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2015-rcb </td><td>PpQDifford2</td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>add-2015-rcb </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>add-2015-rcb </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -389,6 +428,8 @@
"<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>projective</td><td>add-1998-cmo-2</td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>add-1998-cmo-2</td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-1998-cmo </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -398,6 +439,8 @@
"<tr><td>projective</td><td>madd-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-1998-cmo </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>projective</td><td>madd-1998-cmo </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>madd-1998-cmo </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2002-bj </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
"<tr><td>projective</td><td>add-2002-bj </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2002-bj </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -407,6 +450,8 @@
"<tr><td>projective</td><td>add-2002-bj </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2002-bj </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2002-bj </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>projective</td><td>add-2002-bj </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>add-2002-bj </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -416,6 +461,8 @@
"<tr><td>projective</td><td>add-1998-cmo </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-1998-cmo </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>projective</td><td>add-1998-cmo </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>add-1998-cmo </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-2015-rcb </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
"<tr><td>projective</td><td>madd-2015-rcb </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-2015-rcb </td><td>InftypP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
@@ -425,6 +472,8 @@
"<tr><td>projective</td><td>madd-2015-rcb </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-2015-rcb </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>madd-2015-rcb </td><td>PpQDifford2</td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>madd-2015-rcb </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>madd-2015-rcb </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2007-bl </td><td>PpP </td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
"<tr><td>projective</td><td>add-2007-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2007-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -434,6 +483,8 @@
"<tr><td>projective</td><td>add-2007-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2007-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>projective</td><td>add-2007-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>projective</td><td>add-2007-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>projective</td><td>add-2007-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>add-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>add-2008-s </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>add-2008-s </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -443,6 +494,8 @@
"<tr><td>xyzz </td><td>add-2008-s </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>add-2008-s </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>add-2008-s </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>xyzz </td><td>add-2008-s </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>xyzz </td><td>add-2008-s </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>mmadd-2008-s </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
@@ -452,6 +505,8 @@
"<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>mmadd-2008-s </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>xyzz </td><td>mmadd-2008-s </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>madd-2008-s </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>madd-2008-s </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>madd-2008-s </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -461,6 +516,8 @@
"<tr><td>xyzz </td><td>madd-2008-s </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>madd-2008-s </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>xyzz </td><td>madd-2008-s </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>xyzz </td><td>madd-2008-s </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>xyzz </td><td>madd-2008-s </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>madd-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>madd-2009-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>madd-2009-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -470,6 +527,8 @@
"<tr><td>modified </td><td>madd-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>madd-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>madd-2009-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>modified </td><td>madd-2009-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>modified </td><td>madd-2009-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-2009-bl </td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-2009-bl </td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -479,6 +538,8 @@
"<tr><td>modified </td><td>add-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-2009-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>modified </td><td>add-2009-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>modified </td><td>add-2009-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpInfty </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-1998-cmo-2</td><td>InftypP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
@@ -488,6 +549,8 @@
"<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpZeros </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-1998-cmo-2</td><td>ZerospP </td><td>Undefined </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>modified </td><td>add-1998-cmo-2</td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>modified </td><td>add-1998-cmo-2</td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpP </td><td>False </td><td>True </td><td>False </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpInfty </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>mmadd-2009-bl </td><td>InftypP </td><td>False </td><td>False </td><td>True </td><td>False </td></tr>\n",
@@ -497,6 +560,8 @@
"<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpZeros </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>mmadd-2009-bl </td><td>ZerospP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpQDifford2</td><td>True </td><td>False </td><td>True </td><td>True </td></tr>\n",
+ "<tr><td>modified </td><td>mmadd-2009-bl </td><td>PpGarbage </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
+ "<tr><td>modified </td><td>mmadd-2009-bl </td><td>GarbagepP </td><td>Undefined </td><td>False </td><td>True </td><td>False </td></tr>\n",
"</tbody>\n",
"</table>"
],
@@ -513,11 +578,12 @@
"test_filter = None\n",
"groups = {}\n",
"clusters = {}\n",
+ "clustering_tests = (\"PpP\", \"PpInfty\", \"InftypP\",\"PpQDifford2\")\n",
"for coords_name, vals in results_add.items():\n",
" for name, formula in vals.items():\n",
" ident = set()\n",
" for k, v in formula.items():\n",
- " if k in (\"PpP\", \"PpInfty\", \"InftypP\",\"PpQDifford2\"):\n",
+ " if k in clustering_tests:\n",
" ident.add((k, v[0])) #, v[1], v[2], v[3]\n",
" if test_filter is None or k in test_filter:\n",
" item = (v[0], v[1], v[2], v[3])\n",