module Bindings.Fann.TrainingData 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.Array (peekArray,pokeArray)
import Data.Int
import Data.Word
import Bindings.Fann.DataStructures
foreign import ccall "fann_read_train_from_file" c'fann_read_train_from_file
:: CString -> IO (Ptr C'fann_train_data)
foreign import ccall "&fann_read_train_from_file" p'fann_read_train_from_file
:: FunPtr (CString -> IO (Ptr C'fann_train_data))
foreign import ccall "fann_save_train" c'fann_save_train
:: Ptr C'fann_train_data -> Ptr CFile -> IO ()
foreign import ccall "&fann_save_train" p'fann_save_train
:: FunPtr (Ptr C'fann_train_data -> Ptr CFile -> IO ())
foreign import ccall "fann_save_train_to_fixed" c'fann_save_train_to_fixed
:: Ptr C'fann_train_data -> Ptr CFile -> CUInt -> IO ()
foreign import ccall "&fann_save_train_to_fixed" p'fann_save_train_to_fixed
:: FunPtr (Ptr C'fann_train_data -> Ptr CFile -> CUInt -> IO ())
foreign import ccall "fann_destroy_train" c'fann_destroy_train
:: Ptr C'fann_train_data -> IO ()
foreign import ccall "&fann_destroy_train" p'fann_destroy_train
:: FunPtr (Ptr C'fann_train_data -> IO ())
foreign import ccall "fann_train_epoch" c'fann_train_epoch
:: Ptr C'fann -> Ptr C'fann_train_data -> IO CFloat
foreign import ccall "&fann_train_epoch" p'fann_train_epoch
:: FunPtr (Ptr C'fann -> Ptr C'fann_train_data -> IO CFloat)
foreign import ccall "fann_test_data" c'fann_test_data
:: Ptr C'fann -> Ptr C'fann_train_data -> IO CFloat
foreign import ccall "&fann_test_data" p'fann_test_data
:: FunPtr (Ptr C'fann -> Ptr C'fann_train_data -> IO CFloat)
foreign import ccall "fann_train_on_data" c'fann_train_on_data
:: Ptr C'fann -> Ptr C'fann_train_data -> CUInt -> CUInt -> CFloat -> IO ()
foreign import ccall "&fann_train_on_data" p'fann_train_on_data
:: FunPtr (Ptr C'fann -> Ptr C'fann_train_data -> CUInt -> CUInt -> CFloat -> IO ())
foreign import ccall "fann_train_on_data_callback" c'fann_train_on_data_callback
:: Ptr C'fann -> Ptr C'fann_train_data -> CUInt -> CUInt -> CFloat -> FunPtr (CUInt -> CFloat -> IO CInt) -> IO ()
foreign import ccall "&fann_train_on_data_callback" p'fann_train_on_data_callback
:: FunPtr (Ptr C'fann -> Ptr C'fann_train_data -> CUInt -> CUInt -> CFloat -> FunPtr (CUInt -> CFloat -> IO CInt) -> IO ())
foreign import ccall "fann_train_on_file" c'fann_train_on_file
:: Ptr C'fann -> CString -> CUInt -> CUInt -> CFloat -> IO ()
foreign import ccall "&fann_train_on_file" p'fann_train_on_file
:: FunPtr (Ptr C'fann -> CString -> CUInt -> CUInt -> CFloat -> IO ())
foreign import ccall "fann_train_on_file_callback" c'fann_train_on_file_callback
:: Ptr C'fann -> CString -> CUInt -> CUInt -> CFloat -> FunPtr (CUInt -> CFloat -> IO CInt) -> IO ()
foreign import ccall "&fann_train_on_file_callback" p'fann_train_on_file_callback
:: FunPtr (Ptr C'fann -> CString -> CUInt -> CUInt -> CFloat -> FunPtr (CUInt -> CFloat -> IO CInt) -> IO ())
foreign import ccall "fann_shuffle_train_data" c'fann_shuffle_train_data
:: Ptr C'fann_train_data -> IO ()
foreign import ccall "&fann_shuffle_train_data" p'fann_shuffle_train_data
:: FunPtr (Ptr C'fann_train_data -> IO ())
foreign import ccall "fann_merge_train_data" c'fann_merge_train_data
:: Ptr C'fann_train_data -> Ptr C'fann_train_data -> IO (Ptr C'fann_train_data)
foreign import ccall "&fann_merge_train_data" p'fann_merge_train_data
:: FunPtr (Ptr C'fann_train_data -> Ptr C'fann_train_data -> IO (Ptr C'fann_train_data))
foreign import ccall "fann_duplicate_train_data" c'fann_duplicate_train_data
:: Ptr C'fann_train_data -> IO (Ptr C'fann_train_data)
foreign import ccall "&fann_duplicate_train_data" p'fann_duplicate_train_data
:: FunPtr (Ptr C'fann_train_data -> IO (Ptr C'fann_train_data))