rstsr-core 0.8.0

An n-Dimension Rust Tensor Toolkit
Documentation
# NumPy coverage checklist (rstsr-core) — full core_func surface.
# Pinned NumPy: v2.5.2 · Checkout: ../other-repos/numpy (tag v2.5.2)
# status: transferred | partial | todo | not-applicable
# numpy_source_hash = sha256[:12] of the NumPy test function source at the pinned
#   version (recompute via `python3 sync_numpy.py <numpy_root>`). Changed hash on a
#   transferred/partial row => the rstsr translation may be stale (see core-numpy-sync).
# Scope: `core_func/` categories — manipulation (layout/shape change),
#   creation_from_tensor (concat/stack/hstack/vstack/diag/meshgrid/unstack),
#   reduction (sum/prod/mean/std/var/min/max/argmin/argmax/all/any/count_nonzero),
#   creation (arange/linspace/zeros/ones/full/eye/tril/triu), linalg (matmul/vecdot),
#   and unary/binary math + comparison + basic indexing (in progress).
#   Gap functions rstsr does not implement (split/dstack/column_stack/block/tile/...)
#   are recorded as `todo` rows, one representative method per NumPy test class
#   (note cites the full method count).
numpy_path,class,method,version_added,status,rstsr_test,numpy_source_hash,note
_core/tests/test_multiarray.py,TestMethods,test_reshape,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::multiarray,8851b00eb866,4 cases incl order=F
_core/tests/test_multiarray.py,TestMethods,test_transpose,v2.5.2,transferred,core_func/manipulation/test_transpose.rs::numpy_transpose::test_multiarray,945c2ae1db76,default + ValueError on wrong axis count
_core/tests/test_multiarray.py,TestMethods,test_swapaxes,v2.5.2,transferred,core_func/manipulation/test_transpose.rs::numpy_swapaxes::test_multiarray,2248d0ee2415,"shape + elementwise content all 64 (i,j) pairs; view (gh-5260) asserted via ptr::eq; non-contiguous b source not ported"
_core/tests/test_multiarray.py,TestMethods,test_squeeze,v2.5.2,transferred,core_func/manipulation/test_squeeze.rs::numpy_squeeze::test_multiarray,d229fe4a5816,all 4 cases incl non-singleton ValueError
_core/tests/test_multiarray.py,TestMethods,test_ravel,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::test_ravel,f7c3fa028662,C/F value cases via reshape(-1); order A/K N/A (intentional)
_core/tests/test_multiarray.py,TestMethods,test_flatten,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::test_flatten,0450c951de16,"value cases; flatten==reshape(-1), copy-vs-view intentional"
_core/tests/test_multiarray.py,TestMethods,test_ravel_subclass,v2.5.2,not-applicable,,bff12cfaf5bc,Python ndarray subclassing
_core/tests/test_multiarray.py,TestCompress,test_flatten,v2.5.2,not-applicable,,9962b4a8cc11,misnamed; tests np.compress
_core/tests/test_multiarray.py,TestPickling,test_transposed_contiguous_array,v2.5.2,not-applicable,,c43496338b73,pickle/OOB-buffer serialization
_core/tests/test_multiarray.py,TestArrayConstruction,test_array_cont,v2.5.2,partial,core_func/manipulation/test_to_contig.rs,fdf8dd396c31,"np.ascontiguousarray/asfortranarray analog; rstsr to_contig custom-tested, no provenance"
_core/tests/test_numeric.py,TestNonarrayArgs,test_reshape,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::numeric,1e89d6277c5c,list input reshape
_core/tests/test_numeric.py,TestNonarrayArgs,test_reshape_shape_arg,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::numeric,89479bed5c16,5 call variants; missing-arg TypeError N/A (compile-time)
_core/tests/test_numeric.py,TestNonarrayArgs,test_reshape_copy_arg,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::numeric,72ff6fdc050d,copy semantics via ptr::eq + is_err
_core/tests/test_numeric.py,TestNonarrayArgs,test_ravel,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::test_ravel,d322194bc831,np.ravel value covered by test_ravel; raw-list input is Python-specific
_core/tests/test_numeric.py,TestNonarrayArgs,test_squeeze,v2.5.2,transferred,core_func/manipulation/test_squeeze.rs::numpy_squeeze::test_basic,d76cd394ff79,9 shape cases
_core/tests/test_numeric.py,TestNonarrayArgs,test_swapaxes,v2.5.2,transferred,core_func/manipulation/test_transpose.rs::numpy_swapaxes::test_numeric,88b2463ee9d9,list input content check
_core/tests/test_numeric.py,TestNonarrayArgs,test_transpose,v2.5.2,transferred,core_func/manipulation/test_transpose.rs::numpy_transpose::test_numeric,f05f48839a54,"(1,0),(-1,-2); matrix_transpose out of scope"
_core/tests/test_numeric.py,TestResize,test_reshape_from_zero,v2.5.2,not-applicable,,15f9f0041ac2,"tests np.resize (repeat/tile), not reshape"
_core/tests/test_numeric.py,TestMoveaxis,test_move_to_end,v2.5.2,transferred,core_func/manipulation/test_moveaxis.rs::numpy_moveaxis::test_basic,719190e69196,"all source->-1 cases on (5,6,7)"
_core/tests/test_numeric.py,TestMoveaxis,test_move_new_position,v2.5.2,transferred,core_func/manipulation/test_moveaxis.rs::numpy_moveaxis::test_move_new_position,b9161f1337ce,4-D arbitrary-destination cases
_core/tests/test_numeric.py,TestMoveaxis,test_preserve_order,v2.5.2,transferred,core_func/manipulation/test_moveaxis.rs::numpy_moveaxis::test_preserve_order,ba1b5ec28977,"identity/preserve cases; range(4)->[0,1,2,3] (AxesIndex has no Range impl)"
_core/tests/test_numeric.py,TestMoveaxis,test_move_multiples,v2.5.2,transferred,core_func/manipulation/test_moveaxis.rs::numpy_moveaxis::test_equivalent_operations,b7f4237fc694,zero-size + out-of-order multi-axis pairs
_core/tests/test_numeric.py,TestMoveaxis,test_errors,v2.5.2,transferred,core_func/manipulation/test_moveaxis.rs::numpy_moveaxis::test_errors,68d6c504fdea,"6 error categories via is_err; error-kind conflated (intentional, see numpy_differences.md)"
_core/tests/test_numeric.py,TestMoveaxis,test_array_likes,v2.5.2,not-applicable,,2ad1c9a7984b,masked arrays / class preservation
_core/tests/test_numeric.py,TestRollaxis,test_exceptions,v2.5.2,not-applicable,,ae5da103ad49,rstsr has no rollaxis
_core/tests/test_numeric.py,TestRollaxis,test_results,v2.5.2,not-applicable,,eac707da345d,rstsr has no rollaxis
_core/tests/test_numeric.py,TestRoll,test_roll1d,v2.5.2,not-applicable,,301d1d579165,rstsr has no roll
_core/tests/test_numeric.py,TestRoll,test_roll2d,v2.5.2,not-applicable,,b53a8bb4ae2c,rstsr has no roll
_core/tests/test_numeric.py,TestRoll,test_roll_empty,v2.5.2,not-applicable,,89e1e985a56a,rstsr has no roll
_core/tests/test_numeric.py,TestRoll,test_roll_unsigned_shift,v2.5.2,not-applicable,,f11f02964107,rstsr has no roll
_core/tests/test_numeric.py,TestRoll,test_roll_big_int,v2.5.2,not-applicable,,daf9a9e0f62f,rstsr has no roll
_core/tests/test_regression.py,TestRegression,test_reshape_order,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::regression,fe7311072c67,order=F incl non-contig column view
_core/tests/test_regression.py,TestRegression,test_reshape_zero_strides,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::regression,ceb0f75a1627,broadcast zero-stride reshape
_core/tests/test_regression.py,TestRegression,test_reshape_zero_size,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::regression,854cd2fe0e89,-1 inference on 0-size; in-place a.shape= N/A
_core/tests/test_regression.py,TestRegression,test_reshape_trailing_ones_strides,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::regression,70484d0fae41,trailing-1 strides C & F
_core/tests/test_regression.py,TestRegression,test_reshape_size_overflow,v2.5.2,partial,core_func/manipulation/test_reshape.rs::numpy_reshape::regression,cb4f4bc5c833,BUG: reshape_f panics (debug: overflow; release: index-OOB after wrapped size fools check) instead of returning Err; test masks via catch_unwind -> see numpy_differences.md
_core/tests/test_regression.py,TestRegression,test_ravel_with_order,v2.5.2,transferred,core_func/manipulation/test_reshape.rs::numpy_reshape::test_ravel_with_order,8726cf0e82e2,1-D F-ravel view via ptr::eq
_core/tests/test_regression.py,TestRegression,test_arr_transpose,v2.5.2,transferred,core_func/manipulation/test_transpose.rs::numpy_transpose::test_regression_arr_transpose,4fa8b3cfe29d,16-D identity permutation (#516)
_core/tests/test_regression.py,TestRegression,test_squeeze_type,v2.5.2,transferred,core_func/manipulation/test_squeeze.rs::numpy_squeeze::test_squeeze_type,e04defbcd202,0-dim input edge; type-is-ndarray assertion N/A
_core/tests/test_regression.py,TestRegression,test_squeeze_contiguous,v2.5.2,transferred,core_func/manipulation/test_squeeze.rs::numpy_squeeze::test_squeeze_contiguous,d58b47ca044c,C/F contiguity via c_contig()/f_contig()
_core/tests/test_regression.py,TestRegression,test_squeeze_axis_handling,v2.5.2,not-applicable,,f2ce8994ae66,Python subclass dispatch
_core/tests/test_regression.py,TestRegression,test_dtype_scalar_squeeze,v2.5.2,not-applicable,,ec89b72f6306,dtype scalars; content drifted v2.4->v2.5 (added timedelta case)
_core/tests/test_shape_base.py,TestAtleast1d,test_0D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_1d::test_0d_array,9f073c7644a6,"0-D -> (1,); >=1-D unchanged (view, no copy)"
_core/tests/test_shape_base.py,TestAtleast1d,test_1D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_1d::test_1d_array,9619c35e5d47,1-D unchanged (view)
_core/tests/test_shape_base.py,TestAtleast1d,test_2D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_1d::test_2d_array,49fad8eca0ff,2-D unchanged (view)
_core/tests/test_shape_base.py,TestAtleast1d,test_3D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_1d::test_3d_array,afe4b8b417f7,3-D unchanged (view)
_core/tests/test_shape_base.py,TestAtleast1d,test_r1array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_1d::test_r1array,94a9370383c7,"shape checks: scalar->(1,); 2-D unchanged"
_core/tests/test_shape_base.py,TestAtleast2d,test_0D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_2d::test_0d_array,4f50237348a5,"0-D -> (1,1) (view)"
_core/tests/test_shape_base.py,TestAtleast2d,test_1D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_2d::test_1d_array,b8326bbbb67e,"1-D (N,) -> (1,N) (view)"
_core/tests/test_shape_base.py,TestAtleast2d,test_2D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_2d::test_2d_array,745c50c301f2,2-D unchanged (view)
_core/tests/test_shape_base.py,TestAtleast2d,test_3D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_2d::test_3d_array,c5b5dd72473f,3-D unchanged (view)
_core/tests/test_shape_base.py,TestAtleast2d,test_r2array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_2d::test_r2array,9036c8b6d804,"shape checks: scalar->(1,1); 1-D->(1,2); 3-D unchanged"
_core/tests/test_shape_base.py,TestAtleast3d,test_0D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_3d::test_0d_array,7de67266a262,"0-D -> (1,1,1) (view)"
_core/tests/test_shape_base.py,TestAtleast3d,test_1D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_3d::test_1d_array,1c60d12ff8fe,"1-D (N,) -> (1,N,1) (view)"
_core/tests/test_shape_base.py,TestAtleast3d,test_2D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_3d::test_2d_array,b99281fec7a2,"2-D (M,N) -> (M,N,1) (view)"
_core/tests/test_shape_base.py,TestAtleast3d,test_3D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_atleast.rs::numpy_atleast_3d::test_3d_array,5de09fd957f4,3-D unchanged (view)
lib/tests/test_function_base.py,TestFlip,test_axes,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_axes,1bf0248f7979,4 AxisError cases
lib/tests/test_function_base.py,TestFlip,test_basic_lr,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_basic_lr,9e9146ef8e9c,axis 1 flip
lib/tests/test_function_base.py,TestFlip,test_basic_ud,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_basic_ud,c5d840a1a5c2,axis 0 flip
lib/tests/test_function_base.py,TestFlip,test_3d_swap_axis0,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_3d_swap_axis0,1cfa49a026cf,3D axis 0
lib/tests/test_function_base.py,TestFlip,test_3d_swap_axis1,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_3d_swap_axis1,ce0bcb2d51b8,3D axis 1
lib/tests/test_function_base.py,TestFlip,test_3d_swap_axis2,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_3d_swap_axis2,d780e126d225,3D axis 2
lib/tests/test_function_base.py,TestFlip,test_4d,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_4d,5ac43dfd54df,4-D flip via flipud oracle
lib/tests/test_function_base.py,TestFlip,test_default_axis,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_default_axis,de809f560fe5,axis=None all-axes
lib/tests/test_function_base.py,TestFlip,test_multiple_axes,v2.5.2,transferred,core_func/manipulation/test_flip.rs::numpy_flip::test_multiple_axes,e8c71ea7f723,"(), (0,2), (1,2)"
lib/tests/test_shape_base.py,TestExpandDims,test_functionality,v2.5.2,transferred,core_func/manipulation/test_expand_dims.rs::numpy_expand_dims::test_functionality,7acdca388100,"axis range(-5,4) on 4-D"
lib/tests/test_shape_base.py,TestExpandDims,test_axis_tuple,v2.5.2,transferred,core_func/manipulation/test_expand_dims.rs::numpy_expand_dims::test_axis_tuple,d7c2b9c239ea,4 tuple cases
lib/tests/test_shape_base.py,TestExpandDims,test_axis_out_of_range,v2.5.2,transferred,core_func/manipulation/test_expand_dims.rs::numpy_expand_dims::test_axis_out_of_range,2b4ccf4ee6ae,4 OOB cases
lib/tests/test_shape_base.py,TestExpandDims,test_repeated_axis,v2.5.2,transferred,core_func/manipulation/test_expand_dims.rs::numpy_expand_dims::test_repeated_axis,5a62f163a4a5,"(1,1) error"
lib/tests/test_shape_base.py,TestExpandDims,test_subclasses,v2.5.2,not-applicable,,d852b30d52ba,masked arrays
lib/tests/test_shape_base.py,TestSqueeze,test_basic,v2.5.2,transferred,core_func/manipulation/test_squeeze.rs::numpy_squeeze::test_basic_shape_base,e55faa446597,reshape-equiv + 0-dim result
lib/tests/test_stride_tricks.py,,test_broadcast_to_succeeds,v2.5.2,transferred,core_func/manipulation/test_broadcast.rs::numpy_broadcast_to::test_broadcast_to_succeeds,b892af63057d,"15/15 cases incl L254 [ones(0),0,ones(0)]"
lib/tests/test_stride_tricks.py,,test_broadcast_to_raises,v2.5.2,transferred,core_func/manipulation/test_broadcast.rs::numpy_broadcast_to::test_broadcast_to_raises,90bdba641ac5,"8/11; 3 negative-shape cases N/A (rstsr usize, intentional)"
lib/tests/test_stride_tricks.py,,test_broadcast_shape,v2.5.2,transferred,core_func/manipulation/test_broadcast_shapes.rs::numpy_broadcast_shapes::test_broadcast_shape_internal; core_func/manipulation/test_broadcast.rs::numpy_broadcast_arrays::test_broadcast_arrays_basic,8d7297c243ab,internal _broadcast_shape; covered via broadcast_shapes + broadcast_arrays
lib/tests/test_stride_tricks.py,,test_broadcast_shapes_succeeds,v2.5.2,transferred,core_func/manipulation/test_broadcast_shapes.rs::numpy_broadcast_shapes::test_broadcast_shapes_succeeds,e8a33bbd032b,27 rows + gh-5862
lib/tests/test_stride_tricks.py,,test_broadcast_shapes_raises,v2.5.2,transferred,core_func/manipulation/test_broadcast_shapes.rs::numpy_broadcast_shapes::test_broadcast_shapes_raises,647414e33ad9,6 incompatible + bad_args
lib/tests/test_stride_tricks.py,,test_same,v2.5.2,transferred,core_func/manipulation/test_broadcast.rs::numpy_broadcast_arrays::test_same,7af24661c1a3,broadcast_arrays value equality on identical inputs
lib/tests/test_stride_tricks.py,,test_broadcast_kwargs,v2.5.2,not-applicable,,2b649d8ce4cc,kwargs/subok; Rust typed API
lib/tests/test_stride_tricks.py,,test_one_off,v2.5.2,transferred,core_func/manipulation/test_broadcast.rs::numpy_broadcast_arrays::test_one_off,6525bc5d655e,broadcast_arrays 1-to-3 value broadcast
lib/tests/test_stride_tricks.py,,test_same_input_shapes,v2.5.2,partial,,83ffb55b52ab,"0-dim rows covered via broadcast_shapes, not broadcast_arrays"
lib/tests/test_stride_tricks.py,,test_two_compatible_by_ones_input_shapes,v2.5.2,partial,,4da4f5c9a301,"covered via broadcast_shapes, not broadcast_arrays"
lib/tests/test_stride_tricks.py,,test_two_compatible_by_prepending_ones_input_shapes,v2.5.2,partial,,ba3bff48d43e,"covered via broadcast_shapes, not broadcast_arrays"
lib/tests/test_stride_tricks.py,,test_incompatible_shapes_raise_valueerror,v2.5.2,transferred,core_func/manipulation/test_broadcast.rs::numpy_broadcast_arrays::test_incompatible_shapes_raise,8b860316dc77,"broadcast_arrays raise path, 4 pairs + reverses (8 invocations)"
lib/tests/test_stride_tricks.py,,test_same_as_ufunc,v2.5.2,partial,,5d4734abbd16,shape portion covered; ufunc-equiv & negative-stride layout not portable
lib/tests/test_twodim_base.py,TestFliplr,test_basic,v2.5.2,not-applicable,,fb5f01990b67,rstsr has no fliplr; flip(1) covers 2D content only
lib/tests/test_twodim_base.py,TestFlipud,test_basic,v2.5.2,not-applicable,,820060b98473,rstsr has no flipud; flip(0) covers 2D content only
_core/tests/test_shape_base.py,TestConcatenate,test_returns_copy,v2.5.2,transferred,core_func/creation_from_tensor/test_concat.rs::numpy_concatenate::test_returns_copy,d314c9c4c23b,copy semantics via ptr::eq (rstsr concat always allocates)
_core/tests/test_shape_base.py,TestConcatenate,test_exceptions,v2.5.2,transferred,core_func/creation_from_tensor/test_concat.rs::numpy_concatenate::test_exceptions,e5f4a4892c91,axis OOB / 0-D / ndim+shape mismatch / empty -> is_err; moveaxis rotation collapsed to fixed cases
_core/tests/test_shape_base.py,TestConcatenate,test_huge_list_error,v2.5.2,not-applicable,,6cedb3ef8e90,requires_memory 64-bit-only stress
_core/tests/test_shape_base.py,TestConcatenate,test_concatenate_axis_None,v2.5.2,not-applicable,,f587a65c1105,rstsr concat has no axis=None flatten mode (intentional; see numpy_differences.md)
_core/tests/test_shape_base.py,TestConcatenate,test_large_concatenate_axis_None,v2.5.2,not-applicable,,9710608c3157,axis=None (intentional)
_core/tests/test_shape_base.py,TestConcatenate,test_concatenate,v2.5.2,transferred,core_func/creation_from_tensor/test_concat.rs::numpy_concatenate::test_concatenate,6dfdfbf05e01,1D/2D/3D value + neg axis + transpose-view inputs; out= N/A
_core/tests/test_shape_base.py,TestConcatenate,test_concatenate_same_value,v2.5.2,not-applicable,,8afb5e1efcb4,invalid casting kwarg
_core/tests/test_shape_base.py,TestConcatenate,test_operator_concat,v2.5.2,not-applicable,,9e596ee6f32d,Python operator.concat
_core/tests/test_shape_base.py,TestConcatenate,test_bad_out_shape,v2.5.2,not-applicable,,a38a81ef8023,out= parameter
_core/tests/test_shape_base.py,TestConcatenate,test_out_and_dtype,v2.5.2,not-applicable,,8e7c8983c4b5,out=/dtype=/casting parametrized
_core/tests/test_shape_base.py,TestConcatenate,test_dtype_with_promotion,v2.5.2,not-applicable,,822b5e250c1c,dtype= promotion
_core/tests/test_shape_base.py,TestConcatenate,test_string_dtype_does_not_inspect,v2.5.2,not-applicable,,f0d7b612b65f,string dtype S/U
_core/tests/test_shape_base.py,TestConcatenate,test_subarray_error,v2.5.2,not-applicable,,f78197012ca9,subarray dtype
_core/tests/test_shape_base.py,TestHstack,test_non_iterable,v2.5.2,not-applicable,,f0163a8f35a8,TypeError; compile-time typed
_core/tests/test_shape_base.py,TestHstack,test_empty_input,v2.5.2,transferred,core_func/creation_from_tensor/test_hstack.rs::numpy_hstack::test_empty_input,83472a2eb304,empty -> is_err
_core/tests/test_shape_base.py,TestHstack,test_0D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_hstack.rs::numpy_hstack::test_0d_array,84118f3be82d,"atleast_1d promotes 0-D -> (1,); concat axis 0 -> (2,)"
_core/tests/test_shape_base.py,TestHstack,test_1D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_hstack.rs::numpy_hstack::test_1d_array,1139f995bd6d,1-D concat axis 0
_core/tests/test_shape_base.py,TestHstack,test_2D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_hstack.rs::numpy_hstack::test_2d_array,a98a8d7a4971,2-D concat axis 1
_core/tests/test_shape_base.py,TestHstack,test_generator,v2.5.2,not-applicable,,0d78720df969,TypeError; generator
_core/tests/test_shape_base.py,TestHstack,test_casting_and_dtype,v2.5.2,not-applicable,,513617fd26dc,dtype=/casting kwargs
_core/tests/test_shape_base.py,TestHstack,test_casting_and_dtype_type_error,v2.5.2,not-applicable,,39b63ee46238,dtype=/casting kwargs
_core/tests/test_shape_base.py,TestVstack,test_non_iterable,v2.5.2,not-applicable,,302c3d14012b,TypeError; compile-time typed
_core/tests/test_shape_base.py,TestVstack,test_empty_input,v2.5.2,transferred,core_func/creation_from_tensor/test_vstack.rs::numpy_vstack::test_empty_input,6d3f0274ef32,empty -> is_err
_core/tests/test_shape_base.py,TestVstack,test_0D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_vstack.rs::numpy_vstack::test_0d_array,008810fb9758,"atleast_2d promotes 0-D -> (1,1); concat axis 0 -> (2,1)"
_core/tests/test_shape_base.py,TestVstack,test_1D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_vstack.rs::numpy_vstack::test_1d_array,429ad58823c2,"atleast_2d promotes 1-D (N,) -> (1,N); concat axis 0 -> (2,N)"
_core/tests/test_shape_base.py,TestVstack,test_2D_array,v2.5.2,transferred,core_func/creation_from_tensor/test_vstack.rs::numpy_vstack::test_2d_array,264466cbdbb0,2-D concat axis 0 (matches numpy)
_core/tests/test_shape_base.py,TestVstack,test_2D_array2,v2.5.2,transferred,core_func/creation_from_tensor/test_vstack.rs::numpy_vstack::test_2d_array2,dbe6388ea67a,"1-D -> (1,N) -> (2,N) = [[1,2],[1,2]]"
_core/tests/test_shape_base.py,TestVstack,test_generator,v2.5.2,not-applicable,,3b3bef158ae3,TypeError; generator
_core/tests/test_shape_base.py,TestVstack,test_casting_and_dtype,v2.5.2,not-applicable,,056fb25116fd,dtype=/casting kwargs
_core/tests/test_shape_base.py,TestVstack,test_casting_and_dtype_type_error,v2.5.2,not-applicable,,83a2427a8034,dtype=/casting kwargs
_core/tests/test_shape_base.py,,test_stack,v2.5.2,transferred,core_func/creation_from_tensor/test_stack.rs::numpy_stack,201679da1fc8,1d/2d shapes+axes+empty+edge errors across test_1d_input/test_shapes/test_empty_arrays/test_edge_cases; 0d divergence in test_0d_input
_core/tests/test_shape_base.py,,test_unstack,v2.5.2,transferred,core_func/creation_from_tensor/test_unstack.rs::numpy_unstack::test_unstack,69ac6b20410c,all 3 axes + neg axis + OOB/0-D errors; returns Vec not tuple
lib/tests/test_twodim_base.py,TestDiag,test_vector,v2.5.2,transferred,core_func/creation_from_tensor/test_diag.rs::numpy_diag::test_vector,39d80e62825b,1-D->2-D diag w/ offset k=0/2/-2
lib/tests/test_twodim_base.py,TestDiag,test_matrix,v2.5.2,transferred,core_func/creation_from_tensor/test_diag.rs::numpy_diag::test_matrix,88fc9c080640,2-D->1-D extract w/ offset; get_mat(i+j)=100*(i+j)+1
lib/tests/test_twodim_base.py,TestDiag,test_fortran_order,v2.5.2,transferred,core_func/creation_from_tensor/test_diag.rs::numpy_diag::test_fortran_order,115341dd2ea3,F-contig input; diag layout-agnostic
lib/tests/test_twodim_base.py,TestDiag,test_diag_bounds,v2.5.2,transferred,core_func/creation_from_tensor/test_diag.rs::numpy_diag::test_diag_bounds,f44b8f97df30,offset OOB -> empty; BUGFIX: exposed Layout::diagonal negative-offset range bug (d2->d1; see numpy_differences.md) now fixed
lib/tests/test_twodim_base.py,TestDiag,test_failure,v2.5.2,transferred,core_func/creation_from_tensor/test_diag.rs::numpy_diag::test_failure,306d41a62b26,3-D input -> is_err
lib/tests/test_function_base.py,TestMeshgrid,test_simple,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_simple,896963800bcc,xy default 2-input values
lib/tests/test_function_base.py,TestMeshgrid,test_single_input,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_single_input,7c1060843e11,1-input
lib/tests/test_function_base.py,TestMeshgrid,test_no_input,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_no_input,1d4bc04471db,empty input -> empty Vec
lib/tests/test_function_base.py,TestMeshgrid,test_indexing,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_indexing,95592bb3bd4f,ij/xy values+shapes+invalid->is_err
lib/tests/test_function_base.py,TestMeshgrid,test_sparse,v2.5.2,not-applicable,,5a903f0131ca,rstsr meshgrid has no sparse= param (intentional; see numpy_differences.md)
lib/tests/test_function_base.py,TestMeshgrid,test_always_tuple,v2.5.2,not-applicable,,178d03683579,returns Vec not tuple; coupled to sparse
lib/tests/test_function_base.py,TestMeshgrid,test_invalid_arguments,v2.5.2,not-applicable,,bead81f3ee0c,Python kwargs (indices= typo)
lib/tests/test_function_base.py,TestMeshgrid,test_return_type,v2.5.2,partial,,74f9612a8bb1,DIVERGENCE: rstsr homogeneous-dtype; numpy preserves per-input dtype; see numpy_differences.md
lib/tests/test_function_base.py,TestMeshgrid,test_writeback,v2.5.2,not-applicable,,1e2dd4945e02,Python view/copy mutation semantics
lib/tests/test_function_base.py,TestMeshgrid,test_nd_shape,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_nd_shape,c4e7fa1c191a,"5-input xy shape (2,1,3,4,5)"
lib/tests/test_function_base.py,TestMeshgrid,test_nd_values,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_nd_values,aeb73be3feda,3-input xy values
lib/tests/test_function_base.py,TestMeshgrid,test_nd_indexing,v2.5.2,transferred,core_func/creation_from_tensor/test_meshgrid.rs::numpy_meshgrid::test_nd_indexing,bf1eaf1cd8c9,3-input ij values
_core/tests/test_shape_base.py,TestBlock,test_block_simple_row_wise,v2.5.2,todo,,fa32b4cd47b5,rstsr has no block; 19 methods in TestBlock (representative row)
lib/tests/test_shape_base.py,TestColumnStack,test_2D_arrays,v2.5.2,todo,,03e80a474f17,rstsr has no column_stack; 4 methods (representative)
lib/tests/test_shape_base.py,TestDstack,test_2D_array,v2.5.2,todo,,76e641dbbf00,rstsr has no dstack; 6 methods (representative)
lib/tests/test_shape_base.py,TestArraySplit,test_integer_split,v2.5.2,todo,,58e018f68a49,rstsr has no array_split; 9 methods (representative)
lib/tests/test_shape_base.py,TestSplit,test_equal_split,v2.5.2,todo,,9cdaba7b936a,rstsr has no split; 2 methods (representative)
lib/tests/test_shape_base.py,TestHsplit,test_2D_array,v2.5.2,todo,,25baf0aa4181,rstsr has no hsplit; 4 methods (representative)
lib/tests/test_shape_base.py,TestVsplit,test_2D_array,v2.5.2,todo,,6ec470002bf5,rstsr has no vsplit; 4 methods (representative)
lib/tests/test_shape_base.py,TestDsplit,test_2D_array,v2.5.2,todo,,37104399225a,rstsr has no dsplit; 5 methods (representative)
lib/tests/test_shape_base.py,TestTile,test_basic,v2.5.2,todo,,1528134d1518,rstsr has no tile; 4 methods (representative)
# --- core_func/reduction ---
_core/tests/test_numeric.py,TestNonarrayArgs,test_sum,v2.5.2,transferred,core_func/reduction/test_sum.rs::numpy_sum::test_numeric,5b4513c503cd,"keepdims emulated as axis-dropped (rstsr has no keepdims; see numpy_differences.md)"
_core/tests/test_numeric.py,TestNonarrayArgs,test_prod,v2.5.2,transferred,core_func/reduction/test_prod.rs::numpy_prod::test_numeric;test_basic,e3312864895c,"axis=-1 values + TestProd::test_basic values (dtype loop N/A)"
_core/tests/test_numeric.py,TestNonarrayArgs,test_mean,v2.5.2,transferred,core_func/reduction/test_mean.rs::numpy_mean::test_numeric,bfcab2024a80,"all/axes values; rstsr requires Float input (NumPy promotes int; see numpy_differences.md); np.mean([]) nan+warning N/A"
_core/tests/test_numeric.py,TestNonarrayArgs,test_std,v2.5.2,transferred,core_func/reduction/test_std.rs::numpy_std::test_numeric,0ae4888c9258,ddof=0; Float input required
_core/tests/test_numeric.py,TestNonarrayArgs,test_var,v2.5.2,transferred,core_func/reduction/test_var.rs::numpy_var::test_numeric,b7860e06335b,ddof=0; Float input required
_core/tests/test_numeric.py,TestNonarrayArgs,test_count_nonzero,v2.5.2,transferred,core_func/reduction/test_count_nonzero.rs::numpy_count_nonzero::test_numeric,a287a7d15976,axis=1 values
lib/tests/test_function_base.py,TestAmax,test_basic,v2.5.2,transferred,core_func/reduction/test_max.rs::numpy_max::test_basic,22ca67eb1f0a,"np.amax -> max; all-reduce + axes values"
lib/tests/test_function_base.py,TestAmin,test_basic,v2.5.2,transferred,core_func/reduction/test_min.rs::numpy_min::test_basic,38f70a205f1b,"np.amin -> min; all-reduce + axes values"
_core/tests/test_multiarray.py,TestArgmax,test_combinations,v2.5.2,partial,core_func/reduction/test_argmax.rs::numpy_argmax::test_combinations,12905a848696,"4 usg value cases via argmax_all; nan/datetime/complex table N/A"
_core/tests/test_regression.py,TestRegression,test_argmax,v2.5.2,transferred,core_func/reduction/test_argmax.rs::numpy_argmax::test_regression,52f12c23896e,"high-dim argmax along each axis succeeds; for arange the max sits at each axis' last index, asserted by shape + values"
_core/tests/test_multiarray.py,TestArgmin,test_combinations,v2.5.2,partial,core_func/reduction/test_argmin.rs::numpy_argmin::test_combinations,3cab546709a9,"4 usg value cases via argmin_all; nan/datetime/complex table N/A. argmin_axes ndim>=3 verified by custom_argmin::test_argmin_axes_high_rank"
lib/tests/test_function_base.py,TestAll,test_basic,v2.5.2,transferred,core_func/reduction/test_all.rs::numpy_all::test_basic,e6f065c5b310,"bool input (NumPy uses int 0/1 truthy; see numpy_differences.md)"
lib/tests/test_function_base.py,TestAll,test_nd,v2.5.2,transferred,core_func/reduction/test_all.rs::numpy_all::test_nd,5bee0e544c7b,axis 0/1 bool values
lib/tests/test_function_base.py,TestAny,test_basic,v2.5.2,transferred,core_func/reduction/test_any.rs::numpy_any::test_basic,beb8a357681a,bool input
lib/tests/test_function_base.py,TestAny,test_nd,v2.5.2,transferred,core_func/reduction/test_any.rs::numpy_any::test_nd,86c30dc92987,axis 0/1 bool values
# --- core_func/creation ---
_core/tests/test_multiarray.py,TestArange,test_start_stop_kwarg,v2.5.2,transferred,core_func/creation/test_arange.rs::numpy_arange::test_start_stop_kwarg,b8d32f6da456,"value portion; Python keyword-call variants compile-time typed (N/A)"
_core/tests/test_multiarray.py,TestArange,test_zero_step,v2.5.2,transferred,core_func/creation/test_arange.rs::numpy_arange::test_zero_step,2d2f8be1eee3,zero step -> is_err (NumPy ZeroDivisionError)
_core/tests/test_function_base.py,TestLinspace,test_basic,v2.5.2,transferred,core_func/creation/test_linspace.rs::numpy_linspace::test_basic,4452729fbaa6,"rstsr requires explicit num (NumPy defaults 50; see numpy_differences.md); num=-1 N/A (usize)"
_core/tests/test_function_base.py,TestLinspace,test_corner,v2.5.2,transferred,core_func/creation/test_linspace.rs::numpy_linspace::test_corner,9987bbce3928,num=1 -> [0.0]
_core/tests/test_numeric.py,TestCreationFuncs,test_zeros,v2.5.2,transferred,core_func/creation/test_zeros.rs::numpy_zeros::test_numeric,38f251404082,"value cases; check_function dtype/order loop N/A"
_core/tests/test_numeric.py,TestCreationFuncs,test_ones,v2.5.2,transferred,core_func/creation/test_ones.rs::numpy_ones::test_numeric,0da01688db03,"value cases; check_function dtype/order loop N/A"
_core/tests/test_numeric.py,TestCreationFuncs,test_full,v2.5.2,transferred,core_func/creation/test_full.rs::numpy_full::test_numeric,4a2afd641cdc,"fill 0/1/7 value cases; check_function dtype/order loop N/A"
lib/tests/test_twodim_base.py,TestEye,test_basic,v2.5.2,transferred,core_func/creation/test_eye.rs::numpy_eye::test_basic,5421f706c8e1,"eye(4) identity (i32 + f32); bool case N/A"
lib/tests/test_twodim_base.py,,test_tril_triu_ndim2,v2.5.2,transferred,core_func/creation/test_tril_triu.rs::numpy_tril_triu::test_ndim2,9707d2c45990,"ones(2,2) tril/triu; dtype loop collapsed"
lib/tests/test_twodim_base.py,,test_tril_triu_ndim3,v2.5.2,transferred,core_func/creation/test_tril_triu.rs::numpy_tril_triu::test_ndim3,99d8de8fdf4d,3-D tril/triu on last two axes
# --- core_func/linalg (matmul, matrix_transpose) ---
_core/tests/test_multiarray.py,MatmulCommon,test_vector_vector_values,v2.5.2,transferred,core_func/linalg/test_matmul.rs::numpy_matmul::test_vector_vector_values,32dbcdf00fd9,"i32 value cases; dtype loop + bool N/A"
_core/tests/test_multiarray.py,MatmulCommon,test_vector_matrix_values,v2.5.2,transferred,core_func/linalg/test_matmul.rs::numpy_matmul::test_vector_matrix_values,0f5f7991da12,i32 value cases
_core/tests/test_multiarray.py,MatmulCommon,test_matrix_vector_values,v2.5.2,transferred,core_func/linalg/test_matmul.rs::numpy_matmul::test_matrix_vector_values,7a70069cbbff,i32 value cases
_core/tests/test_multiarray.py,MatmulCommon,test_matrix_matrix_values,v2.5.2,transferred,core_func/linalg/test_matmul.rs::numpy_matmul::test_matrix_matrix_values,3ba7f669aeea,matrix@matrix value cases + custom batched
_core/tests/test_arrayobject.py,,test_matrix_transpose_raises_error_for_1d,v2.5.2,transferred,core_func/linalg/test_matrix_transpose.rs::numpy_matrix_transpose::test_raises_error_for_1d,1baf442fcd55,1-D mT -> is_err
_core/tests/test_arrayobject.py,,test_matrix_transpose_equals_transpose_2d,v2.5.2,transferred,core_func/linalg/test_matrix_transpose.rs::numpy_matrix_transpose::test_equals_transpose_2d,906cf29cb089,arr.T == arr.mT for 2-D
_core/tests/test_arrayobject.py,,test_matrix_transpose_equals_swapaxes,v2.5.2,transferred,core_func/linalg/test_matrix_transpose.rs::numpy_matrix_transpose::test_equals_swapaxes,238c2706f9d1,mT == swapaxes(-2,-1); 3 shapes
_core/tests/test_ufunc.py,TestUfunc,test_vecdot,v2.5.2,transferred,core_func/linalg/test_vecdot.rs::numpy_vecdot::test_vecdot_basic,5f9b9e269914,"basic 2x3 . 1x3 + axis=-2; provenance refreshed v2.4.2 -> v2.5.2"
_core/tests/test_ufunc.py,TestUfunc,test_broadcast,v2.5.2,transferred,core_func/linalg/test_vecdot.rs::numpy_vecdot::test_vecdot_broadcast;test_vecdot_broadcast_fails,cfecb630648e,"broadcast value + core-dim mismatch is_err"
_core/tests/test_ufunc.py,TestUfunc,test_vecdot_matvec_vecmat_complex,v2.5.2,transferred,core_func/linalg/test_vecdot.rs::numpy_vecdot::test_vecdot_complex,2b25cdb6d022,complex conjugate vecdot
# --- core_func/indexing (basic indexing via Tensor::i) ---
_core/tests/test_indexing.py,TestIndexing,test_single_int_index,v2.5.2,transferred,core_func/indexing/test_indexing.rs::numpy_indexing::test_single_int_index,b56b5b700a3b,"a[-1]==9 and m[1,2]==6 read via 0-d .i().to_scalar()"
_core/tests/test_indexing.py,TestIndexing,test_ellipsis_index,v2.5.2,transferred,core_func/indexing/test_indexing.rs::numpy_indexing::test_ellipsis_index,2ce6cc7a982a,"a[...,1] + a[0,...,1]; sub-tensor/ellipsis indexing works"