Size: a a a

IT KPI C/C++ ХВ (не UB)

2021 February 17

k

kvark in IT KPI C/C++ ХВ (не UB)
а что такое hit_t?
источник

k

kvark in IT KPI C/C++ ХВ (не UB)
какой тип?
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
Ruslan Neshta
так тут в битах или байтах последний комментарий?
Вообще она в байтах возвращает - 4 и 8. Для комментария я в биты перевела. Потому что когда через HDF5view типа значений в датасетах просматриваешь, он пишет в битах
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
kvark
а что такое hit_t?
Когда с h5 работаешь, там все объекты имеют тип hid_t. И группы, и датасеты
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
а какой тип под капотом?
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
инт?
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
T - это int
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
data_type_size тоже типа hid_t?
источник

k

kvark in IT KPI C/C++ ХВ (не UB)
а в чем вообще проблема?
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
или чему он равен?
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
Ой, я пропустила строчку. Сейчас
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
там просто нету ничего про data_type_size
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
hid_t group = h5_group_open (file, path.c_str());

hid_t dataset = h5_dataset_open(group, "values");
hid_t datatype = H5Dget_type (dataset);
size_t data_type_size = H5Tget_size(datatype);
H5Tclose (datatype);
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
kvark
а в чем вообще проблема?
В том же линуксе не проходит проверку, когда сравниваем ожидаемый тип и полученный из h5 тип
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
ну я б посмотрел бы как работает гет сайз
источник

RN

Ruslan Neshta in IT KPI C/C++ ХВ (не UB)
чтоб до конца понять что тут сравнивается
источник

АХ

Анна Хашпер... in IT KPI C/C++ ХВ (не UB)
Ну она правильно размер возвращает. Потому что когда я смотрю через HDF5 view я вижу в виндовом файле 32-bit integer, а в линуксовом файле 64-bit integer. А тип для записи получен функцией get_hdf5_type
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
А в чём вопрос вообще?
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Я полагаю что этот hid_t вообще дескриптор/хендл какой нибудь и привязан к реализации в ос
источник

VD

Vlad Doc in IT KPI C/C++ ХВ (не UB)
Если нужно чтобы был одинаковый размер можно приводить к большему типу и потом приводить к hid_t
источник