Permalink
Commits on May 21, 2009
  1. Remove previous %apply and %typemap directives

    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    vdanjean committed with Apr 27, 2009
  2. some field are not correctly managed: mark them

    Most of them are not yet found...
    
    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    vdanjean committed with Apr 27, 2009
  3. Apply some types

    some char* are strings and not arrays of chars
    (all headers should be checked)
    
    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    vdanjean committed with Apr 27, 2009
  4. Do not reinterpret gsl_errno.h in NTuple.i (already done in Errno.i)

    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    vdanjean committed with Apr 27, 2009
  5. ignore some symbols for now

    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    vdanjean committed with Apr 27, 2009
  6. Use Perl arrays for float* arguments in CBLAS routines

    Note: we allocate some memory for the C array
    AND for a structure to be able to push back the results
    in the perl Array when the parameter is an IN/OUT parameter.
    
    In order to archive this, the struture is placed before
    $1 (because $1 is used directly in the C function call
    so it must point to the C array)
    
    Tests have been adapted to send arrays instead of single values.
    
    NOTE2: I'm not sure this is the right Perl API. Indeed, if we
    follow this path, each CBLAS routine will require some Perl->C
    array conversions and back for the result. This can be very
    inefficient if we want to make several calls to CBLAS routines
    in a row.
      Perhaps, a good Perl interface would be something as:
    my $opaque_C_array=CBLAS::Array->new( [ 2, 3, 5, 6.7] );
    CBLAS::sdsdot(2.3, $opaque_C_array, 1, $opaque_C_array, 1);
    CBLAS::sdsdot(2.3, $opaque_C_array, 1, $opaque_C_array, 1);
    ...
    my $result=$opaque_C_array->get_perl_array();
    for $val (@{$result}) { ... }
    
    Ie: C array are encapsulated in opaque perl objects (with
    constructors, accessors and destructors) and can be reused
    with several CBLAS invocations ?
    
    Signed-off-by: Jonathan "Duke" Leto <jonathan@leto.net>
    vdanjean committed with Apr 22, 2009
Commits on May 8, 2009
  1. Merge branch 'master' of git://github.com/vdanjean/math--gsl into dan…

    …jean
    
    Conflicts:
    	Build.PL
    	swig/gsl_typemaps.i
    committed May 8, 2009
  2. Add some stubs to CREDITS

    committed May 8, 2009
Commits on May 7, 2009
  1. Fix uninitialized value warning in t/SF.t caused by $Math::GSL::GSL_M…

    …ODE_DEFAULT not being imported
    committed May 7, 2009
  2. Fix some Linalg tests that were doing is_* instead of ok_* and make s…

    …ome more resilient to floating point deviations
    committed May 7, 2009
Commits on May 6, 2009
Commits on May 2, 2009
Commits on May 1, 2009
Commits on Apr 24, 2009
Commits on Apr 23, 2009
  1. Do not typedef size_t

    size_t is a type defined in standard headers.
    If we need it, we should use these headers.
    Else, we will have problems on architecture with different definition...
    vdanjean committed Apr 23, 2009
  2. Bugfix: correction of the preprocessor syntax

    CPP does not accept (ie ignore) the reminding test after an #ifdef
    We need to replace #ifdef by #if defined(..) if we want to add something else after
    vdanjean committed Apr 23, 2009
  3. Fix swig flags in case the gsl is installed system-wide

    pkg-config remove the /usr/include directory whereas swig needed it.
    Note: this patch is not perfect. It supposes that the system-wide
    directory is /usr/include (I'm not sure it is this one with fink on
    MacOS X for example)
    vdanjean committed Apr 19, 2009
  4. Update META.yml

    committed Apr 23, 2009
  5. Update changes and bump version

    committed Apr 23, 2009
  6. Undo a merge oops

    committed Apr 23, 2009
  7. Correctly manage callbacks

    gsl_function and gsl_monte_function are handled in this patch.
    This implementation do not mess with the memory.
    We put on the C stack during all the function using the callback
    a structure (gsl_[monte_]function_perl) that has all what we need.
    We use the 'params' parameter in the original C structure to
    track the adress of this structure and our C callback
    (call_gsl_[monte_]function) use params to get back the info and
    call the perl callback.
    
    When a gsl_function is required, the corresponding Perl parameter
    must be either a function (ref to code or routine name string)
    or a reference to a array of a function (ref to code or routine
    name string), [an integer for gsl_monte_function, ]and a
    scalar that will be passed "as it is" to the callback perl function.
    vdanjean committed with Apr 22, 2009