use mirtal_sys::ops::ffi;
use crate::{Array, Graph, Result};
impl Graph<'_> {
pub fn softmax(self, input: &Array, axis: i32, precise: bool) -> Result<Array> {
Array::from_raw(ffi::softmax(input.native()?, axis, precise, self.native()?)?, "softmax")
}
pub fn logsumexp(self, input: &Array, axis: i32, keepdims: bool) -> Result<Array> {
Array::from_raw(
ffi::logsumexp(input.native()?, axis, keepdims, self.native()?)?,
"logsumexp",
)
}
pub fn cumulative_sum(
self,
input: &Array,
axis: i32,
reverse: bool,
inclusive: bool,
) -> Result<Array> {
Array::from_raw(
ffi::cumulative_sum(input.native()?, axis, reverse, inclusive, self.native()?)?,
"cumulative sum",
)
}
pub fn reduce_max(self, input: &Array, axis: i32, keepdims: bool) -> Result<Array> {
Array::from_raw(
ffi::reduce_max(input.native()?, axis, keepdims, self.native()?)?,
"reduce max",
)
}
pub fn reduce_sum(self, input: &Array, axis: i32, keepdims: bool) -> Result<Array> {
Array::from_raw(
ffi::reduce_sum(input.native()?, axis, keepdims, self.native()?)?,
"reduce sum",
)
}
pub fn argmax_axis(self, input: &Array, axis: i32, keepdims: bool) -> Result<Array> {
Array::from_raw(
ffi::argmax_axis(input.native()?, axis, keepdims, self.native()?)?,
"argmax",
)
}
}