Возвратите размер (в байтах) переменной, как сохранено на диске
H5ML.sizeof не рекомендуется. Используйте H5T вместо этого.
Эта функция используется, чтобы определить размер (в байтах) структуры или другой (простой) переменной. Это разработано, чтобы соответствовать C sizeof () оператор, когда это используется во время создания типов данных HDF5, особенно тип СОСТАВНОГО ОБЪЕКТА HDF5.
Параметры функции:
size | Размер (в байтах) переменной, когда это хранилось бы на диске. |
arg | Переменная, которую разыскивается размер. |
Эта функция удерживается от использования. Это может только использоваться в рабочих процессах, которые не включают поле, которое является самостоятельно СОСТАВНЫМ ОБЪЕКТОМ HDF5 или переменной длины. Чтобы обработать эти случаи, смещения должны быть вычислены непосредственно. Например, в случае выше, пространство данных файла для такого составного объекта могло быть создано с:
dtype(1) = H5T.copy('H5T_NATIVE_INT');
dtype(2) = H5T.copy('H5T_NATIVE_DOUBLE');
dtype(3) = H5T.copy('H5T_NATIVE_FLOAT');
for j = 1:3, sz(j,1) = H5T.get_size(dtype(j)); end
% The first offset would always be zero and the size of the last
% field does not matter.
offset(1) = 0;
offset(2:3) = cumsum(sz(1:2));
file_type = H5T.create('H5T_COMPOUND',sum(sz));
H5T.insert(file_type,'a', offset(1), dtype(1));
H5T.insert(file_type,'b', offset(2), dtype(2));
H5T.insert(file_type,'c', offset(3), dtype(3));