0%

日誌

プレイしたゲーム

リンク

雑記

割り算、きつい。ここから20文字減るのわけわからん(無駄が多いのは分かるけど)

基本方針は、左辺値と右辺値を複製し、左辺値-右辺値を実行
これが負数でなければインクリメントのcを増やして左辺値を計算結果に置き換え
負数なら複製元の左辺値をあまり、cの数を商とする

1
2
3
4
5
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
53
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
(once)=l
(once)/=/\
(once)=(end)e

# duplicate low
D0=(end)0
D1=(end)1
d0=oD0
d1=iD1
do=od
di=id
de=e
#

# duplicate high
H0=(start)0
H1=(start)1
0h=oH0
1h=iH1
oh=ho
ih=hi
sh=s
#

# restore duplicate
o=0
i=1
#

#sub
G=(start)g
M=(end)-0
O=(start)0
I=(start)1
0k=k1
1k=0
0-0=(start)0
0-1=(start)1
1-0=(start)k1
1-1=(start)0
e-0=eO
e-1=eI
0m=(end)-0
1m=(end)-1
gm=gM
gs=s
#

#judge
(start)k=F
F0=F
F1=F
#Fk=F
Fe=
Fs=Q
Q0=0Q
Q1=1Q
Qc=CQ
Q|=F

L=(start)l
0s=0/cLj
1s=1/cLj
jc=cj
j0=j
j1=j
j|=\
#

l=mmmmmms
\=|ddddd
/=hhhhhG

# convert
(once)=(start)0,
,00=,0
,01=,1
0C=C0
1C=C1
0,C=1,
1,C=P0,
0P=1
1P=P0
(start)P=1

プレイしたゲーム

リンク

  • x87 FPU
    • 2段階丸め、やばいのはコーナーケースだろうけど往々にして発生するものなので怖い
    • Java にstrictfpなるものがあるのを初めて知った

雑記

A=B の掛け算の雑コード。雑コードすぎて半分まで減らせると言われてしまった

1
2
3
4
5
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
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
# generate duplicator
(once)=q
q=(end)e

*0=*
1z=01
0z=z1
0e=zexxxxxSs
1e=0exxxxxSs
#

# initialize
*e=(end)f0a
(once)=+

# prepare
A=(end)a
R=(end)rrrrrrrrrrr
G=(start)gl
Y=(end)/

# add
0/0=(start)0
0/1=(start)1
1/0=(start)1
1/1=(start)K0
0/=(start)0
1/=(start)1
/0=(start)0
/1=(start)1

0K=1
1K=K0

0y=(end)/0
1y=(end)/1
#

# duplicate
0c=(end)0
1c=(end)1
d0=(start)0
d1=(start)1
0x=0cd0
1x=1cd1
+x=+
+S=+R
0r=(end)0
1r=(end)1
ar=a

# start add
a=Gyyyyyyyyyyy
fy=fY
f/=f
(start)K=1

# head to tail
l=(start)hhhhhhhhhhh
h0=(end)0
h1=(end)1
hh=h
hg=

# start copy
+s=(start)+A

# cleanup
0f=f
1f=f
+f=