<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://invarians.org/index.php?action=history&amp;feed=atom&amp;title=The_Principia_Machina%2FTPC-PY%2Fdiff_beta.py</id>
	<title>The Principia Machina/TPC-PY/diff beta.py - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://invarians.org/index.php?action=history&amp;feed=atom&amp;title=The_Principia_Machina%2FTPC-PY%2Fdiff_beta.py"/>
	<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_beta.py&amp;action=history"/>
	<updated>2026-10-21T12:56:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.46.2</generator>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_beta.py&amp;diff=4033&amp;oldid=prev</id>
		<title>BFP Rauch: 1 revision imported</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_beta.py&amp;diff=4033&amp;oldid=prev"/>
		<updated>2026-09-28T04:32:52Z</updated>

		<summary type="html">&lt;p&gt;1 revision imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw-interface=&quot;&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:32, 28 September 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>BFP Rauch</name></author>
	</entry>
	<entry>
		<id>https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_beta.py&amp;diff=4032&amp;oldid=prev</id>
		<title>BFP Rauch: TPC-PY source diff_beta.py (0.1.0), SHA-256 260e80052fd92534; conformed TPS 0.3.0; PROPOSED, not declared (CO-8)</title>
		<link rel="alternate" type="text/html" href="https://invarians.org/index.php?title=The_Principia_Machina/TPC-PY/diff_beta.py&amp;diff=4032&amp;oldid=prev"/>
		<updated>2026-09-27T15:43:18Z</updated>

		<summary type="html">&lt;p&gt;TPC-PY source diff_beta.py (0.1.0), SHA-256 260e80052fd92534; conformed TPS 0.3.0; PROPOSED, not declared (CO-8)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;quot;&amp;quot;&amp;quot;diff_beta 0.1.0: the cross-residence differential for tpc_beta 0.1.0.&lt;br /&gt;
Random (a, b, x, p, level) over the ranges the scores use (shapes from&lt;br /&gt;
1e-2 to 1e4, weights that are sums of aged conduct weights), both&lt;br /&gt;
residences on the same inputs, rendered through canon_float, 0&lt;br /&gt;
differences the pass. Usage: python3 diff_beta.py [seed] [cases].&amp;quot;&amp;quot;&amp;quot;&lt;br /&gt;
import json, os, random, subprocess, sys, tempfile&lt;br /&gt;
here = os.path.dirname(os.path.abspath(__file__))&lt;br /&gt;
sys.path.insert(0, here)&lt;br /&gt;
from tpc_beta import run_case&lt;br /&gt;
seed = int(sys.argv[1]) if len(sys.argv) &amp;gt; 1 else 1&lt;br /&gt;
count = int(sys.argv[2]) if len(sys.argv) &amp;gt; 2 else 20000&lt;br /&gt;
random.seed(seed)&lt;br /&gt;
def shape():&lt;br /&gt;
    r = random.random()&lt;br /&gt;
    if r &amp;lt; 0.3: return 1 + random.randint(0, 40)&lt;br /&gt;
    if r &amp;lt; 0.6: return round(1 + random.uniform(0, 30) * random.random(), 6)&lt;br /&gt;
    if r &amp;lt; 0.8: return round(10 ** random.uniform(-2, 4), 6)&lt;br /&gt;
    return random.choice([0.5, 1, 2, 3, 0.001, 100, 1000, 5000])&lt;br /&gt;
