[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:862]CCL coding system on Meadow.
- X-ml-count: 862
- Subject: [MD:862]CCL coding system on Meadow.
- From: Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Tue, 25 Aug 1998 09:12:52 +0900
- X-mailer: Semi-gnus 6.0.4 (based on Quassia Gnus v0.23)
Miyashita Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxxxxxxxxxxxxxxxx> writes:
> ところで、ew-ccl-bって、まだまだ最適化できそうですね。
>
> うーん。CCLの演算子を作った方が良いのかなぁ。
>
> # ExCCLの命令を使えば、まだかなり速くなると思います。
ExCCLはまだ使ってないけど、(あれはもうちょっとmucs-cclを改良しないと
使いにくい;_;) こんなサボったもの作ってみました。どうでしょうか
とりあえず、decoderだけ。
でも、まだまだ最適化できる。
あ、ちなみに、=のpaddingがないと、途中で切れます。^^;;;
(defconst ccl-b64-array
'[ -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 62 -1 -1 -1 63
52 53 54 55 56 57 58 59 60 61 -1 -1 -1 -2 -1 -1
-1 0 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 -1 -1 -1 -1 -1
-1 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 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1
-1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1 -1])
(define-ccl-program ew-ccl-decode-b-2
`(1
(loop
(read r1 r2 r3 r4)
(r0 = r1 ,ccl-b64-array)
(r0 = (r0 << 6))
(r1 = r2 ,ccl-b64-array)
(r0 = ((r1 | r0) << 6))
(r1 = r3 ,ccl-b64-array)
(r0 = ((r1 | r0) << 6))
(r1 = r4 ,ccl-b64-array)
(r0 = (r4 | r0))
(write (r0 >> 16))
(if (r3 == -2)
((end))
((write ((r0 >> 8) & ?\xff))
(if (r3 == -2)
((end))
((r1 = (r0 & ?\xff))
(write-repeat r1))))))))
from himi