ГОСТ Р ИСО/ТС 10303-26—2015
// Exemplifies how a nested aggregate of REAL is encoded in HDF5
// The number of elements on each level are:
// 2-3-6
//-3
//-4
//2-3
//
-6
/ / ..............................................................................................................................................
herr_t create_nested_real_aggr(hid_t group_id, hid_t
vien_of_vlen_double_tid/ char *"buffer)
f
hvl_t "wdata;
hvl_t "mybuf;
hvl_c *tA, ‘’tB;
herr_t rstat;
hsize_t dimsfl] - (2);
rstat - 0;
/*
*
Initialize variable-length data.
V
wdata - (hvl_t*) malloc(2"sizeof(hvl_t));
mybuf - <hvl_t") malloc(sizeof(hvl_t));
•buffer - (char’)mybuf;
mybuf->len - 2;
mybuf->p - wdata;
/* Initializing vector C */
wdata[QJ.ien - LEND;
wdata[0].p - (hvl_t *) malloc (LENO * sizeof (fcvl_t));
wdata[ij.ler. - LEN1;
wdata[l].p - (hvl_t *) malloc (LEN1 * sizeof (hvl_t)>;
/* Initialize vector A */
tA - wdata(0>.p;
tA->len - 5;
tA->p - (double *) malloc (tA->len * sizeof (double));
((double •) tA->p){0] -100.0;
(«double
((double
•)tA->p)Jl]
•)tA->p)
[ 2 ]
-101.1;
-102.2;
•) tA->p)[3] -103.3;
•) tA->p)?4) -104.4;
((double
((double
tA+-r;
tA->len - 3;
tA->p - (double M malloc (tA->len * sizeof (double));
((double •) tA->p)-0] - 200.0;
((double •) tA->p)■1) - 201.1;
((double •) tA->p)
12]
- 202.2;
tA+*;
tA->len - 4;
tA->p - (double ") malloc (tA->len * sizeof (double));
((double •)tA->p)[0] - 300.0;
((double •)tA->p)[1j - 301.1;
((double •)tA->p)[2j - 302.2;
((double ■)tA->p)[3J - 303.3;
/* Done with A
* /
/ "
Initialize vector В */
tB - wdata(1].p;
tB->len -3;
tB->p - (double
k)
malloc (tB->len
*
sizeof (double));
41