{-# LANGUAGE NoImplicitPrelude #-}
module Bindings.LevMar.CurryFriendly
(
BoxConstraints
, LinearConstraints
, LevMarDer
, LevMarDif
, LevMarBCDer
, LevMarBCDif
, LevMarLecDer
, LevMarLecDif
, LevMarBLecDer
, LevMarBLecDif
, dlevmar_der, slevmar_der
, dlevmar_dif, slevmar_dif
, dlevmar_bc_der, slevmar_bc_der
, dlevmar_bc_dif, slevmar_bc_dif
, dlevmar_lec_der, slevmar_lec_der
, dlevmar_lec_dif, slevmar_lec_dif
, dlevmar_blec_der, slevmar_blec_der
, dlevmar_blec_dif, slevmar_blec_dif
) where
import Prelude ( Double, Float )
import Foreign.Ptr ( FunPtr )
import qualified Bindings.LevMar as BLM
type BoxConstraints r a = BLM.LowerBounds r
-> BLM.UpperBounds r
-> a
type LinearConstraints r a = BLM.ConstraintsMatrix r
-> BLM.ConstraintsVector r
-> BLM.NrOfConstraints
-> a
type LevMarDif r = BLM.LevMarDif r
type LevMarDer r = FunPtr (BLM.Jacobian r) -> LevMarDif r
type LevMarBCDif r = BoxConstraints r (LevMarDif r)
type LevMarBCDer r = BoxConstraints r (LevMarDer r)
type LevMarLecDif r = LinearConstraints r (LevMarDif r)
type LevMarLecDer r = LinearConstraints r (LevMarDer r)
type LevMarBLecDif r = BoxConstraints r (LinearConstraints r (BLM.Weights r -> LevMarDif r))
type LevMarBLecDer r = BoxConstraints r (LinearConstraints r (BLM.Weights r -> LevMarDer r))
mk_levmar_der :: BLM.LevMarDer r -> LevMarDer r
mk_levmar_der lma j f
= lma f j
mk_levmar_bc_dif :: BLM.LevMarBCDif r -> LevMarBCDif r
mk_levmar_bc_dif lma lb ub f p x m n
= lma f p x m n lb ub
mk_levmar_bc_der :: BLM.LevMarBCDer r -> LevMarBCDer r
mk_levmar_bc_der lma lb ub j f p x m n
= lma f j p x m n lb ub
mk_levmar_lec_dif :: BLM.LevMarLecDif r -> LevMarLecDif r
mk_levmar_lec_dif lma a b k f p x m n
= lma f p x m n a b k
mk_levmar_lec_der :: BLM.LevMarLecDer r -> LevMarLecDer r
mk_levmar_lec_der lma a b k j f p x m n
= lma f j p x m n a b k
mk_levmar_blec_dif :: BLM.LevMarBLecDif r -> LevMarBLecDif r
mk_levmar_blec_dif lma lb ub a b k wghts f p x m n
= lma f p x m n lb ub a b k wghts
mk_levmar_blec_der :: BLM.LevMarBLecDer r -> LevMarBLecDer r
mk_levmar_blec_der lma lb ub a b k wghts j f p x m n
= lma f j p x m n lb ub a b k wghts
slevmar_dif :: LevMarDif Float
slevmar_dif = BLM.c'slevmar_dif
dlevmar_dif :: LevMarDif Double
dlevmar_dif = BLM.c'dlevmar_dif
slevmar_der :: LevMarDer Float
slevmar_der = mk_levmar_der BLM.c'slevmar_der
dlevmar_der :: LevMarDer Double
dlevmar_der = mk_levmar_der BLM.c'dlevmar_der
slevmar_bc_dif :: LevMarBCDif Float
slevmar_bc_dif = mk_levmar_bc_dif BLM.c'slevmar_bc_dif
dlevmar_bc_dif :: LevMarBCDif Double
dlevmar_bc_dif = mk_levmar_bc_dif BLM.c'dlevmar_bc_dif
slevmar_bc_der :: LevMarBCDer Float
slevmar_bc_der = mk_levmar_bc_der BLM.c'slevmar_bc_der
dlevmar_bc_der :: LevMarBCDer Double
dlevmar_bc_der = mk_levmar_bc_der BLM.c'dlevmar_bc_der
slevmar_lec_dif :: LevMarLecDif Float
slevmar_lec_dif = mk_levmar_lec_dif BLM.c'slevmar_lec_dif
dlevmar_lec_dif :: LevMarLecDif Double
dlevmar_lec_dif = mk_levmar_lec_dif BLM.c'dlevmar_lec_dif
slevmar_lec_der :: LevMarLecDer Float
slevmar_lec_der = mk_levmar_lec_der BLM.c'slevmar_lec_der
dlevmar_lec_der :: LevMarLecDer Double
dlevmar_lec_der = mk_levmar_lec_der BLM.c'dlevmar_lec_der
slevmar_blec_dif :: LevMarBLecDif Float
slevmar_blec_dif = mk_levmar_blec_dif BLM.c'slevmar_blec_dif
dlevmar_blec_dif :: LevMarBLecDif Double
dlevmar_blec_dif = mk_levmar_blec_dif BLM.c'dlevmar_blec_dif
slevmar_blec_der :: LevMarBLecDer Float
slevmar_blec_der = mk_levmar_blec_der BLM.c'slevmar_blec_der
dlevmar_blec_der :: LevMarBLecDer Double
dlevmar_blec_der = mk_levmar_blec_der BLM.c'dlevmar_blec_der