Skip to content

Commit b59358b

Browse files
committed
feat(deep_causality_tensor): Added From impl for value and reference to CausalTensor.
Signed-off-by: Marvin Hansen <[email protected]>
1 parent 7b5d72c commit b59358b

File tree

2 files changed

+22
-0
lines changed
  • deep_causality_tensor/src/types/causal_tensor

2 files changed

+22
-0
lines changed
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
/*
2+
* SPDX-License-Identifier: MIT
3+
* Copyright (c) "2025" . The DeepCausality Authors and Contributors. All Rights Reserved.
4+
*/
5+
6+
use crate::CausalTensor;
7+
8+
impl<T: Clone> From<T> for CausalTensor<T> {
9+
/// Creates a scalar tensor (0-dimensional) from a single value.
10+
fn from(item: T) -> Self {
11+
CausalTensor::new(vec![item], vec![]).expect("Failed to create scalar CausalTensor from T")
12+
}
13+
}
14+
15+
impl<'a, T: Clone> From<&'a T> for CausalTensor<T> {
16+
/// Creates a scalar tensor (0-dimensional) from a reference to a single value.
17+
fn from(item: &'a T) -> Self {
18+
CausalTensor::new(vec![item.clone()], vec![])
19+
.expect("Failed to create scalar CausalTensor from &T")
20+
}
21+
}

deep_causality_tensor/src/types/causal_tensor/mod.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ use crate::CausalTensorError;
77

88
mod api;
99
mod display;
10+
mod from;
1011
mod getters;
1112
mod op_scalar_tensor;
1213
pub mod op_tensor_broadcast;

0 commit comments

Comments
 (0)