@@ -275,28 +275,25 @@ def binwrite(A, filename, comments=None, opener=Path.open):
275275 fwrite (buff (typesize , sizeof ("size_t" )))
276276 fwrite (buff (is_iso , sizeof ("bool" )))
277277
278+ Tsize = typesize [0 ]
279+ iso = is_iso [0 ]
280+
278281 if is_hyper :
279- Ap_size [0 ] = (nvec [0 ] + 1 ) * Isize
280- Ah_size [0 ] = nvec [0 ] * Isize
281- Ai_size [0 ] = nvals [0 ] * Isize
282- Ax_size [0 ] = typesize [0 ] if is_iso [0 ] else nvals [0 ] * typesize [0 ]
283- fwrite (buff (Ap [0 ], Ap_size [0 ]))
284- fwrite (buff (Ah [0 ], Ah_size [0 ]))
285- fwrite (buff (Ai [0 ], Ai_size [0 ]))
282+ fwrite (buff (Ap [0 ], (nvec [0 ] + 1 ) * Isize ))
283+ fwrite (buff (Ah [0 ], nvec [0 ] * Isize ))
284+ fwrite (buff (Ai [0 ], nvals [0 ] * Isize ))
285+ Axsize = Tsize if iso else nvals [0 ] * Tsize
286286 elif is_sparse :
287- Ap_size [0 ] = (nvec [0 ] + 1 ) * Isize
288- Ai_size [0 ] = nvals [0 ] * Isize
289- Ax_size [0 ] = typesize [0 ] if is_iso [0 ] else nvals [0 ] * typesize [0 ]
290- fwrite (buff (Ap [0 ], Ap_size [0 ]))
291- fwrite (buff (Ai [0 ], Ai_size [0 ]))
287+ fwrite (buff (Ap [0 ], (nvec [0 ] + 1 ) * Isize ))
288+ fwrite (buff (Ai [0 ], nvals [0 ] * Isize ))
289+ Axsize = Tsize if iso else nvals [0 ] * Tsize
292290 elif is_bitmap :
293- Ab_size [0 ] = nrows [0 ] * ncols [0 ] * ffi .sizeof ("int8_t" )
294- Ax_size [0 ] = typesize [0 ] if is_iso [0 ] else nrows [0 ] * ncols [0 ] * typesize [0 ]
295- fwrite (buff (Ab [0 ], Ab_size [0 ]))
291+ fwrite (buff (Ab [0 ], nrows [0 ] * ncols [0 ] * ffi .sizeof ("int8_t" )))
292+ Axsize = Tsize if iso else nrows [0 ] * ncols [0 ] * Tsize
296293 else :
297- Ax_size [ 0 ] = typesize [ 0 ] if is_iso [ 0 ] else nrows [0 ] * ncols [0 ] * typesize [ 0 ]
294+ Axsize = Tsize if iso else nrows [0 ] * ncols [0 ] * Tsize
298295
299- fwrite (buff (Ax [0 ], Ax_size [ 0 ] ))
296+ fwrite (buff (Ax [0 ], Axsize ))
300297
301298 if by_col and is_hyper :
302299 check_status (
0 commit comments