cases = []&lt;br /&gt;
for t in range(count):&lt;br /&gt;
    fn = random.choice([&amp;quot;mean&amp;quot;, &amp;quot;interval&amp;quot;, &amp;quot;betainc&amp;quot;, &amp;quot;betainc_inv&amp;quot;, &amp;quot;lgamma&amp;quot;, &amp;quot;canon&amp;quot;])&lt;br /&gt;
    a, b = shape(), shape()&lt;br /&gt;
    if fn == &amp;quot;mean&amp;quot;: args = {&amp;quot;a&amp;quot;: a, &amp;quot;b&amp;quot;: b}&lt;br /&gt;
    elif fn == &amp;quot;interval&amp;quot;: args = {&amp;quot;a&amp;quot;: a, &amp;quot;b&amp;quot;: b, &amp;quot;level&amp;quot;: random.choice([0.95, 0.9, 0.99, 0.5, round(random.random(), 4)])}&lt;br /&gt;
    elif fn == &amp;quot;betainc&amp;quot;: args = {&amp;quot;a&amp;quot;: a, &amp;quot;b&amp;quot;: b, &amp;quot;x&amp;quot;: random.choice([0, 1, round(random.random(), 8), round(random.random() ** 4, 10), 0.5])}&lt;br /&gt;
    elif fn == &amp;quot;betainc_inv&amp;quot;: args = {&amp;quot;a&amp;quot;: a, &amp;quot;b&amp;quot;: b, &amp;quot;p&amp;quot;: random.choice([0, 1, round(random.random(), 8), 0.025, 0.975, 0.5])}&lt;br /&gt;
    elif fn == &amp;quot;lgamma&amp;quot;: args = {&amp;quot;x&amp;quot;: random.choice([shape(), round(random.uniform(0, 1), 6), round(random.uniform(0, 200), 3)])}&lt;br /&gt;
    else:&lt;br /&gt;
        r = random.random()&lt;br /&gt;
        v = random.uniform(-1, 1) * 10 ** random.randint(-20, 20) if r &amp;lt; 0.8 else random.choice([0.0, -0.0, 1e-4, 1e-5, 1e12, 1e11, 123456789012345.0, 999999999999.5])&lt;br /&gt;
        args = {&amp;quot;x&amp;quot;: v}&lt;br /&gt;
    cases.append({&amp;quot;fn&amp;quot;: fn, &amp;quot;args&amp;quot;: args})&lt;br /&gt;
CASES_PATH = os.environ.get(&amp;quot;TPC_DIFF_CASES&amp;quot;)  # named: kept, for crosspy.py&lt;br /&gt;
if not CASES_PATH:&lt;br /&gt;
    fd, CASES_PATH = tempfile.mkstemp(prefix=&amp;quot;tpc_diff_&amp;quot;, suffix=&amp;quot;.json&amp;quot;)  # outside the tree&lt;br /&gt;
    os.close(fd)&lt;br /&gt;
with open(CASES_PATH, &amp;quot;w&amp;quot;, encoding=&amp;quot;utf-8&amp;quot;) as f:&lt;br /&gt;
    json.dump(cases, f)&lt;br /&gt;
py = [run_case(c[&amp;quot;fn&amp;quot;], c[&amp;quot;args&amp;quot;]) for c in cases]&lt;br /&gt;
php = json.loads(subprocess.run([&amp;quot;php&amp;quot;, os.path.join(here, &amp;quot;diff_beta.php&amp;quot;), CASES_PATH], capture_output=True, text=True, check=True).stdout)&lt;br /&gt;
if not os.environ.get(&amp;quot;TPC_DIFF_CASES&amp;quot;):&lt;br /&gt;
    os.remove(CASES_PATH)&lt;br /&gt;
diffs = sum(1 for a, b in zip(py, php) if a != b)&lt;br /&gt;
print(&amp;quot;seed&amp;quot;, seed, &amp;quot;cases&amp;quot;, len(cases), &amp;quot;differences&amp;quot;, diffs, &amp;quot;errors&amp;quot;, sum(1 for x in py if x.startswith(&amp;quot;ERROR&amp;quot;)))&lt;br /&gt;
for c, a, b in zip(cases, py, php):&lt;br /&gt;
    if a != b:&lt;br /&gt;
        print(c); print(a); print(&amp;quot;---&amp;quot;); print(b); break&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>BFP Rauch</name></author>
	</entry>
</feed>