Forwarding since [email protected] does not allow non-members to send mail.

David (Mertens)

On Sun, Oct 7, 2012 at 9:27 PM, David Oswald <[email protected]> wrote:
> On Sun, Oct 7, 2012 at 6:30 PM, David Mertens <[email protected]> 
> wrote:
>> BTW, another person who has plenty of experience interfacing Perl and
>> C++ is David Oswald, the current maintainer of Inline::CPP. He's done
>> some fantastic work lately on Inline::CPP (dusting off a pretty old
>> module and bringing it into the modern era) so he may have encountered
>> some corners that you find yourself in.
>>
>> David
>
> I'm going to take a look at this, and will let you know if Inline::CPP
> looks like a reasonable fit.  I have no experience with PDL, but as
> David mentioned, I've had a healthy dose of Inline::CPP.  The best
> case scenario is that the AUTO_WRAP feature will do all the dirty
> work.  The worst case, I wouldn't want to think about.  Most likely
> the reality will fall somewhere between those two points. :)
>
> Dave
>
>
>>
>> On Sun, Oct 7, 2012 at 8:27 PM, David Mertens <[email protected]> 
>> wrote:
>>> Christian -
>>>
>>> I'm sorry nobody has responded sooner to your query, but it's a pretty
>>> tough question, so I'm not terribly surprised. :-)
>>>
>>> For anybody else following along, the shogun project Christian refers
>>> to is the Shogun Machine Learning Toolbox:
>>> http://www.shogun-toolbox.org/doc/en/current/index.html. SHOGUN
>>> supports multiple languages: "SHOGUN is implemented in C++ and
>>> interfaces to Matlab(tm), R, Octave and Python." And Lua, btw.
>>>
>>> Having scanned the docs briefly (especially the developer tutorial:
>>> http://www.shogun-toolbox.org/doc/en/current/developer_tutorial.html),
>>> I think that the best route would be to create Perl wrappers for the
>>> Shogun classes. The Wx folks have extensive experience doing this. You
>>> should start by looking at http://p3rl.org/ExtUtils::XSpp, and then
>>> possibly hopping on the Wx and/or Padre mailing lists or IRC channels.
>>>
>>> Then, you would want some way to interface PDL data with SHOGUN
>>> SGMatrix objects. There are a few options here. (1) Create a function
>>> that copies from one to the other and back. (2) Create a handful of
>>> PDL wrappers of SGMatrix classes, which requires a little bit of PDL
>>> (black?) magic, but not much. I could probably point you to useful
>>> code in this respect. (3) Create a set of C++ classes that know how to
>>> wrap PDL data in a form derived from SGMatrix. The main drawback here
>>> is that you would then have to properly handle slices, which is why I
>>> would prefer the second idea to this third one.
>>>
>>> A bystander might ask: why not just wrap SHOGUN's methods into PDL
>>> routines? Well, SHOGUN uses C++'s object orientation pretty
>>> extensively, so trying to wrap the SHOGUN methods into PDL methods
>>> would be very difficult, and very much exploratory. There's a lot of
>>> meta-information that you'd have to slog around, and keeping track of
>>> it all---while doable using the header hash, maybe---would likely be a
>>> suboptimal solution.
>>>
>>> So, I propose you aim to create a Perl wrapper for project. Talk to
>>> the Wx people and get their advice. Once that's working, you can
>>> quickly hack together a means to copy data between PDL and SHOGUN, and
>>> then aim for a PDL-side wrapper of the SHOGUN data types.
>>>
>>> David
>>>
>>> On Fri, Oct 5, 2012 at 4:41 AM, Christian Montanari
>>> <[email protected]> wrote:
>>>> Hi,
>>>> I am attempting to tie the "shogun" package to PDL.
>>>> "shogun" has already many classes used in PDL, mainly of course, data
>>>> formats, but also IO classes, so those packages are a tat similare.
>>>> however PDL is for data parsing, while "shogun" is more for developing
>>>> algorithms using data.
>>>>
>>>> so far I managed a rough interface (it links!), but I am still not
>>>> very confident in the inner guts of the wrappers.
>>>>
>>>> I am looking for advices or support from a PDL experts but
>>>> particularely nice source code examples for specific usage.
>>>>
>>>> I found somewhat the pdl-api is missing a few goodies and I would not
>>>> mind any expert in the art of PDL show some example of use of...:
>>>>
>>>> - affine functions used for parsing PDL structures?
>>>>
>>>> - pdl-api for inline operations
>>>>
>>>> - strings , storage or RV referenced perl-objects in pdl ?
>>>>
>>>> - pdl-api for slices ?
>>>>
>>>> - best use of the "threading"
>>>>
>>>> - relations beetween pdl data, datasv , sv, hdrsv.
>>>>
>>>> - sparse format (sparse vector, matrix, n-gram...) (ie:  map/hash (or tie) 
>>>> of arrays index/ranges
>>>> to pdl.data )
>>>>
>>>> - sub - pdl organisation ?
>>>>
>>>> I have somewhat partial answers to a few of those, but might not be
>>>> the best and the pretiest!
>>>>
>>>> also I have two ways to embed te packages: do I wrap PDL into "shogun" or
>>>> vice versa? (the first I am using a "swig - perl" wrapper, but for the
>>>> other I suppose one has to use the wonderfull .PL mechanisme!)
>>>>
>>>> please, if you are interrested to develop a wrapper likewise, I am
>>>> happy to send you my 'git' project, or please share your examples....
>>>>
>>>> Thanks for your time.
>>>>
>>>> --
>>>> -------------------------------------------------------
>>>> Dr. Christian Montanari, Consulting Engineer, Hillebrand Consulting 
>>>> Engineers GmbH
>>>> skype: cp.montanari
>>>>
>>>>
>>>>
>>>> _______________________________________________
>>>> Perldl mailing list
>>>> [email protected]
>>>> http://mailman.jach.hawaii.edu/mailman/listinfo/perldl
>>>
>>>
>>>
>>> --
>>>  "Debugging is twice as hard as writing the code in the first place.
>>>   Therefore, if you write the code as cleverly as possible, you are,
>>>   by definition, not smart enough to debug it." -- Brian Kernighan
>>
>>
>>
>> --
>>  "Debugging is twice as hard as writing the code in the first place.
>>   Therefore, if you write the code as cleverly as possible, you are,
>>   by definition, not smart enough to debug it." -- Brian Kernighan
>
>
>
> --
>
> David Oswald
> [email protected]

_______________________________________________
Perldl mailing list
[email protected]
http://mailman.jach.hawaii.edu/mailman/listinfo/perldl

Reply via email to