accelerate-blas-0.1.0.0: Data/Array/Accelerate/Numeric/Sum/Arithmetic.hs
{-# LANGUAGE ConstraintKinds #-}
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE NoImplicitPrelude #-}
-- |
-- Module : Data.Array.Accelerate.Numeric.Sum.Arithmetic
-- Copyright : [2017] Trevor L. McDonell
-- License : BSD3
--
-- Maintainer : Trevor L. McDonell <tmcdonell@cse.unsw.edu.au>
-- Stability : experimental
-- Portability : non-portable (GHC extensions)
--
module Data.Array.Accelerate.Numeric.Sum.Arithmetic (
fadd, fsub, fmul,
) where
import Data.Array.Accelerate
import qualified Data.Array.Accelerate.Numeric.Sum.LLVM.Native as Native
import qualified Data.Array.Accelerate.Numeric.Sum.LLVM.PTX as PTX
infixl 6 `fadd`
fadd :: (Num a, IsFloating a) => Exp a -> Exp a -> Exp a
fadd = Native.fadd $ PTX.fadd (+)
infixl 6 `fsub`
fsub :: (Num a, IsFloating a) => Exp a -> Exp a -> Exp a
fsub = Native.fsub $ PTX.fsub (-)
infixl 7 `fmul`
fmul :: (Num a, IsFloating a) => Exp a -> Exp a -> Exp a
fmul = Native.fmul $ PTX.fmul (*)