sonicTheDatahog's picture
download
raw
1.83 kB
"""Regular (non-modular) addition: a + b = a+b for a, b in 0..112 (results 0..224).
Same operands, file names and 'a + b = c' line format as ../language_database; only the result is not reduced mod 113.
Run from this folder: python3 make_regular_sum_dataset.py"""
N = 113 # operands 0..112, same as the mod-113 datasets
WESTERN = "0123456789"
DIGITS = {
"english_number_data.txt": WESTERN,
"hindi_number_data.txt": "०१२३४५६७८९",
"thai_number_data.txt": "๐๑๒๓๔๕๖๗๘๙",
"urdu_number_data.txt": "۰۱۲۳۴۵۶۷۸۹",
"eastern_arabic_number_data.txt": "٠١٢٣٤٥٦٧٨٩",
"burmese_number_data.txt": "၀၁၂၃၄၅၆၇၈၉",
}
def to_chinese(n):
d = "零一二三四五六七八九"
if n < 10:
return d[n]
if n < 100:
t, o = divmod(n, 10)
return ("" if t == 1 else d[t]) + "十" + (d[o] if o else "")
h, r = divmod(n, 100)
s = d[h] + "百"
if r == 0:
return s
if r < 10:
return s + "零" + d[r]
t, o = divmod(r, 10)
return s + d[t] + "十" + (d[o] if o else "")
def to_roman(n):
if n == 0:
return "N"
out = ""
for v, s in [(1000, "M"), (900, "CM"), (500, "D"), (400, "CD"), (100, "C"), (90, "XC"),
(50, "L"), (40, "XL"), (10, "X"), (9, "IX"), (5, "V"), (4, "IV"), (1, "I")]:
while n >= v:
out += s
n -= v
return out
def write(name, fmt):
with open(name, "w") as f:
for i in range(N):
for j in range(N):
f.write(f"{fmt(i)} + {fmt(j)} = {fmt(i + j)}\n")
for name, digits in DIGITS.items():
table = str.maketrans(WESTERN, digits)
write(name, lambda n, t=table: str(n).translate(t))
write("chinese_number.txt", to_chinese)
write("roman.txt", to_roman)

Xet Storage Details

Size:
1.83 kB
·
Xet hash:
a7c8ffa486949f05aa053940e30d36ae3f1a127a02847555ef423dfd898ad3fc

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.