#include #include module Bindings.ESKitLowlevel where #strict_import #opaque_t ekCMA #opaque_t ekSepCMA #opaque_t ekCSA #starttype ekPoint #field x , Ptr CDouble #field fitness, CDouble #stoptype #starttype ekOptimizer #field N, CSize #field mu, CSize #field lambda, CSize #field nbUpdates, CSize #field xMean, Ptr CDouble #field points, Ptr (Ptr ) #field bestPoint, #stoptype #define hsc_sizeof(type) \ bc_varid(#type) printf("Size = %u\n", sizeof(type)); \ bc_varid(#type) printf("Size :: (Num t) => t\n"); #sizeof ekPoint #ccall mkekOptimizer, CSize -> IO (Ptr ) #ccall delekOptimizer, Ptr -> IO () #ccall mkekCMA, CSize -> IO (Ptr ) #ccall delekCMA, Ptr -> IO () #ccall mkekSepCMA, CSize -> IO (Ptr ) #ccall delekSepCMA, Ptr -> IO () #ccall mkekCSA, CSize -> IO (Ptr ) #ccall delekCSA, Ptr -> IO () #ccall ekOptimizer_setMuLambda, Ptr -> CSize -> CSize -> IO () #ccall ekOptimizer_start, Ptr -> IO () #ccall ekOptimizer_sampleCloud, Ptr -> IO () #ccall ekOptimizer_samplePoint, Ptr -> CSize -> IO () #ccall ekOptimizer_update, Ptr -> IO () #integral_t enum ekStopCriterionId #num ekStopCriterionId_DistributionNotSet #num ekStopCriterionId_LowSigma #num ekStopCriterionId_NoEffectAxis #num ekStopCriterionId_NoEffectCoord #num ekStopCriterionId_ConditionCov #num ekStopCriterionId_EigenSolverFailure #ccall ekOptimizer_stop, Ptr -> IO #callback ekEvalFunction, Ptr CDouble -> CSize -> IO CDouble #ccall ekOptimizer_evaluateFunction, Ptr -> -> IO () #ccall ekCMA_setSigma, Ptr -> CDouble -> CDouble -> IO () #ccall ekCMA_setOptimizer, Ptr -> Ptr -> IO () #ccall ekCMA_sigma, Ptr -> CDouble #ccall ekSepCMA_setSigma, Ptr -> CDouble -> CDouble -> IO () #ccall ekSepCMA_setOptimizer, Ptr -> Ptr -> IO () #ccall ekSepCMA_sigma, Ptr -> CDouble #ccall ekCSA_setSigma, Ptr -> CDouble -> CDouble -> IO () #ccall ekCSA_setOptimizer, Ptr -> Ptr -> IO () #ccall ekCSA_sigma, Ptr -> CDouble