{-# LANGUAGE ForeignFunctionInterface #-}
module Torch.FFI.THC.Double.TensorMathMagma where
import Foreign
import Foreign.C.Types
import Data.Word
import Data.Int
import Torch.Types.TH
import Torch.Types.THC
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_gesv"
  c_gesv :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_gels"
  c_gels :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_syev"
  c_syev :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_geev"
  c_geev :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_gesvd"
  c_gesvd :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_gesvd2"
  c_gesvd2 :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_getri"
  c_getri :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_potri"
  c_potri :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_potrf"
  c_potrf :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_potrs"
  c_potrs :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_geqrf"
  c_geqrf :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorMathMagma.h THCudaDoubleTensor_qr"
  c_qr :: Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ()
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_gesv"
  p_gesv :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_gels"
  p_gels :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_syev"
  p_syev :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_geev"
  p_geev :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_gesvd"
  p_gesvd :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_gesvd2"
  p_gesvd2 :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_getri"
  p_getri :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_potri"
  p_potri :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_potrf"
  p_potrf :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_potrs"
  p_potrs :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr CChar -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_geqrf"
  p_geqrf :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())
foreign import ccall "THCTensorMathMagma.h &THCudaDoubleTensor_qr"
  p_qr :: FunPtr (Ptr C'THCState -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> Ptr C'THCudaDoubleTensor -> IO ())