39 lines
1.1 KiB
Rust
39 lines
1.1 KiB
Rust
//! TDD tests for tensor min operation workaround
|
|
//! Since rtx-tensor doesn't have min(), we need to implement a workaround
|
|
|
|
use rtx_automeasure::tensor_utils;
|
|
use rtx_tensor::{Device, Tensor};
|
|
|
|
#[test]
|
|
fn test_tensor_min_workaround() {
|
|
let device = Device::cpu();
|
|
let data = vec![3.0, 1.0, 4.0, 1.5, 9.0, 2.6];
|
|
let tensor = Tensor::from_slice(&data, &[6], &device).unwrap();
|
|
|
|
// Should find minimum value
|
|
let min_val = tensor_utils::find_min(&tensor).unwrap();
|
|
assert_eq!(min_val, 1.0);
|
|
}
|
|
|
|
#[test]
|
|
fn test_tensor_min_negative_values() {
|
|
let device = Device::cpu();
|
|
let data = vec![-3.0, 1.0, -4.0, 1.5, 9.0, -2.6];
|
|
let tensor = Tensor::from_slice(&data, &[6], &device).unwrap();
|
|
|
|
// Should find minimum value including negatives
|
|
let min_val = tensor_utils::find_min(&tensor).unwrap();
|
|
assert_eq!(min_val, -4.0);
|
|
}
|
|
|
|
#[test]
|
|
fn test_tensor_min_single_value() {
|
|
let device = Device::cpu();
|
|
let data = vec![42.0];
|
|
let tensor = Tensor::from_slice(&data, &[1], &device).unwrap();
|
|
|
|
// Should return the single value
|
|
let min_val = tensor_utils::find_min(&tensor).unwrap();
|
|
assert_eq!(min_val, 42.0);
|
|
}
|