{-# OPTIONS_GHC -fno-cse #-}
module Torch.Indef.Static.Tensor.Math.Pointwise where
import Numeric.Dimensions
import System.IO.Unsafe
import Torch.Indef.Types
import Torch.Indef.Static.Tensor
import qualified Torch.Indef.Dynamic.Tensor.Math.Pointwise as Dynamic
sign :: Tensor d -> Tensor d
sign t = asStatic $ Dynamic.sign (asDynamic t)
clamp :: Tensor d -> HsReal -> HsReal -> Tensor d
clamp t a b = asStatic $ Dynamic.clamp (asDynamic t) a b
cadd
:: Tensor d
-> HsReal
-> Tensor d
-> Tensor d
cadd t v b = asStatic $ Dynamic.cadd (asDynamic t) v (asDynamic b)
(^+^) a b = cadd a 1 b
csub
:: Tensor d
-> HsReal
-> Tensor d
-> Tensor d
csub t v b = asStatic $ Dynamic.csub (asDynamic t) v (asDynamic b)
(^-^) a b = csub a 1 b
cmul :: Tensor d -> Tensor d -> Tensor d
cmul t1 t2 = asStatic $ Dynamic.cmul (asDynamic t1) (asDynamic t2)
square t = cmul t t
(^*^) a b = cmul a b
cdiv :: Tensor d -> Tensor d -> Tensor d
cdiv t1 t2 = asStatic $ Dynamic.cdiv (asDynamic t1) (asDynamic t2)
(^/^) a b = cdiv a b
cpow :: Tensor d -> Tensor d -> Tensor d
cpow t1 t2 = asStatic $ Dynamic.cpow (asDynamic t1) (asDynamic t2)
clshift :: Tensor d -> Tensor d -> Tensor d
clshift t1 t2 = asStatic $ Dynamic.clshift (asDynamic t1) (asDynamic t2)
crshift :: Tensor d -> Tensor d -> Tensor d
crshift t1 t2 = asStatic $ Dynamic.crshift (asDynamic t1) (asDynamic t2)
cfmod :: Tensor d -> Tensor d -> Tensor d
cfmod t1 t2 = asStatic $ Dynamic.cfmod (asDynamic t1) (asDynamic t2)
cremainder :: Tensor d -> Tensor d -> Tensor d
cremainder t1 t2 = asStatic $ Dynamic.cremainder (asDynamic t1) (asDynamic t2)
cmax :: Tensor d -> Tensor d -> Tensor d
cmax a b = asStatic $ Dynamic.cmax (asDynamic a) (asDynamic b)
cmin :: Tensor d -> Tensor d -> Tensor d
cmin a b = asStatic $ Dynamic.cmin (asDynamic a) (asDynamic b)
cbitand :: Tensor d -> Tensor d -> Tensor d
cbitand a b = asStatic $ Dynamic.cbitand (asDynamic a) (asDynamic b)
cbitor :: Tensor d -> Tensor d -> Tensor d
cbitor a b = asStatic $ Dynamic.cbitor (asDynamic a) (asDynamic b)
cbitxor :: Tensor d -> Tensor d -> Tensor d
cbitxor a b = asStatic $ Dynamic.cbitxor (asDynamic a) (asDynamic b)
addcmul a v b c = asStatic $ Dynamic.addcmul (asDynamic a) v (asDynamic b) (asDynamic c)
addcdiv a v b c = asStatic $ Dynamic.addcdiv (asDynamic a) v (asDynamic b) (asDynamic c)