|
|
1.1 root 1: typedef void* PV;
2: typedef void (*PF)(PV);
3:
4: extern PV _vec_new(PV op, int n, int sz, PV f)
5: /*
6: allocate a vector of "n" elements of size "sz"
7: and initialize each by a call of "f"
8: */
9: {
10: register int i;
11: register char* p;
12: if (op == 0) op = PV( new char[n*sz] );
13: p = (char*) op;
14: for (i=0; i<n; i++) ( *PF(f) )( PV(p+i*sz) );
15: return PV(p);
16: }
17:
18: void _vec_delete(PV op, int n, int sz, PV f)
19: {
20: register int i;
21: register char* p = (char*) op;
22: for (i=0; i<n; i++) ( *(PF)f )( (PV)(p+i*sz) );
23: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.