{-# LINE 1 "src/Bindings/Gsl/Sorting.hsc" #-}

{-# LINE 2 "src/Bindings/Gsl/Sorting.hsc" #-}

{-# LINE 3 "src/Bindings/Gsl/Sorting.hsc" #-}

-- | <http://www.gnu.org/software/gsl/manual/html_node/Sorting.html>

module Bindings.Gsl.Sorting 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/Gsl/Sorting.hsc" #-}
import Bindings.Gsl.VectorsAndMatrices.DataTypes
import Bindings.Gsl.Permutations

type C'gsl_comparison_fn_t = FunPtr (FunPtr ( Ptr () -> Ptr () -> IO CInt))
foreign import ccall "wrapper" mk'gsl_comparison_fn_t
  :: (FunPtr ( Ptr () -> Ptr () -> IO CInt)) -> IO C'gsl_comparison_fn_t
foreign import ccall "dynamic" mK'gsl_comparison_fn_t
  :: C'gsl_comparison_fn_t -> (FunPtr ( Ptr () -> Ptr () -> IO CInt))

{-# LINE 12 "src/Bindings/Gsl/Sorting.hsc" #-}

foreign import ccall "gsl_heapsort" c'gsl_heapsort
  :: Ptr () -> CSize -> CSize -> C'gsl_comparison_fn_t -> IO ()
foreign import ccall "&gsl_heapsort" p'gsl_heapsort
  :: FunPtr (Ptr () -> CSize -> CSize -> C'gsl_comparison_fn_t -> IO ())

{-# LINE 14 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_heapsort_index" c'gsl_heapsort_index
  :: Ptr CSize -> Ptr () -> CSize -> CSize -> C'gsl_comparison_fn_t -> IO CInt
foreign import ccall "&gsl_heapsort_index" p'gsl_heapsort_index
  :: FunPtr (Ptr CSize -> Ptr () -> CSize -> CSize -> C'gsl_comparison_fn_t -> IO CInt)

{-# LINE 15 "src/Bindings/Gsl/Sorting.hsc" #-}

foreign import ccall "gsl_sort_char" c'gsl_sort_char
  :: CString -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_char" p'gsl_sort_char
  :: FunPtr (CString -> CSize -> CSize -> IO ())

{-# LINE 17 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_char_index" c'gsl_sort_char_index
  :: Ptr CSize -> CString -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_char_index" p'gsl_sort_char_index
  :: FunPtr (Ptr CSize -> CString -> CSize -> CSize -> IO ())

{-# LINE 18 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_char_smallest" c'gsl_sort_char_smallest
  :: CString -> CSize -> CString -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_char_smallest" p'gsl_sort_char_smallest
  :: FunPtr (CString -> CSize -> CString -> CSize -> CSize -> IO CInt)

{-# LINE 19 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_char_smallest_index" c'gsl_sort_char_smallest_index
  :: Ptr CSize -> CSize -> CString -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_char_smallest_index" p'gsl_sort_char_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> CString -> CSize -> CSize -> IO CInt)

{-# LINE 20 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_char_largest" c'gsl_sort_char_largest
  :: CString -> CSize -> CString -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_char_largest" p'gsl_sort_char_largest
  :: FunPtr (CString -> CSize -> CString -> CSize -> CSize -> IO CInt)

{-# LINE 21 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_char_largest_index" c'gsl_sort_char_largest_index
  :: Ptr CSize -> CSize -> CString -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_char_largest_index" p'gsl_sort_char_largest_index
  :: FunPtr (Ptr CSize -> CSize -> CString -> CSize -> CSize -> IO CInt)

{-# LINE 22 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort" c'gsl_sort
  :: Ptr CDouble -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort" p'gsl_sort
  :: FunPtr (Ptr CDouble -> CSize -> CSize -> IO ())

{-# LINE 23 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_index" c'gsl_sort_index
  :: Ptr CSize -> Ptr CDouble -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_index" p'gsl_sort_index
  :: FunPtr (Ptr CSize -> Ptr CDouble -> CSize -> CSize -> IO ())

{-# LINE 24 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_smallest" c'gsl_sort_smallest
  :: Ptr CDouble -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_smallest" p'gsl_sort_smallest
  :: FunPtr (Ptr CDouble -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt)

{-# LINE 25 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_smallest_index" c'gsl_sort_smallest_index
  :: Ptr CSize -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_smallest_index" p'gsl_sort_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt)

{-# LINE 26 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_largest" c'gsl_sort_largest
  :: Ptr CDouble -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_largest" p'gsl_sort_largest
  :: FunPtr (Ptr CDouble -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt)

{-# LINE 27 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_largest_index" c'gsl_sort_largest_index
  :: Ptr CSize -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_largest_index" p'gsl_sort_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CDouble -> CSize -> CSize -> IO CInt)

{-# LINE 28 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_float" c'gsl_sort_float
  :: Ptr CFloat -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_float" p'gsl_sort_float
  :: FunPtr (Ptr CFloat -> CSize -> CSize -> IO ())

{-# LINE 29 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_float_index" c'gsl_sort_float_index
  :: Ptr CSize -> Ptr CFloat -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_float_index" p'gsl_sort_float_index
  :: FunPtr (Ptr CSize -> Ptr CFloat -> CSize -> CSize -> IO ())

{-# LINE 30 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_float_smallest" c'gsl_sort_float_smallest
  :: Ptr CFloat -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_float_smallest" p'gsl_sort_float_smallest
  :: FunPtr (Ptr CFloat -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt)

{-# LINE 31 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_float_smallest_index" c'gsl_sort_float_smallest_index
  :: Ptr CSize -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_float_smallest_index" p'gsl_sort_float_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt)

{-# LINE 32 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_float_largest" c'gsl_sort_float_largest
  :: Ptr CFloat -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_float_largest" p'gsl_sort_float_largest
  :: FunPtr (Ptr CFloat -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt)

{-# LINE 33 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_float_largest_index" c'gsl_sort_float_largest_index
  :: Ptr CSize -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_float_largest_index" p'gsl_sort_float_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CFloat -> CSize -> CSize -> IO CInt)

{-# LINE 34 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_int" c'gsl_sort_int
  :: Ptr CInt -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_int" p'gsl_sort_int
  :: FunPtr (Ptr CInt -> CSize -> CSize -> IO ())

{-# LINE 35 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_int_index" c'gsl_sort_int_index
  :: Ptr CSize -> Ptr CInt -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_int_index" p'gsl_sort_int_index
  :: FunPtr (Ptr CSize -> Ptr CInt -> CSize -> CSize -> IO ())

{-# LINE 36 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_int_smallest" c'gsl_sort_int_smallest
  :: Ptr CInt -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_int_smallest" p'gsl_sort_int_smallest
  :: FunPtr (Ptr CInt -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt)

{-# LINE 37 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_int_smallest_index" c'gsl_sort_int_smallest_index
  :: Ptr CSize -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_int_smallest_index" p'gsl_sort_int_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt)

{-# LINE 38 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_int_largest" c'gsl_sort_int_largest
  :: Ptr CInt -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_int_largest" p'gsl_sort_int_largest
  :: FunPtr (Ptr CInt -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt)

{-# LINE 39 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_int_largest_index" c'gsl_sort_int_largest_index
  :: Ptr CSize -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_int_largest_index" p'gsl_sort_int_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CInt -> CSize -> CSize -> IO CInt)

{-# LINE 40 "src/Bindings/Gsl/Sorting.hsc" #-}
-- #ccall gsl_sort_long_double , Ptr CLDouble -> CSize -> CSize -> IO ()
-- #ccall gsl_sort_long_double_index , Ptr CSize -> Ptr CLDouble -> CSize -> CSize -> IO ()
-- #ccall gsl_sort_long_double_smallest , Ptr CLDouble -> CSize -> Ptr CLDouble -> CSize -> CSize -> IO CInt
-- #ccall gsl_sort_long_double_smallest_index , Ptr CSize -> CSize -> Ptr CLDouble -> CSize -> CSize -> IO CInt
-- #ccall gsl_sort_long_double_largest , Ptr CLDouble -> CSize -> Ptr CLDouble -> CSize -> CSize -> IO CInt
-- #ccall gsl_sort_long_double_largest_index , Ptr CSize -> CSize -> Ptr CLDouble -> CSize -> CSize -> IO CInt
foreign import ccall "gsl_sort_long" c'gsl_sort_long
  :: Ptr CLong -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_long" p'gsl_sort_long
  :: FunPtr (Ptr CLong -> CSize -> CSize -> IO ())

{-# LINE 47 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_long_index" c'gsl_sort_long_index
  :: Ptr CSize -> Ptr CLong -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_long_index" p'gsl_sort_long_index
  :: FunPtr (Ptr CSize -> Ptr CLong -> CSize -> CSize -> IO ())

{-# LINE 48 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_long_smallest" c'gsl_sort_long_smallest
  :: Ptr CLong -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_long_smallest" p'gsl_sort_long_smallest
  :: FunPtr (Ptr CLong -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt)

{-# LINE 49 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_long_smallest_index" c'gsl_sort_long_smallest_index
  :: Ptr CSize -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_long_smallest_index" p'gsl_sort_long_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt)

{-# LINE 50 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_long_largest" c'gsl_sort_long_largest
  :: Ptr CLong -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_long_largest" p'gsl_sort_long_largest
  :: FunPtr (Ptr CLong -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt)

{-# LINE 51 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_long_largest_index" c'gsl_sort_long_largest_index
  :: Ptr CSize -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_long_largest_index" p'gsl_sort_long_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CLong -> CSize -> CSize -> IO CInt)

{-# LINE 52 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_short" c'gsl_sort_short
  :: Ptr CShort -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_short" p'gsl_sort_short
  :: FunPtr (Ptr CShort -> CSize -> CSize -> IO ())

{-# LINE 53 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_short_index" c'gsl_sort_short_index
  :: Ptr CSize -> Ptr CShort -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_short_index" p'gsl_sort_short_index
  :: FunPtr (Ptr CSize -> Ptr CShort -> CSize -> CSize -> IO ())

{-# LINE 54 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_short_smallest" c'gsl_sort_short_smallest
  :: Ptr CShort -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_short_smallest" p'gsl_sort_short_smallest
  :: FunPtr (Ptr CShort -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt)

{-# LINE 55 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_short_smallest_index" c'gsl_sort_short_smallest_index
  :: Ptr CSize -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_short_smallest_index" p'gsl_sort_short_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt)

{-# LINE 56 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_short_largest" c'gsl_sort_short_largest
  :: Ptr CShort -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_short_largest" p'gsl_sort_short_largest
  :: FunPtr (Ptr CShort -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt)

{-# LINE 57 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_short_largest_index" c'gsl_sort_short_largest_index
  :: Ptr CSize -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_short_largest_index" p'gsl_sort_short_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CShort -> CSize -> CSize -> IO CInt)

{-# LINE 58 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uchar" c'gsl_sort_uchar
  :: Ptr CUChar -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_uchar" p'gsl_sort_uchar
  :: FunPtr (Ptr CUChar -> CSize -> CSize -> IO ())

{-# LINE 59 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uchar_index" c'gsl_sort_uchar_index
  :: Ptr CSize -> Ptr CUChar -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_uchar_index" p'gsl_sort_uchar_index
  :: FunPtr (Ptr CSize -> Ptr CUChar -> CSize -> CSize -> IO ())

{-# LINE 60 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uchar_smallest" c'gsl_sort_uchar_smallest
  :: Ptr CUChar -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uchar_smallest" p'gsl_sort_uchar_smallest
  :: FunPtr (Ptr CUChar -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt)

{-# LINE 61 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uchar_smallest_index" c'gsl_sort_uchar_smallest_index
  :: Ptr CSize -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uchar_smallest_index" p'gsl_sort_uchar_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt)

{-# LINE 62 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uchar_largest" c'gsl_sort_uchar_largest
  :: Ptr CUChar -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uchar_largest" p'gsl_sort_uchar_largest
  :: FunPtr (Ptr CUChar -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt)

{-# LINE 63 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uchar_largest_index" c'gsl_sort_uchar_largest_index
  :: Ptr CSize -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uchar_largest_index" p'gsl_sort_uchar_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CUChar -> CSize -> CSize -> IO CInt)

{-# LINE 64 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uint" c'gsl_sort_uint
  :: Ptr CUInt -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_uint" p'gsl_sort_uint
  :: FunPtr (Ptr CUInt -> CSize -> CSize -> IO ())

{-# LINE 65 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uint_index" c'gsl_sort_uint_index
  :: Ptr CSize -> Ptr CUInt -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_uint_index" p'gsl_sort_uint_index
  :: FunPtr (Ptr CSize -> Ptr CUInt -> CSize -> CSize -> IO ())

{-# LINE 66 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uint_smallest" c'gsl_sort_uint_smallest
  :: Ptr CUInt -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uint_smallest" p'gsl_sort_uint_smallest
  :: FunPtr (Ptr CUInt -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt)

{-# LINE 67 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uint_smallest_index" c'gsl_sort_uint_smallest_index
  :: Ptr CSize -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uint_smallest_index" p'gsl_sort_uint_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt)

{-# LINE 68 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uint_largest" c'gsl_sort_uint_largest
  :: Ptr CUInt -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uint_largest" p'gsl_sort_uint_largest
  :: FunPtr (Ptr CUInt -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt)

{-# LINE 69 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_uint_largest_index" c'gsl_sort_uint_largest_index
  :: Ptr CSize -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_uint_largest_index" p'gsl_sort_uint_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CUInt -> CSize -> CSize -> IO CInt)

{-# LINE 70 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ulong" c'gsl_sort_ulong
  :: Ptr CULong -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_ulong" p'gsl_sort_ulong
  :: FunPtr (Ptr CULong -> CSize -> CSize -> IO ())

{-# LINE 71 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ulong_index" c'gsl_sort_ulong_index
  :: Ptr CSize -> Ptr CULong -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_ulong_index" p'gsl_sort_ulong_index
  :: FunPtr (Ptr CSize -> Ptr CULong -> CSize -> CSize -> IO ())

{-# LINE 72 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ulong_smallest" c'gsl_sort_ulong_smallest
  :: Ptr CULong -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ulong_smallest" p'gsl_sort_ulong_smallest
  :: FunPtr (Ptr CULong -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt)

{-# LINE 73 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ulong_smallest_index" c'gsl_sort_ulong_smallest_index
  :: Ptr CSize -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ulong_smallest_index" p'gsl_sort_ulong_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt)

{-# LINE 74 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ulong_largest" c'gsl_sort_ulong_largest
  :: Ptr CULong -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ulong_largest" p'gsl_sort_ulong_largest
  :: FunPtr (Ptr CULong -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt)

{-# LINE 75 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ulong_largest_index" c'gsl_sort_ulong_largest_index
  :: Ptr CSize -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ulong_largest_index" p'gsl_sort_ulong_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CULong -> CSize -> CSize -> IO CInt)

{-# LINE 76 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ushort" c'gsl_sort_ushort
  :: Ptr CUShort -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_ushort" p'gsl_sort_ushort
  :: FunPtr (Ptr CUShort -> CSize -> CSize -> IO ())

{-# LINE 77 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ushort_index" c'gsl_sort_ushort_index
  :: Ptr CSize -> Ptr CUShort -> CSize -> CSize -> IO ()
foreign import ccall "&gsl_sort_ushort_index" p'gsl_sort_ushort_index
  :: FunPtr (Ptr CSize -> Ptr CUShort -> CSize -> CSize -> IO ())

{-# LINE 78 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ushort_smallest" c'gsl_sort_ushort_smallest
  :: Ptr CUShort -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ushort_smallest" p'gsl_sort_ushort_smallest
  :: FunPtr (Ptr CUShort -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt)

{-# LINE 79 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ushort_smallest_index" c'gsl_sort_ushort_smallest_index
  :: Ptr CSize -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ushort_smallest_index" p'gsl_sort_ushort_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt)

{-# LINE 80 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ushort_largest" c'gsl_sort_ushort_largest
  :: Ptr CUShort -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ushort_largest" p'gsl_sort_ushort_largest
  :: FunPtr (Ptr CUShort -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt)

{-# LINE 81 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_ushort_largest_index" c'gsl_sort_ushort_largest_index
  :: Ptr CSize -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt
foreign import ccall "&gsl_sort_ushort_largest_index" p'gsl_sort_ushort_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr CUShort -> CSize -> CSize -> IO CInt)

{-# LINE 82 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_char" c'gsl_sort_vector_char
  :: Ptr C'gsl_vector_char -> IO ()
foreign import ccall "&gsl_sort_vector_char" p'gsl_sort_vector_char
  :: FunPtr (Ptr C'gsl_vector_char -> IO ())

{-# LINE 83 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_char_index" c'gsl_sort_vector_char_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_char -> IO CInt
foreign import ccall "&gsl_sort_vector_char_index" p'gsl_sort_vector_char_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_char -> IO CInt)

{-# LINE 84 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_char_smallest" c'gsl_sort_vector_char_smallest
  :: CString -> CSize -> Ptr C'gsl_vector_char -> IO CInt
foreign import ccall "&gsl_sort_vector_char_smallest" p'gsl_sort_vector_char_smallest
  :: FunPtr (CString -> CSize -> Ptr C'gsl_vector_char -> IO CInt)

{-# LINE 85 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_char_largest" c'gsl_sort_vector_char_largest
  :: CString -> CSize -> Ptr C'gsl_vector_char -> IO CInt
foreign import ccall "&gsl_sort_vector_char_largest" p'gsl_sort_vector_char_largest
  :: FunPtr (CString -> CSize -> Ptr C'gsl_vector_char -> IO CInt)

{-# LINE 86 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_char_smallest_index" c'gsl_sort_vector_char_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_char -> IO CInt
foreign import ccall "&gsl_sort_vector_char_smallest_index" p'gsl_sort_vector_char_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_char -> IO CInt)

{-# LINE 87 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_char_largest_index" c'gsl_sort_vector_char_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_char -> IO CInt
foreign import ccall "&gsl_sort_vector_char_largest_index" p'gsl_sort_vector_char_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_char -> IO CInt)

{-# LINE 88 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector" c'gsl_sort_vector
  :: Ptr C'gsl_vector -> IO ()
foreign import ccall "&gsl_sort_vector" p'gsl_sort_vector
  :: FunPtr (Ptr C'gsl_vector -> IO ())

{-# LINE 89 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_index" c'gsl_sort_vector_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_sort_vector_index" p'gsl_sort_vector_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 90 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_smallest" c'gsl_sort_vector_smallest
  :: Ptr CDouble -> CSize -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_sort_vector_smallest" p'gsl_sort_vector_smallest
  :: FunPtr (Ptr CDouble -> CSize -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 91 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_largest" c'gsl_sort_vector_largest
  :: Ptr CDouble -> CSize -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_sort_vector_largest" p'gsl_sort_vector_largest
  :: FunPtr (Ptr CDouble -> CSize -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 92 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_smallest_index" c'gsl_sort_vector_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_sort_vector_smallest_index" p'gsl_sort_vector_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 93 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_largest_index" c'gsl_sort_vector_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector -> IO CInt
foreign import ccall "&gsl_sort_vector_largest_index" p'gsl_sort_vector_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector -> IO CInt)

{-# LINE 94 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_float" c'gsl_sort_vector_float
  :: Ptr C'gsl_vector_float -> IO ()
foreign import ccall "&gsl_sort_vector_float" p'gsl_sort_vector_float
  :: FunPtr (Ptr C'gsl_vector_float -> IO ())

{-# LINE 95 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_float_index" c'gsl_sort_vector_float_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_sort_vector_float_index" p'gsl_sort_vector_float_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 96 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_float_smallest" c'gsl_sort_vector_float_smallest
  :: Ptr CFloat -> CSize -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_sort_vector_float_smallest" p'gsl_sort_vector_float_smallest
  :: FunPtr (Ptr CFloat -> CSize -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 97 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_float_largest" c'gsl_sort_vector_float_largest
  :: Ptr CFloat -> CSize -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_sort_vector_float_largest" p'gsl_sort_vector_float_largest
  :: FunPtr (Ptr CFloat -> CSize -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 98 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_float_smallest_index" c'gsl_sort_vector_float_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_sort_vector_float_smallest_index" p'gsl_sort_vector_float_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 99 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_float_largest_index" c'gsl_sort_vector_float_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_float -> IO CInt
foreign import ccall "&gsl_sort_vector_float_largest_index" p'gsl_sort_vector_float_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_float -> IO CInt)

{-# LINE 100 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_int" c'gsl_sort_vector_int
  :: Ptr C'gsl_vector_int -> IO ()
foreign import ccall "&gsl_sort_vector_int" p'gsl_sort_vector_int
  :: FunPtr (Ptr C'gsl_vector_int -> IO ())

{-# LINE 101 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_int_index" c'gsl_sort_vector_int_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_int -> IO CInt
foreign import ccall "&gsl_sort_vector_int_index" p'gsl_sort_vector_int_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_int -> IO CInt)

{-# LINE 102 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_int_smallest" c'gsl_sort_vector_int_smallest
  :: Ptr CInt -> CSize -> Ptr C'gsl_vector_int -> IO CInt
foreign import ccall "&gsl_sort_vector_int_smallest" p'gsl_sort_vector_int_smallest
  :: FunPtr (Ptr CInt -> CSize -> Ptr C'gsl_vector_int -> IO CInt)

{-# LINE 103 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_int_largest" c'gsl_sort_vector_int_largest
  :: Ptr CInt -> CSize -> Ptr C'gsl_vector_int -> IO CInt
foreign import ccall "&gsl_sort_vector_int_largest" p'gsl_sort_vector_int_largest
  :: FunPtr (Ptr CInt -> CSize -> Ptr C'gsl_vector_int -> IO CInt)

{-# LINE 104 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_int_smallest_index" c'gsl_sort_vector_int_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_int -> IO CInt
foreign import ccall "&gsl_sort_vector_int_smallest_index" p'gsl_sort_vector_int_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_int -> IO CInt)

{-# LINE 105 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_int_largest_index" c'gsl_sort_vector_int_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_int -> IO CInt
foreign import ccall "&gsl_sort_vector_int_largest_index" p'gsl_sort_vector_int_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_int -> IO CInt)

{-# LINE 106 "src/Bindings/Gsl/Sorting.hsc" #-}
-- #ccall gsl_sort_vector_long_double , Ptr <gsl_vector_long_double> -> IO ()
-- #ccall gsl_sort_vector_long_double_index , Ptr <gsl_permutation> -> Ptr <gsl_vector_long_double> -> IO CInt
-- #ccall gsl_sort_vector_long_double_smallest , Ptr CLDouble -> CSize -> Ptr <gsl_vector_long_double> -> IO CInt
-- #ccall gsl_sort_vector_long_double_largest , Ptr CLDouble -> CSize -> Ptr <gsl_vector_long_double> -> IO CInt
-- #ccall gsl_sort_vector_long_double_smallest_index , Ptr CSize -> CSize -> Ptr <gsl_vector_long_double> -> IO CInt
-- #ccall gsl_sort_vector_long_double_largest_index , Ptr CSize -> CSize -> Ptr <gsl_vector_long_double> -> IO CInt
foreign import ccall "gsl_sort_vector_long" c'gsl_sort_vector_long
  :: Ptr C'gsl_vector_long -> IO ()
foreign import ccall "&gsl_sort_vector_long" p'gsl_sort_vector_long
  :: FunPtr (Ptr C'gsl_vector_long -> IO ())

{-# LINE 113 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_long_index" c'gsl_sort_vector_long_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_long -> IO CInt
foreign import ccall "&gsl_sort_vector_long_index" p'gsl_sort_vector_long_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_long -> IO CInt)

{-# LINE 114 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_long_smallest" c'gsl_sort_vector_long_smallest
  :: Ptr CLong -> CSize -> Ptr C'gsl_vector_long -> IO CInt
foreign import ccall "&gsl_sort_vector_long_smallest" p'gsl_sort_vector_long_smallest
  :: FunPtr (Ptr CLong -> CSize -> Ptr C'gsl_vector_long -> IO CInt)

{-# LINE 115 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_long_largest" c'gsl_sort_vector_long_largest
  :: Ptr CLong -> CSize -> Ptr C'gsl_vector_long -> IO CInt
foreign import ccall "&gsl_sort_vector_long_largest" p'gsl_sort_vector_long_largest
  :: FunPtr (Ptr CLong -> CSize -> Ptr C'gsl_vector_long -> IO CInt)

{-# LINE 116 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_long_smallest_index" c'gsl_sort_vector_long_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_long -> IO CInt
foreign import ccall "&gsl_sort_vector_long_smallest_index" p'gsl_sort_vector_long_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_long -> IO CInt)

{-# LINE 117 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_long_largest_index" c'gsl_sort_vector_long_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_long -> IO CInt
foreign import ccall "&gsl_sort_vector_long_largest_index" p'gsl_sort_vector_long_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_long -> IO CInt)

{-# LINE 118 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_short" c'gsl_sort_vector_short
  :: Ptr C'gsl_vector_short -> IO ()
foreign import ccall "&gsl_sort_vector_short" p'gsl_sort_vector_short
  :: FunPtr (Ptr C'gsl_vector_short -> IO ())

{-# LINE 119 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_short_index" c'gsl_sort_vector_short_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_short -> IO CInt
foreign import ccall "&gsl_sort_vector_short_index" p'gsl_sort_vector_short_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_short -> IO CInt)

{-# LINE 120 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_short_smallest" c'gsl_sort_vector_short_smallest
  :: Ptr CShort -> CSize -> Ptr C'gsl_vector_short -> IO CInt
foreign import ccall "&gsl_sort_vector_short_smallest" p'gsl_sort_vector_short_smallest
  :: FunPtr (Ptr CShort -> CSize -> Ptr C'gsl_vector_short -> IO CInt)

{-# LINE 121 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_short_largest" c'gsl_sort_vector_short_largest
  :: Ptr CShort -> CSize -> Ptr C'gsl_vector_short -> IO CInt
foreign import ccall "&gsl_sort_vector_short_largest" p'gsl_sort_vector_short_largest
  :: FunPtr (Ptr CShort -> CSize -> Ptr C'gsl_vector_short -> IO CInt)

{-# LINE 122 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_short_smallest_index" c'gsl_sort_vector_short_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_short -> IO CInt
foreign import ccall "&gsl_sort_vector_short_smallest_index" p'gsl_sort_vector_short_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_short -> IO CInt)

{-# LINE 123 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_short_largest_index" c'gsl_sort_vector_short_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_short -> IO CInt
foreign import ccall "&gsl_sort_vector_short_largest_index" p'gsl_sort_vector_short_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_short -> IO CInt)

{-# LINE 124 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uchar" c'gsl_sort_vector_uchar
  :: Ptr C'gsl_vector_uchar -> IO ()
foreign import ccall "&gsl_sort_vector_uchar" p'gsl_sort_vector_uchar
  :: FunPtr (Ptr C'gsl_vector_uchar -> IO ())

{-# LINE 125 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uchar_index" c'gsl_sort_vector_uchar_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_uchar -> IO CInt
foreign import ccall "&gsl_sort_vector_uchar_index" p'gsl_sort_vector_uchar_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_uchar -> IO CInt)

{-# LINE 126 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uchar_smallest" c'gsl_sort_vector_uchar_smallest
  :: Ptr CUChar -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt
foreign import ccall "&gsl_sort_vector_uchar_smallest" p'gsl_sort_vector_uchar_smallest
  :: FunPtr (Ptr CUChar -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt)

{-# LINE 127 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uchar_largest" c'gsl_sort_vector_uchar_largest
  :: Ptr CUChar -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt
foreign import ccall "&gsl_sort_vector_uchar_largest" p'gsl_sort_vector_uchar_largest
  :: FunPtr (Ptr CUChar -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt)

{-# LINE 128 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uchar_smallest_index" c'gsl_sort_vector_uchar_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt
foreign import ccall "&gsl_sort_vector_uchar_smallest_index" p'gsl_sort_vector_uchar_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt)

{-# LINE 129 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uchar_largest_index" c'gsl_sort_vector_uchar_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt
foreign import ccall "&gsl_sort_vector_uchar_largest_index" p'gsl_sort_vector_uchar_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_uchar -> IO CInt)

{-# LINE 130 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uint" c'gsl_sort_vector_uint
  :: Ptr C'gsl_vector_uint -> IO ()
foreign import ccall "&gsl_sort_vector_uint" p'gsl_sort_vector_uint
  :: FunPtr (Ptr C'gsl_vector_uint -> IO ())

{-# LINE 131 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uint_index" c'gsl_sort_vector_uint_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_uint -> IO CInt
foreign import ccall "&gsl_sort_vector_uint_index" p'gsl_sort_vector_uint_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_uint -> IO CInt)

{-# LINE 132 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uint_smallest" c'gsl_sort_vector_uint_smallest
  :: Ptr CUInt -> CSize -> Ptr C'gsl_vector_uint -> IO CInt
foreign import ccall "&gsl_sort_vector_uint_smallest" p'gsl_sort_vector_uint_smallest
  :: FunPtr (Ptr CUInt -> CSize -> Ptr C'gsl_vector_uint -> IO CInt)

{-# LINE 133 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uint_largest" c'gsl_sort_vector_uint_largest
  :: Ptr CUInt -> CSize -> Ptr C'gsl_vector_uint -> IO CInt
foreign import ccall "&gsl_sort_vector_uint_largest" p'gsl_sort_vector_uint_largest
  :: FunPtr (Ptr CUInt -> CSize -> Ptr C'gsl_vector_uint -> IO CInt)

{-# LINE 134 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uint_smallest_index" c'gsl_sort_vector_uint_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_uint -> IO CInt
foreign import ccall "&gsl_sort_vector_uint_smallest_index" p'gsl_sort_vector_uint_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_uint -> IO CInt)

{-# LINE 135 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_uint_largest_index" c'gsl_sort_vector_uint_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_uint -> IO CInt
foreign import ccall "&gsl_sort_vector_uint_largest_index" p'gsl_sort_vector_uint_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_uint -> IO CInt)

{-# LINE 136 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ulong" c'gsl_sort_vector_ulong
  :: Ptr C'gsl_vector_ulong -> IO ()
foreign import ccall "&gsl_sort_vector_ulong" p'gsl_sort_vector_ulong
  :: FunPtr (Ptr C'gsl_vector_ulong -> IO ())

{-# LINE 137 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ulong_index" c'gsl_sort_vector_ulong_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_ulong -> IO CInt
foreign import ccall "&gsl_sort_vector_ulong_index" p'gsl_sort_vector_ulong_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_ulong -> IO CInt)

{-# LINE 138 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ulong_smallest" c'gsl_sort_vector_ulong_smallest
  :: Ptr CULong -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt
foreign import ccall "&gsl_sort_vector_ulong_smallest" p'gsl_sort_vector_ulong_smallest
  :: FunPtr (Ptr CULong -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt)

{-# LINE 139 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ulong_largest" c'gsl_sort_vector_ulong_largest
  :: Ptr CULong -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt
foreign import ccall "&gsl_sort_vector_ulong_largest" p'gsl_sort_vector_ulong_largest
  :: FunPtr (Ptr CULong -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt)

{-# LINE 140 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ulong_smallest_index" c'gsl_sort_vector_ulong_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt
foreign import ccall "&gsl_sort_vector_ulong_smallest_index" p'gsl_sort_vector_ulong_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt)

{-# LINE 141 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ulong_largest_index" c'gsl_sort_vector_ulong_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt
foreign import ccall "&gsl_sort_vector_ulong_largest_index" p'gsl_sort_vector_ulong_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_ulong -> IO CInt)

{-# LINE 142 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ushort" c'gsl_sort_vector_ushort
  :: Ptr C'gsl_vector_ushort -> IO ()
foreign import ccall "&gsl_sort_vector_ushort" p'gsl_sort_vector_ushort
  :: FunPtr (Ptr C'gsl_vector_ushort -> IO ())

{-# LINE 143 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ushort_index" c'gsl_sort_vector_ushort_index
  :: Ptr C'gsl_permutation -> Ptr C'gsl_vector_ushort -> IO CInt
foreign import ccall "&gsl_sort_vector_ushort_index" p'gsl_sort_vector_ushort_index
  :: FunPtr (Ptr C'gsl_permutation -> Ptr C'gsl_vector_ushort -> IO CInt)

{-# LINE 144 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ushort_smallest" c'gsl_sort_vector_ushort_smallest
  :: Ptr CUShort -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt
foreign import ccall "&gsl_sort_vector_ushort_smallest" p'gsl_sort_vector_ushort_smallest
  :: FunPtr (Ptr CUShort -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt)

{-# LINE 145 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ushort_largest" c'gsl_sort_vector_ushort_largest
  :: Ptr CUShort -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt
foreign import ccall "&gsl_sort_vector_ushort_largest" p'gsl_sort_vector_ushort_largest
  :: FunPtr (Ptr CUShort -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt)

{-# LINE 146 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ushort_smallest_index" c'gsl_sort_vector_ushort_smallest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt
foreign import ccall "&gsl_sort_vector_ushort_smallest_index" p'gsl_sort_vector_ushort_smallest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt)

{-# LINE 147 "src/Bindings/Gsl/Sorting.hsc" #-}
foreign import ccall "gsl_sort_vector_ushort_largest_index" c'gsl_sort_vector_ushort_largest_index
  :: Ptr CSize -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt
foreign import ccall "&gsl_sort_vector_ushort_largest_index" p'gsl_sort_vector_ushort_largest_index
  :: FunPtr (Ptr CSize -> CSize -> Ptr C'gsl_vector_ushort -> IO CInt)

{-# LINE 148 "src/Bindings/Gsl/Sorting.hsc" #-}