{-# INCLUDE <bindings.macros.h> #-}
{-# INCLUDE <fann.h> #-}
{-# LINE 1 "src/Bindings/Fann/Options.hsc" #-}

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

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

-- | <http://leenissen.dk/fann/fann_1_2_0/x938.html>

module Bindings.Fann.Options 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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

{-# LINE 41 "src/Bindings/Fann/Options.hsc" #-}