Module migration_guide

Module migration_guide 

Source
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

  1. Single Import Path: No more confusion about where to import from
  2. Complete Functionality: All ndarray features available
  3. Policy Compliance: No direct ndarray imports needed
  4. Future-Proof: Centralized control over array functionality

§Quick Reference

Old ImportNew 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}