Expand description
§Migration Guide: From Fragmented to Unified ndarray Access
§Before (Fragmented, Policy-Violating)
ⓘ
// Different files used different imports
use scirs2_autograd::ndarray::{Array1, array};
use scirs2_core::ndarray_ext::{ArrayView};
use ndarray::{s!, Axis}; // POLICY VIOLATION!
§After (Unified, Policy-Compliant)
ⓘ
// Single, consistent import
use scirs2_core::ndarray::*;
// Everything works:
let arr = array![[1, 2], [3, 4]];
let slice = arr.slice(s![.., 0]);
let view: ArrayView<_, _> = arr.view();
let sum = arr.sum_axis(Axis(0));
§Benefits
- Single Import Path: No more confusion about where to import from
- Complete Functionality: All ndarray features available
- Policy Compliance: No direct ndarray imports needed
- Future-Proof: Centralized control over array functionality
§Quick Reference
Old Import | New Import |
---|---|
use ndarray::{Array, array} | use scirs2_core::ndarray::{Array, array} |
use scirs2_autograd::ndarray::* | use scirs2_core::ndarray::* |
use scirs2_core::ndarray_ext::* | use scirs2_core::ndarray::* |
use ndarray::{s!, Axis} | use scirs2_core::ndarray::{s, Axis} |