~ubuntu-branches/ubuntu/jaunty/luatex/jaunty

« back to all changes in this revision

Viewing changes to src/libs/luazlib/test_zlib.lua

  • Committer: Bazaar Package Importer
  • Author(s): Norbert Preining
  • Date: 2007-09-24 12:56:11 UTC
  • Revision ID: james.westby@ubuntu.com-20070924125611-a8ge689azbptxvla
Tags: upstream-0.11.2
ImportĀ upstreamĀ versionĀ 0.11.2

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
-- $Id: test_zlib.lua,v 1.3 2004/07/22 19:10:47 tngd Exp $
 
2
-- zlib = loadlib("./lzlib.so", "luaopen_zlib")()
 
3
 
 
4
 
 
5
local function line(header, c)
 
6
    header = header or ''
 
7
    c = c or '-'
 
8
    print(string.rep(string.sub(c, 1, 1), 78 - string.len(header))..header)
 
9
end
 
10
 
 
11
local function ipart(value)
 
12
    return value - math.mod(value, 1)
 
13
end
 
14
 
 
15
local function bitvalues(value, bstart, num)
 
16
    value = ipart(value / 2^bstart)
 
17
    return math.mod(value, 2^num)
 
18
end
 
19
 
 
20
line(' zlib '..zlib.version(), '=')
 
21
 
 
22
line(' adler32')
 
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)
 
37
 
 
38
line(' crc32')
 
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)
 
53
 
 
54
 
 
55
line(' deflate/inflate')
 
56
local us
 
57
f = io.open('lzlib.c') -- f = io.open('../all.tar')
 
58
us = f:read('*a')
 
59
f:close()
 
60
 
 
61
do -- local block
 
62
 
 
63
local f, cs, zd, zi, aux_res, res, ret, count
 
64
 
 
65
print('file length              : '..string.len(us))
 
66
 
 
67
cs = ''
 
68
zd = zlib.compressobj(1)
 
69
print('deflate stream           : '..tostring(zd))
 
70
 
 
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))
 
73
cs = cs .. zd:flush()
 
74
 
 
75
print('compressed length        : '..string.len(cs))
 
76
print('compressed adler         : '..tostring(zd:adler()))
 
77
zd:close()
 
78
 
 
79
zi = zlib.decompressobj()
 
80
print('inflate stream           : '..tostring(zi))
 
81
res = ''
 
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()))
 
87
zi:close()
 
88
print('result == uncompressed   : '..tostring(res == us))
 
89
print('compression ratio        : '..tostring(string.len(us)/string.len(cs)))
 
90
 
 
91
end -- local block
 
92
collectgarbage()
 
93
 
 
94
line(' compress/uncompress')
 
95
do -- local block
 
96
local cs, res
 
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)))
 
104
end -- local block
 
105
 
 
106
line(' zlib '..zlib.version(), '=')