Skip to content

Commit ee36e33

Browse files
committed
hdf5: write scalar compatible with Matlab < R2020a
deduplicate logic for auto-size
1 parent e7025c4 commit ee36e33

File tree

1 file changed

+13
-10
lines changed

1 file changed

+13
-10
lines changed

+stdlib/+hdf5nc/private/h5_new_file.m

Lines changed: 13 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,24 +2,27 @@ function h5_new_file(filename, varname, A, sizeA)
22

33
if isempty(sizeA)
44
if isscalar(A)
5-
h5_write_scalar(filename, varname, A)
6-
return
5+
sizeA = 0;
76
elseif isvector(A)
8-
h5create(filename, varname, length(A), "Datatype", class(A))
7+
sizeA = length(A);
98
else
10-
create_compress(filename, varname, A, size(A))
9+
sizeA = size(A);
1110
end
12-
else
13-
if isscalar(sizeA)
14-
if sizeA == 0
11+
end
12+
13+
if isscalar(sizeA)
14+
if sizeA == 0
15+
if verLessThan('matlab', '9.8')
16+
h5create(filename, varname, 1, "Datatype", class(A))
17+
else
1518
h5_write_scalar(filename, varname, A)
1619
return
17-
else
18-
h5create(filename, varname, sizeA, "Datatype", class(A))
1920
end
2021
else
21-
create_compress(filename, varname, A, sizeA)
22+
h5create(filename, varname, sizeA, "Datatype", class(A))
2223
end
24+
else
25+
create_compress(filename, varname, A, sizeA)
2326
end
2427

2528
h5write(filename, varname, A)

0 commit comments

Comments
 (0)