Skip to content

Commit 34d7bff

Browse files
[stdlib] Add low-level floating point utils
1 parent e18ccb9 commit 34d7bff

File tree

1 file changed

+230
-6
lines changed

1 file changed

+230
-6
lines changed

lib/算經.wy

Lines changed: 230 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,139 @@
11
吾有一數。名之曰「假圓周率」。
2-
吾有一數。名之曰「假半圓周率」。
32
吾有一數。名之曰「假自然常數」。
43
吾有一數。名之曰「假歐拉常數」。
54
吾有一數。名之曰「假黃金分割數」。
65

6+
吾有二數。曰一。曰一。名之曰「進制」。名之曰「退制」。
7+
吾有三數。曰零。曰一。曰一。名之曰「總算位」。曰「上位冪」。曰「下位冪」。
8+
吾有三數。曰零。曰一。曰一。名之曰「至大指」。曰「巨位冪」。曰「至巨數」。
9+
吾有三數。曰零。曰一。曰一。名之曰「至小指」。曰「微位冪」。曰「至微數」。
10+
吾有三數。曰零。曰一。曰一。名之曰「浮點零」。曰「浮點一」。曰「無限大」。
11+
12+
吾有一術。名之曰「試界」。欲行是術。必先得三數。曰「限」。曰「元」。曰「基」。二術。曰「合」。曰「據」。乃行是術曰。
13+
吾有一術。名之曰「造表列」。欲行是術。必先得二數。曰「引」。曰「實」。乃行是術曰。
14+
吾有一物。名之曰「表列」。其物如是。
15+
物之「「引」」者。數曰「引」。
16+
物之「「實」」者。數曰「實」。
17+
是謂「表列」之物也。
18+
乃得「表列」。
19+
是謂「造表列」之術也。
20+
吾有一術。名之曰「新據」。欲行是術。必先得二數。曰「引」。曰「實」。乃行是術曰。
21+
若「引」不小於「限」者。乃得陽也。
22+
施「據」於「實」。若其者。乃得陽也。
23+
乃得陰。
24+
是謂「新據」之術也。
25+
26+
施「新據」於零。於「元」。若其者。夫零。夫「元」。取二以施「造表列」。乃得矣。云云。
27+
施「新據」於一。於「基」。若其者。夫一。夫「基」。取二以施「造表列」。乃得矣。云云。
28+
吾有二數。曰一。曰「基」。名之曰「引」。曰「實」。
29+
吾有一列。名之曰「記表列」。
30+
恆為是。
31+
加「引」於「引」。名之曰「新引」。
32+
夫「實」。夫「實」。取二以施「合」。名之曰「新實」。
33+
施「新據」於「新引」。於「新實」。若其者。乃止也。
34+
夫「引」。夫「實」。取二以施「造表列」。充「記表列」以其。
35+
昔之「引」者。今「新引」是矣。
36+
昔之「實」者。今「新實」是矣。
37+
云云。
38+
夫「記表列」之長。名之曰「甲」。
39+
恆為是。
40+
若「甲」等於零者。乃止也。
41+
夫「記表列」之「甲」。名之曰「表列」。
42+
夫「表列」之「「引」」。加其於「引」。名之曰「新引」。
43+
夫「表列」之「「實」」。夫「實」。取二以施「合」。名之曰「新實」。
44+
施「新據」於「新引」。於「新實」。變其。若其者。
45+
昔之「引」者。今「新引」是矣。
46+
昔之「實」者。今「新實」是矣。
47+
云云。
48+
減一於「甲」。昔之「甲」者。今其是矣。
49+
云云。
50+
加一於「引」。夫「基」。夫「實」。取二以施「合」。取二以施「造表列」。乃得矣。
51+
是謂「試界」之術也。
52+
753
吾有一術。名之曰「盤古」。乃行是術曰。
54+
除一於三。若其等於零者。
55+
噫。夫「「告。計算機除不盡而捨餘者。不可行本算經之術。」」。書之。
56+
乃歸空無也。
57+
58+
有數五分。名之曰「半」。減「半」以「半」。昔之「浮點零」者。今其是矣。
59+
加一於「浮點零」。昔之「浮點一」者。今其是矣。
60+
61+
吾有一列。名之曰「素數」。充「素數」以二。以三。以五。以七。以十一。以十三。
62+
有數零。名之曰「進制素因數」。
63+
昔之「進制」者。今「浮點一」是矣。
64+
凡「素數」中之「法」。
65+
加一於「法」。除其以「法」。減其以一。乘其以「法」。名之曰「餘」。
66+
若「餘」等於一者。
67+
乘「法」於「進制」。昔之「進制」者。今其是矣。
68+
加一於「進制素因數」。昔之「進制素因數」者。今其是矣。
69+
云云。
70+
若「餘」等於零者。
71+
噫。夫「「告。計算機除不盡而不得分釐者。不可行本算經之術。」」。書之。
72+
乃歸空無也。
73+
云云。
74+
若「進制素因數」大於二者。
75+
噫。夫「「告。計算機掩絲毫之瑕而求整者。不可行本算經之術。」」。書之。
76+
乃歸空無也。
77+
若「進制」不等於二者。
78+
噫。夫「「告。計算機非二進者。不可行本算經之術。」」。書之。
79+
乃歸空無也。
80+
除「進制」於一。昔之「退制」者。今其是矣。
81+
82+
吾有一術。名之曰「加」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
83+
加「甲」於「乙」。乃得矣。
84+
是謂「加」之術也。
85+
吾有一術。名之曰「乘」。欲行是術。必先得二數。曰「甲」。曰「乙」。乃行是術曰。
86+
乘「甲」於「乙」。乃得矣。
87+
是謂「乘」之術也。
88+
吾有一術。名之曰「位溢乎」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
89+
乘「甲」以「進制」。名之曰「乙」。
90+
加一於「乙」。減其以「乙」。若其等於一者。乃得陰。若非。乃得陽也。
91+
是謂「位溢乎」之術也。
92+
93+
有數一萬。名之曰「試位限」。
94+
施「試界」於「試位限」。於「浮點一」。於「進制」。於「乘」。於「位溢乎」。名之曰「算限表」。
95+
夫「算限表」之「「引」」。若其不小於「試位限」者。
96+
噫。夫「「告。計算機算位無限者。不可行本算經之術。」」。書之。
97+
乃歸空無也。
98+
夫「算限表」之「「引」」。加其以一。昔之「總算位」者。今其是矣。
99+
夫「算限表」之「「實」」。昔之「上位冪」者。今其是矣。
100+
除一以「上位冪」。昔之「下位冪」者。今其是矣。
101+
加一以「下位冪」。減其以一。若其不等於「下位冪」者。
102+
噫。夫「「告。計算機非二進者。不可行本算經之術。」」。書之。
103+
乃歸空無也。
104+
105+
吾有一術。名之曰「上溢乎」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
106+
乘「甲」以「進制」。名之曰「乙」。
107+
乘「乙」以「進制」。若其大於「乙」者。乃得陰。若非。乃得陽也。
108+
是謂「上溢乎」之術也。
109+
吾有一術。名之曰「下溢乎」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
110+
乘「甲」以「退制」。名之曰「乙」。
111+
若「乙」等於零者。乃得陽也。
112+
若「乙」小於「甲」者。乃得陰也。
113+
乃得陽。
114+
是謂「下溢乎」之術也。
115+
116+
有數一億。名之曰「試指限」。
117+
施「試界」於「試指限」。於「浮點一」。於「進制」。於「乘」。於「上溢乎」。名之曰「上限表」。
118+
夫「上限表」之「「引」」。昔之「至大指」者。今其是矣。
119+
夫「上限表」之「「實」」。昔之「巨位冪」者。今其是矣。
120+
減「進制」以「下位冪」。乘其以「巨位冪」。昔之「至巨數」者。今其是矣。
121+
乘「至巨數」於「至巨數」。昔之「無限大」者。今其是矣。
122+
乘零於「無限大」。昔之「假不可算數」者。今其是矣。
123+
若「假不可算數」等於零者。
124+
減零以「無限大」。昔之「假不可算數」者。今其是矣。
125+
云云。
126+
127+
施「試界」於「試指限」。於「浮點一」。於「退制」。於「乘」。於「下溢乎」。名之曰「下限表」。
128+
夫「下限表」之「「引」」。減其於「總算位」。減其以一。昔之「至小指」者。今其是矣。
129+
夫「下限表」之「「實」」。昔之「至微數」者。今其是矣。
130+
乘「至微數」以「上位冪」。昔之「微位冪」者。今其是矣。
131+
132+
注曰。「「以上驗算制。」」。
133+
8134
除二百一十億五千三百三十四萬三千一百四十一以六十七億零一百四十八萬七千二百五十九。
9135
昔之「假圓周率」者。今其是矣。
10136
注曰。「「圓周率者。三又一分四釐一毫有奇也。」」。
11-
除二於「假圓周率」。昔之「假半圓周率」者。今其是矣。
12137

