Ivan Smirnov
Ivan Smirnov
Yea, `create_dataset` in particular would be really nice to have (and `write_dataset` too).
@norru What is `libhdf5.dll.a`, is that a dynamic binary? (why the `.a` then?) I have a win10 VM, if you could suggest what's the easiest way for me to reproduce...
Would it work the same way with msys2, cygwin and whatever else is out there? (i.e. the /bin folder?)
Test file: ``` HDF5 "test.h5" { GROUP "/" { DATASET "a1" { DATATYPE H5T_STRING { STRSIZE 26; STRPAD H5T_STR_NULLPAD; CSET H5T_CSET_ASCII; CTYPE H5T_C_S1; } DATASPACE SIMPLE { ( 5 )...
Prototype: ```rust use std::alloc; use std::error::Error; use std::mem; use std::slice; use std::str; use libc::{c_void, size_t}; use ndarray::Array1; use hdf5_sys::h5::herr_t; use hdf5_sys::h5d::H5Dread; use hdf5_sys::h5i::hid_t; use hdf5_sys::*; const STRING_SIZE: usize = mem::size_of::();...
Output: ``` a1: [ "abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", "123", "a", ] ["abcdefghijklmnopqrstuvwxyz", "ABCDEFGHIJKLMNOPQRSTUVWXYZ", "", "123", "a"], shape=[5], strides=[1], layout=C | F (0x3), const ndim=1 a2: [ "abc", "1", "", "23", ]...
TLDR: we have an HDF5 dataset with type `|S26` and we read it **directly** into a `Vec` and it sort of seems to work.
@magnusuMET There you go as promised ^ 😄
Just verified, the conversion routine indeed runs chunk by chunk. So, if you're converting a dataset with 1K strings but chunk size is 100, you will allocate memory for at...
Yea, it is in-place in a sense that `String` body (pretty hefty, 24B) is generated in place, obviously not the heap data it points to. One could argue it's not...