File: test84.c

package info (click to toggle)
libtpl 1.6.1-1.2
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 2,028 kB
  • sloc: ansic: 5,669; perl: 1,062; makefile: 101; cpp: 32; sh: 18
file content (63 lines) | stat: -rwxr-xr-x 1,376 bytes parent folder | download | duplicates (4)
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
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
52
53
54
55
56
57
58
59
60
61
62
63
#include <stdio.h>
#include "tpl.h"

#define ILEN 10
#define KLEN 8
#define FLEN 5

struct st {
    char c;
    double f[FLEN];
};

int main() {
    tpl_node *tn;
    /* some meaningless test data */
    struct st s;
    int j; 
    int i[ILEN];
    int k[KLEN];
    char a;
    char b;

    tn = tpl_map("cA(i#)S(cf#)A(ci#)", &a, i, ILEN, &s, FLEN, &b, k, KLEN);
    tpl_load(tn,TPL_FILE,"test84_0.tpl");

    tpl_unpack(tn,0);
    printf("%c %c %.2f %.2f %.2f %.2f %.2f \n", a, s.c, s.f[0], s.f[1], s.f[2], s.f[3], s.f[4]);

    while( tpl_unpack(tn,1) > 0) {
        for(j=0;j<ILEN;j++) printf("%d ", i[j]);
        printf("\n");
    }

    while( tpl_unpack(tn,2) > 0) {
        printf("%c ", b);
        for(j=0;j<KLEN;j++) printf("%d ", k[j]);
        printf("\n");
    }

    tpl_free(tn);

    /* use the big-endian input file and repeat */

    tn = tpl_map("cA(i#)S(cf#)A(ci#)", &a, i, ILEN, &s, FLEN, &b, k, KLEN);
    tpl_load(tn,TPL_FILE,"test84_1.tpl");

    tpl_unpack(tn,0);
    printf("%c %c %.2f %.2f %.2f %.2f %.2f \n", a, s.c, s.f[0], s.f[1], s.f[2], s.f[3], s.f[4]);

    while( tpl_unpack(tn,1) > 0) {
        for(j=0;j<ILEN;j++) printf("%d ", i[j]);
        printf("\n");
    }

    while( tpl_unpack(tn,2) > 0) {
        printf("%c ", b);
        for(j=0;j<KLEN;j++) printf("%d ", k[j]);
        printf("\n");
    }

    tpl_free(tn);
    return(0);
}