📦 Out of Context リポジトリ

リポジトリ / emssr / independent_common_compiler

r2
r2 emssr1
# 接合秩の採用語彙。見出しは Σ_V = {be bo pa pi pu pe po} の三音節で、全部同じ長さなので接頭自由。
r2 emssr2
#
r2 emssr3
#   joinrank : 𝒞 × Cut → ℕ        境界を渡る独立影響の最小本数(構成語 §15 の表)
r2 emssr4
#
r2 emssr5
# チェンバー C の値は頂点で決まる(Common-Lang/1 定理 2.2)。だから入口は頂点値の表 TAB だけでよい。
r2 emssr6
# カット κ は [n] = A ⊔ B の位置で、A = {0..κ-1}、B = {κ..n-1}。頂点番号は
r2 emssr7
#
r2 emssr8
#   v = α + 2^κ·β          α ∈ {0,1}^A、β ∈ {0,1}^B
r2 emssr9
#
r2 emssr10
# 行 R_α[β] = TAB[v] を ⊕ で閉じた束の高さが ρ になる(定理 4.1)。
r2 emssr11
# 閉包は倍化で伸びるので、語の容量が上限を決める。越えたら溢れの印を立てる。
r2 emssr12
#
r2 emssr13
#   ρ ≤ 8        |V| = 2^ρ ≤ 256。倍化の行き先は m + |V| ≤ 511 なので閉包は 512 行
r2 emssr14
#                 見本と係数の添字は r = 0..ρ を取るので、行と刻みは ρ+1 = 9 になる
r2 emssr15
#   2^(n-κ) ≤ 512  行の刻み
r2 emssr16
#
r2 emssr17
# pobepe = 32 が「まだ倍にできる」上限で、pebepi = 128 が行の数になる。
r2 emssr18
#
r2 emssr19
# 作業領域の基底は 65536(toolchain.WORK)。
r2 emssr20
r2 emssr21
# ---- 数 ----
r2 emssr22
# pebepa は行の刻み、pebepi は閉包の行数、pobepe は倍化できる |V| の上限、pebebo は ρ の席の数
r2 emssr23
pebebe	=2
r2 emssr24
pebebo	=9
r2 emssr25
pebepa	=512
r2 emssr26
pebepi	=512
r2 emssr27
pobepe	=128
r2 emssr28
r2 emssr29
# ---- 入口(host が書く)と出口 ----
r2 emssr30
pebobe	=65536
r2 emssr31
pebobo	=65537
r2 emssr32
pebopa	=65538
r2 emssr33
pebopi	=65539
r2 emssr34
pebopu	=65540
r2 emssr35
pebope	=65541
r2 emssr36
pebopo	=65542
r2 emssr37
pepabe	=65543
r2 emssr38
r2 emssr39
# ---- 走りの語 ----
r2 emssr40
pepabo	=65544
r2 emssr41
pepapa	=65545
r2 emssr42
pepapi	=65546
r2 emssr43
pepapu	=65547
r2 emssr44
pepape	=65548
r2 emssr45
pepapo	=65549
r2 emssr46
pepibe	=65550
r2 emssr47
pepibo	=65551
r2 emssr48
pepipa	=65552
r2 emssr49
pepipi	=65553
r2 emssr50
pepipu	=65554
r2 emssr51
pepipe	=65555
r2 emssr52
pepipo	=65556
r2 emssr53
pobebe	=65557
r2 emssr54
pobebo	=65558
r2 emssr55
pobepa	=65559
r2 emssr56
pobepi	=65560
r2 emssr57
r2 emssr58
# ---- 表の基底 ----
r2 emssr59
pepube	=65600
r2 emssr60
pepubo	=66624
r2 emssr61
pepupa	=67136
r2 emssr62
pepupi	=329280
r2 emssr63
pepupu	=333888
r2 emssr64
pepupe	=338496
r2 emssr65
pepupo	=343104
r2 emssr66
pobepu	=343616
r2 emssr67
r2 emssr68
# ---- 番地の式。どれも I → D で、番地を机に一つ置く ----
r2 emssr69
# 頂点 TAB[v]
r2 emssr70
pepebe	pepube ka, pepipu ka, mi ka, no ka.
r2 emssr71
# 行 ROW[β]
r2 emssr72
pepebo	pepubo ka, pepapa ka, mi ka, no ka.
r2 emssr73
# 閉包 SPN[m][β]        刻み 512
r2 emssr74
pepepa	pepupa ka, pepapi ka, mi ka, pebepa ka, ti ka, no ka, pepapa ka, mi ka, no ka.
r2 emssr75
# 係数 COF[m][r]        刻み 9
r2 emssr76
pepepi	pepupi ka, pepapi ka, mi ka, pebebo ka, ti ka, no ka, pepapu ka, mi ka, no ka.
r2 emssr77
# 見本 WIT[r][β]        刻み 512
r2 emssr78
pepepu	pepupu ka, pepapu ka, mi ka, pebepa ka, ti ka, no ka, pepapa ka, mi ka, no ka.
r2 emssr79
# 係数の写し PCO[α][r]   刻み 9
r2 emssr80
pepepe	pepupe ka, pepabo ka, mi ka, pebebo ka, ti ka, no ka, pepapu ka, mi ka, no ka.
r2 emssr81
# 見つけた索引 IDX[α]
r2 emssr82
pepepo	pepupo ka, pepabo ka, mi ka, no ka.
r2 emssr83
# 倍化の行き先 SPN[m + |V|][β]
r2 emssr84
pepobe	pepupa ka, pepapi ka, mi ka, pebope ka, mi ka, no ka, pebepa ka, ti ka, no ka, pepapa ka, mi ka, no ka.
r2 emssr85
# 倍化の行き先の係数 COF[m + |V|][r]   刻み 9
r2 emssr86
pepobo	pepupi ka, pepapi ka, mi ka, pebope ka, mi ka, no ka, pebebo ka, ti ka, no ka, pepapu ka, mi ka, no ka.
r2 emssr87
# 正規形の係数 ANF[v]
r2 emssr88
pepopu	pobepu ka, pepipu ka, mi ka, no ka.
r2 emssr89
# 蝶の上側 ANF[BASE + STEP + J]
r2 emssr90
pepopa	pobepu ka, pobepa ka, mi ka, no ka, pobebo ka, mi ka, no ka, pobepi ka, mi ka, no ka.
r2 emssr91
# 蝶の下側 ANF[BASE + J]
r2 emssr92
pepopi	pobepu ka, pobepa ka, mi ka, no ka, pobepi ka, mi ka, no ka.