//! TDD tests for view/reshape operations //! These tests define expected behavior for tensor reshaping use rtx_tensor::{Device, Tensor}; #[test] fn test_tensor_view_with_inferred_dimension() { // In PyTorch, -1 means "infer this dimension" // In Rust with usize, we need a different approach // Option 1: Use 0 to mean "infer" // Option 2: Calculate the dimension explicitly // Option 3: Use a special constant let device = Device::cpu(); let tensor = Tensor::zeros(&[2, 3, 4], &device).unwrap(); // If we want to reshape to [2, -1], that means [2, 12] // We need to calculate: total_elements / first_dim = 24 / 2 = 12 let total_elements = 2 * 3 * 4; let first_dim = 2; let inferred_dim = total_elements / first_dim; // The actual view call would be: // tensor.view(&[2, inferred_dim]) assert_eq!(inferred_dim, 12); }