sonicTheDatahog/qwen-multilingual-math-accuracy / datasets /regular_sum_database /make_regular_sum_dataset.py
| """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.