cfad47cfa3/t3compiler/tads3/test/data/bytarr.t

4b825dc642cb6eb9a060e54bf8d69288fbee4904cfad47cfa334b206c65f22086bcc5d63e6f70944
1
#include <tads.h>
2
#include <bytearr.h>
3
4
main(args)
5
{
6
    local b = new ByteArray(1024*1024);
7
    local c;
8
    local i;
9
    local cset;
10
11
    b[32767] = 1;
12
    b[32768] = 2;
13
    b[32769] = 3;
14
15
    for (i = 640*1024 ; i < 640*1024+1024 ; ++i)
16
        b[i] = i & 0xff;
17
18
    for (i = 640*1024 ; i < 640*1024+1024 ; ++i)
19
        "b[<<i>>]=<<b[i]>>\t";
20
    "\b";
21
    
22
    c = new ByteArray(b, 640*1024 + 128, 256);
23
    for (i = 1 ; i <= c.length() ; ++i)
24
        "c[<<i>>]=<<c[i]>>\t";
25
    "\b";
26
27
    "---savepoint---\b";
28
    savepoint();
29
30
    c = b.subarray(640*1024 + 200, 25);
31
    for (i = 1 ; i <= c.length() ; ++i)
32
        "c[<<i>>]=<<c[i]>>\t";
33
    "\b";
34
35
    c.copyFrom(b, 640*1024+50, 3, 5);
36
    "after copy:\n";
37
    for (i = 1 ; i <= c.length() ; ++i)
38
        "c[<<i>>]=<<c[i]>>\t";
39
    "\b";
40
41
    c.fillValue(77, 10, 5);
42
    "after fill:\n";
43
    for (i = 1 ; i <= c.length() ; ++i)
44
        "c[<<i>>]=<<c[i]>>\t";
45
    "\b";
46
47
    "---undo---\b";
48
    undo();
49
    for (i = 1 ; i <= c.length() ; ++i)
50
        "c[<<i>>]=<<c[i]>>\t";
51
    "\b";
52
    
53
    b = new ByteArray(32767);
54
    b = new ByteArray(32768);
55
    b = new ByteArray(65536);
56
    b = new ByteArray(65537);
57
58
    cset = new CharacterSet('us-ascii');
59
60
    b = new ByteArray(100);
61
    for (i = 1 ; i <= 26 ; ++i)
62
        b[i] = i + 64;
63
    "map to string: <<b.mapToString(cset)>>\n";
64
    "\b";
65
66
    b = 'hello there'.mapToByteArray(cset);
67
    "map to byte array:\n";
68
    for (i = 1 ; i <= b.length() ; ++i)
69
        "b[<<i>>]=<<b[i]>>\t";
70
    "\b";
71
72
    "--- moving: src=3, dst=5, len=3 ---\b";
73
    b.copyFrom(b, 3, 5, 3);
74
    for (i = 1 ; i <= b.length() ; ++i)
75
        "b[<<i>>]=<<b[i]>>\t";
76
    "\b";
77
78
    "--- moving: src=7, dst=5, len=3 ---\b";
79
    b.copyFrom(b, 7, 5, 3);
80
    for (i = 1 ; i <= b.length() ; ++i)
81
        "b[<<i>>]=<<b[i]>>\t";
82
    "\b";
83
}