@@ -2,7 +2,7 @@ mod elements;
22pub mod header;
33
44use self :: header:: {
5- FormatHeaderError , Header , ParseHeaderError , ReadHeaderError , WriteHeaderError ,
5+ FormatHeaderError , Header , Layout , ParseHeaderError , ReadHeaderError , WriteHeaderError ,
66} ;
77use ndarray:: prelude:: * ;
88use ndarray:: { Data , DataOwned , IntoDimension } ;
@@ -170,7 +170,7 @@ where
170170 . expect ( "overflow converting length of data to u64" ) ;
171171 Header {
172172 type_descriptor : A :: type_descriptor ( ) ,
173- fortran_order : false ,
173+ layout : Layout :: Standard ,
174174 shape : dim. as_array_view ( ) . to_vec ( ) ,
175175 }
176176 . write ( file) ?;
@@ -329,10 +329,10 @@ where
329329 D : Dimension ,
330330{
331331 fn write_npy < W : io:: Write > ( & self , mut writer : W ) -> Result < ( ) , WriteNpyError > {
332- let write_contiguous = |mut writer : W , fortran_order : bool | {
332+ let write_contiguous = |mut writer : W , layout : Layout | {
333333 Header {
334334 type_descriptor : A :: type_descriptor ( ) ,
335- fortran_order ,
335+ layout ,
336336 shape : self . shape ( ) . to_owned ( ) ,
337337 }
338338 . write ( & mut writer) ?;
@@ -341,13 +341,13 @@ where
341341 Ok ( ( ) )
342342 } ;
343343 if self . is_standard_layout ( ) {
344- write_contiguous ( writer, false )
344+ write_contiguous ( writer, Layout :: Standard )
345345 } else if self . view ( ) . reversed_axes ( ) . is_standard_layout ( ) {
346- write_contiguous ( writer, true )
346+ write_contiguous ( writer, Layout :: Fortran )
347347 } else {
348348 Header {
349349 type_descriptor : A :: type_descriptor ( ) ,
350- fortran_order : false ,
350+ layout : Layout :: Standard ,
351351 shape : self . shape ( ) . to_owned ( ) ,
352352 }
353353 . write ( & mut writer) ?;
@@ -577,7 +577,7 @@ where
577577 let ndim = shape. ndim ( ) ;
578578 let len = shape_length_checked :: < A > ( & shape) . ok_or ( ReadNpyError :: LengthOverflow ) ?;
579579 let data = A :: read_to_end_exact_vec ( & mut reader, & header. type_descriptor , len) ?;
580- ArrayBase :: from_shape_vec ( shape. set_f ( header. fortran_order ) , data)
580+ ArrayBase :: from_shape_vec ( shape. set_f ( header. layout . is_fortran ( ) ) , data)
581581 . unwrap ( )
582582 . into_dimensionality ( )
583583 . map_err ( |_| ReadNpyError :: WrongNdim ( D :: NDIM , ndim) )
@@ -821,7 +821,7 @@ where
821821 let ndim = shape. ndim ( ) ;
822822 let len = shape_length_checked :: < A > ( & shape) . ok_or ( ViewNpyError :: LengthOverflow ) ?;
823823 let data = A :: bytes_as_slice ( reader, & header. type_descriptor , len) ?;
824- ArrayView :: from_shape ( shape. set_f ( header. fortran_order ) , data)
824+ ArrayView :: from_shape ( shape. set_f ( header. layout . is_fortran ( ) ) , data)
825825 . unwrap ( )
826826 . into_dimensionality ( )
827827 . map_err ( |_| ViewNpyError :: WrongNdim ( D :: NDIM , ndim) )
@@ -841,7 +841,7 @@ where
841841 let len = shape_length_checked :: < A > ( & shape) . ok_or ( ViewNpyError :: LengthOverflow ) ?;
842842 let mid = buf. len ( ) - reader. len ( ) ;
843843 let data = A :: bytes_as_mut_slice ( & mut buf[ mid..] , & header. type_descriptor , len) ?;
844- ArrayViewMut :: from_shape ( shape. set_f ( header. fortran_order ) , data)
844+ ArrayViewMut :: from_shape ( shape. set_f ( header. layout . is_fortran ( ) ) , data)
845845 . unwrap ( )
846846 . into_dimensionality ( )
847847 . map_err ( |_| ViewNpyError :: WrongNdim ( D :: NDIM , ndim) )
0 commit comments