> > (I've made some wrappers previously using an old build, although I can't > get Clang.jl working at the moment)
I know there is a bug on OS X, I'll try to get it fixed this week. If there is some other problem, please let me know. On Thu, Apr 16, 2015 at 9:48 AM, Isaiah Norton <[email protected]> wrote: > The API looks quite small, so I would suggest to just type it out -- from > a quick look, everything should be wrappable in pure Julia. e.g. the > equivalent to the first part of hello.cpp you linked would be: > > julia> immutable BeagleInstanceDetails > resourceNumber::Int > resourceName::Ptr{Cchar} > implName::Ptr{Cchar} > implDescription::Ptr{Cchar} > flags::Clong > end > > julia> retInfo = [BeagleInstanceDetails(0,0,0,0,0)] > 1-element Array{BeagleInstanceDetails,1}: > BeagleInstanceDetails(0,Ptr{Int8} @0x0000000000000000,Ptr{Int8} > @0x000000000000 > 0000,Ptr{Int8} @0x0000000000000000,0) > > julia> nPatterns=2 > 2 > > julia> ccall((:beagleCreateInstance, "hmsbeagle64"), Int, > (Cint,Cint,Cint,Cint,Cint,Cint,Cint,Cint,Cint,Ptr{Int}, > Cint,Clong,Clong,Ptr{BeagleInstanceDetails}), > 3,2,3,4,nPatterns,1,4,1,0,C_NULL,0,0,0,retInfo) > 0 > > julia> retInfo > 1-element Array{BeagleInstanceDetails,1}: > BeagleInstanceDetails(0,Ptr{Int8} @0x0000000002a2d54c,Ptr{Int8} > @0x0000000002a2 > f040,Ptr{Int8} @0x00000000003e3390,135320150) > > On Thu, Apr 16, 2015 at 9:12 AM, Simon Frost <[email protected]> wrote: > >> Dear All, >> >> I'm trying to wrap the BEAGLE library for use in Julia: >> >> https://github.com/beagle-dev/beagle-lib >> >> I've used SWIG in the past, which works fine for Python: >> >> https://github.com/beagle-dev/beagle-lib/tree/master/examples/swig_python >> >> and I'm currently hacking my way through R: >> >> https://github.com/sdwfrost/beagle-lib/tree/master/examples/swig_r >> >> The API isn't big at all, but does require me to initialise some pointers >> to structs, which are filled in by reference. A toy example in C is here: >> >> >> https://github.com/sdwfrost/beagle-lib/blob/master/examples/standalone/hellobeagle/src/hello.cpp >> >> I've looked through the docs in Julia, as well as Clang.jl (I've made >> some wrappers previously using an old build, although I can't get Clang.jl >> working at the moment), and StrPack.jl, and I was wondering whether anyone >> had any pointers (no pun intended) to the current best practice for >> wrapping a library like this? I work best from examples, so any suggestions >> for a library with a similar API would be much appreciated. >> >> Best >> Simon >> > >