13138
除二百八十八億七千五百七十六萬一千七百三十一以一百零六億二千二百七十九萬九千零八十九。
14139
昔之「假自然常數」者。今其是矣。
@@ -21,14 +146,113 @@
21146
除三百二十九億五千一百二十八萬零九十九以二百零三億六千五百零一萬一千零七十四。
22147
昔之「假黃金分割數」者。今其是矣。
23148
注曰。「「黃金分割數者。一又六分一釐八毫有奇也。」」。
149+
150+
注曰。「「以上求常數。」」。
24151
是謂「盤古」之術也。
25152
施「盤古」。
26153

27-
今有一數。曰「假圓周率」。名之曰「圓周率」。
154+
今有一數。曰「假圓周率」。名之曰「圓周率」。注曰。「「圓周率者。三又一分四釐一毫有奇也。」」。
155+
乘二於「圓周率」。名之曰「假倍圓周率」。
156+
今有一數。曰「假倍圓周率」。名之曰「倍圓周率」。
157+
除二於「圓周率」。名之曰「假半圓周率」。
28158
今有一數。曰「假半圓周率」。名之曰「半圓周率」。
29-
今有一數。曰「假自然常數」。名之曰「自然常數」。
30-
今有一數。曰「假歐拉常數」。名之曰「歐拉常數」。
31-
今有一數。曰「假黃金分割數」。名之曰「黃金分割數」。
159+
除四於「圓周率」。名之曰「假四分圓周率」。
160+
今有一數。曰「假四分圓周率」。名之曰「四分圓周率」。
161+
今有一數。曰「假自然常數」。名之曰「自然常數」。注曰。「「自然常數者。二又七分一釐八毫有奇也。」」。
162+
今有一數。曰「假歐拉常數」。名之曰「歐拉常數」。注曰。「「歐拉常數者。五分七釐七毫二絲有奇也。」」。
163+
今有一數。曰「假黃金分割數」。名之曰「黃金分割數」。注曰。「「黃金分割數者。一又六分一釐八毫有奇也。」」。
164+
165+
吾有一術。名之曰「除以零」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
166+
除「甲」以「浮點零」。乃得矣。
167+
是謂「除以零」之術也。
168+
169+
吾有一術。名之曰「不可算」。乃行是術曰。
170+
除「浮點零」於「浮點零」。乃得矣。
171+
是謂「不可算」之術也。
172+
173+
吾有一術。名之曰「求進冪」。欲行是術。必先得一數。曰「位」。乃行是術曰。
174+
吾有一術。名之曰「吾之冪」。欲行是術。必先得二數。曰「底」。曰「指」。乃行是術曰。
175+
有數「底」。名之曰「甲」。
176+
有數「浮點一」。名之曰「冪」。
177+
恆為是。
178+
若「指」等於零者。乃止也。
179+
除「指」以二。所餘幾何。名之曰「餘」。
180+
若「餘」大於零者。乘「甲」於「冪」。昔之「冪」者。今其是矣。云云。
181+
乘「甲」於「甲」。昔之「甲」者。今其是矣。
182+
減「餘」於「指」。除其以二。昔之「指」者。今其是矣。
183+
云云。
184+
乃得「冪」。
185+
是謂「吾之冪」之術也。
186+
若「位」小於零者。
187+
夫「退制」。減零以「位」。取二以施「吾之冪」。乃得矣。
188+
若非。
189+
夫「進制」。夫「位」。取二以施「吾之冪」。乃得矣。
190+
云云。
191+
是謂「求進冪」之術也。
192+
193+
吾有三數。名之曰「取位常數甲」。曰「取位常數乙」。曰「取位上溢限」。
194+
吾有二數。名之曰「分算常數」。曰「分算上溢限甲」。曰「分算上溢限乙」。
195+
196+
吾有一術。名之曰「伏羲」。乃行是術曰。
197+
加一於「上位冪」。昔之「取位常數甲」者。今其是矣。
198+
除二於「下位冪」。減其於一。昔之「取位常數乙」者。今其是矣。
199+
除「上位冪」於「巨位冪」。昔之「取位上溢限」者。今其是矣。
200+
201+
加一於「總算位」。名之曰「甲」。
202+
除二於「甲」。所餘幾何。減其於「甲」。除其以二。名之曰「半算位」。
203+
施「求進冪」於「半算位」。名之曰「半位冪」。
204+
加一於「半位冪」。昔之「分算常數」者。今其是矣。
205+
除「半位冪」於「巨位冪」。昔之「分算上溢限甲」者。今其是矣。
206+
乘「半位冪」於「下位冪」。減其於「進制」。乘其以「巨位冪」。昔之「分算上溢限乙」者。今其是矣。
207+
是謂「伏羲」之術也。
208+
施「伏羲」。
209+
210+
吾有一術。名之曰「取位冪」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
211+
注曰。「「二進者方可施是術。」」。
212+
施「絕對」於「甲」。名之曰「乙」。
213+
若「乙」小於「取位上溢限」者。
214+
乘「乙」以「取位常數甲」。名之曰「丙」。
215+
乘「丙」以「取位常數乙」。名之曰「丁」。
216+
減「丁」於「丙」。乃得矣。
217+
若非。
218+
乘「乙」以「下位冪」。乘其以「下位冪」。名之曰「丙」。
219+
若「丙」小於「取位上溢限」者。
220+
施「取位冪」於「丙」。乘其以「上位冪」。乘其以「上位冪」。乃得矣。
221+
若非。
222+
乃得「乙」也。
223+
云云。
224+
是謂「取位冪」之術也。
225+
226+
吾有一術。名之曰「分算」。欲行是術。必先得一數。曰「甲」。乃行是術曰。
227+
注曰。「「分算者。其位上下二分。借二算布之也。」」。
228+
吾有一列。名之曰「雙」。
229+
施「絕對」於「甲」。名之曰「乙」。
230+
若「乙」小於「分算上溢限甲」者。
231+
乘「乙」以「分算常數」。名之曰「丙」。
232+
減「丙」於「甲」。名之曰「丁」。
233+
加「丁」於「丙」。名之曰「上甲」。
234+
充「雙」以「上甲」。
235+
減「甲」以「上甲」。充「雙」以其。
236+
若非。
237+
若「乙」小於「分算上溢限乙」者。
238+
乘「甲」以「下位冪」。名之曰「丙」。
239+
施「分算」於「丙」。名之曰「丁」。
240+
凡「丁」中之「戊」。
241+
乘「戊」以「上位冪」。充「雙」以其。
242+
云云。
243+
若非。
244+
減「乙」以「分算上溢限乙」。名之曰「丙」。
245+
若「丙」小於「分算上溢限乙」者。
246+
施「正負」於「甲」。名之曰「符」。
247+
乘「符」於「分算上溢限乙」。充「雙」以其。
248+
乘「符」於「丙」。充「雙」以其。
249+
若非。
250+
充「雙」以「甲」。以「甲」。
251+
云云。
252+
云云。
253+
云云。
254+
乃得「雙」。
255+
是謂「分算」之術也。
32256

33257
今有一術。名之曰「正弦」。欲行是術。必先得一數曰「甲」。乃行是術曰。
34258
注曰「「數小甚矣。乃得其身。否則以泰勒展開求之。復以週期性得其餘。」」

0 commit comments

Comments
 (0)