{-# LINE 1 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}

{-# LINE 2 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}

{-# LINE 3 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}

-- | <http://leenissen.dk/fann/fann_1_2_0/c253.html#api.sec.create_destroy>

module Bindings.Fann.CreationDestructionExecution where
import Foreign.Ptr (Ptr,FunPtr,plusPtr)
import Foreign.Ptr (wordPtrToPtr,castPtrToFunPtr)
import Foreign.Storable
import Foreign.C.Types
import Foreign.C.String (CString,CStringLen,CWString,CWStringLen)
import Foreign.Marshal.Alloc (alloca)
import Foreign.Marshal.Array (peekArray,pokeArray)
import Data.Int
import Data.Word

{-# LINE 8 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
import Bindings.Fann.DataStructures

foreign import ccall "fann_create_array" c'fann_create_array
  :: CFloat -> CFloat -> CUInt -> Ptr CUInt -> IO (Ptr C'fann)
foreign import ccall "&fann_create_array" p'fann_create_array
  :: FunPtr (CFloat -> CFloat -> CUInt -> Ptr CUInt -> IO (Ptr C'fann))

{-# LINE 11 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
foreign import ccall "fann_create_shortcut_array" c'fann_create_shortcut_array
  :: CFloat -> CUInt -> Ptr CUInt -> IO (Ptr C'fann)
foreign import ccall "&fann_create_shortcut_array" p'fann_create_shortcut_array
  :: FunPtr (CFloat -> CUInt -> Ptr CUInt -> IO (Ptr C'fann))

{-# LINE 12 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
foreign import ccall "fann_destroy" c'fann_destroy
  :: Ptr C'fann -> IO ()
foreign import ccall "&fann_destroy" p'fann_destroy
  :: FunPtr (Ptr C'fann -> IO ())

{-# LINE 13 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
foreign import ccall "fann_run" c'fann_run
  :: Ptr C'fann -> Ptr CFloat -> IO (Ptr CFloat)
foreign import ccall "&fann_run" p'fann_run
  :: FunPtr (Ptr C'fann -> Ptr CFloat -> IO (Ptr CFloat))

{-# LINE 14 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
foreign import ccall "fann_randomize_weights" c'fann_randomize_weights
  :: Ptr C'fann -> CFloat -> CFloat -> IO ()
foreign import ccall "&fann_randomize_weights" p'fann_randomize_weights
  :: FunPtr (Ptr C'fann -> CFloat -> CFloat -> IO ())

{-# LINE 15 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
foreign import ccall "fann_init_weights" c'fann_init_weights
  :: Ptr C'fann -> Ptr C'fann_train_data -> IO ()
foreign import ccall "&fann_init_weights" p'fann_init_weights
  :: FunPtr (Ptr C'fann -> Ptr C'fann_train_data -> IO ())

{-# LINE 16 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}
foreign import ccall "fann_print_connections" c'fann_print_connections
  :: Ptr C'fann -> IO ()
foreign import ccall "&fann_print_connections" p'fann_print_connections
  :: FunPtr (Ptr C'fann -> IO ())

{-# LINE 17 "src/Bindings/Fann/CreationDestructionExecution.hsc" #-}