1 -- $Id: test_zlib.lua,v 1.3 2004/07/22 19:10:47 tngd Exp $
2 -- zlib = loadlib("./lzlib.so", "luaopen_zlib")()
5 local function line(header
, c
)
8 print(string.rep(string.sub(c
, 1, 1), 78 - string.len(header
))..header
)
11 local function ipart(value
)
12 return value
- math
.mod(value
, 1)
15 local function bitvalues(value
, bstart
, num
)
16 value
= ipart(value
/ 2^bstart
)
17 return math
.mod(value
, 2^num
)
20 line(' zlib '..zlib
.version(), '=')
23 local adler
= zlib
.adler32()
24 print('adler32 init : '..adler
)
25 adler
= zlib
.adler32(adler
, 'some text')
26 print('updated adler: '..adler
)
27 adler
= zlib
.adler32(adler
, 'some text')
28 print('updated adler: '..adler
)
29 adler
= zlib
.adler32(adler
, 'some text')
30 print('updated adler: '..adler
)
31 adler
= zlib
.adler32(adler
, 'some text')
32 print('updated adler: '..adler
)
33 adler
= zlib
.adler32(adler
, 'some text')
34 print('updated adler: '..adler
)
35 adler
= zlib
.adler32(adler
, 'some textd')
36 print('updated adler: '..adler
)
39 local crc
= zlib
.crc32()
40 print('crc32 init : '..crc
)
41 crc
= zlib
.crc32(crc
, 'some text')
42 print('updated crc: '..crc
)
43 crc
= zlib
.crc32(crc
, 'some text')
44 print('updated crc: '..crc
)
45 crc
= zlib
.crc32(crc
, 'some text')
46 print('updated crc: '..crc
)
47 crc
= zlib
.crc32(crc
, 'some text')
48 print('updated crc: '..crc
)
49 crc
= zlib
.crc32(crc
, 'some text')
50 print('updated crc: '..crc
)
51 crc
= zlib
.crc32(crc
, 'some textd')
52 print('updated crc: '..crc
)
55 line(' deflate/inflate')
57 f
= io
.open('lzlib.c') -- f = io.open('../all.tar')
63 local f
, cs
, zd
, zi
, aux_res
, res
, ret
, count
65 print('file length : '..string.len(us
))
68 zd
= zlib
.compressobj(1)
69 print('deflate stream : '..tostring(zd
))
71 cs
= cs
.. zd
:compress(string.sub(us
, 1, string.len(us
)/2))
72 cs
= cs
.. zd
:compress(string.sub(us
, string.len(us
)/2+1))
75 print('compressed length : '..string.len(cs
))
76 print('compressed adler : '..tostring(zd
:adler()))
79 zi
= zlib
.decompressobj()
80 print('inflate stream : '..tostring(zi
))
82 res
= res
.. zi
:decompress(string.sub(cs
, 1, 10))
83 res
= res
.. zi
:decompress(string.sub(cs
, 11))
84 res
= res
.. zi
:flush()
85 print('uncompressed length : '..string.len(res
))
86 print('uncompressed adler : '..tostring(zi
:adler()))
88 print('result == uncompressed : '..tostring(res
== us
))
89 print('compression ratio : '..tostring(string.len(us
)/string.len(cs
)))
94 line(' compress/uncompress')
97 print('file length : '..string.len(us
))
98 cs
= zlib
.compress(us
,1)
99 print('compressed length : '..string.len(cs
))
100 res
= zlib
.decompress(cs
)
101 print('compressed length : '..string.len(res
))
102 print('result == uncompressed : '..tostring(res
== us
))
103 print('compression ratio : '..tostring(string.len(us
)/string.len(cs
)))
106 line(' zlib '..zlib
.version(), '=')