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(), '=')