hasktorch-indef-0.0.1.0: src/Torch/Indef/Static/Tensor/Math/Pointwise/Signed.hs
-------------------------------------------------------------------------------
-- |
-- Module : Torch.Indef.Static.Tensor.Math.Pointwise.Signed
-- Copyright : (c) Sam Stites 2017
-- License : BSD3
-- Maintainer: sam@stites.io
-- Stability : experimental
-- Portability: non-portable
-------------------------------------------------------------------------------
module Torch.Indef.Static.Tensor.Math.Pointwise.Signed where
import Torch.Indef.Types
import Torch.Indef.Static.Tensor
import Torch.Indef.Static.Tensor.Math (constant)
import Torch.Indef.Static.Tensor.Math.Pointwise (sign, (^*^), (^-^), (^+^))
import qualified Torch.Indef.Dynamic.Tensor.Math.Pointwise.Signed as Dynamic
import Numeric.Dimensions
import System.IO.Unsafe
-- | Static call to 'Dynamic.abs_'
abs_ :: Tensor d -> IO ()
abs_ t = Dynamic.abs_ (asDynamic t)
-- | Static call to 'Dynamic.neg_'
neg_ :: Tensor d -> IO ()
neg_ t = Dynamic.neg_ (asDynamic t)
-- | Static call to 'Dynamic.neg'
neg :: Dimensions d => Tensor d -> Tensor d
neg t = asStatic $ Dynamic.neg (asDynamic t)
-- | Static call to 'Dynamic.abs'
abs :: Dimensions d => Tensor d -> Tensor d
abs t = asStatic $ Dynamic.abs (asDynamic t)
instance Dimensions d => Num (Tensor d) where
(+) = (^+^)
(-) = (^-^)
(*) = (^*^)
abs = Torch.Indef.Static.Tensor.Math.Pointwise.Signed.abs
signum = sign
fromInteger = constant . fromIntegral