>
> (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
>>
>
>

Reply via email to