Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on May 21, 2009
  1. @vdanjean

    Remove previous %apply and %typemap directives

    vdanjean authored committed
    Signed-off-by: Jonathan "Duke" Leto <>
  2. @vdanjean

    some field are not correctly managed: mark them

    vdanjean authored committed
    Most of them are not yet found...
    Signed-off-by: Jonathan "Duke" Leto <>
  3. @vdanjean

    Apply some types

    vdanjean authored committed
    some char* are strings and not arrays of chars
    (all headers should be checked)
    Signed-off-by: Jonathan "Duke" Leto <>
  4. @vdanjean

    Do not reinterpret gsl_errno.h in NTuple.i (already done in Errno.i)

    vdanjean authored committed
    Signed-off-by: Jonathan "Duke" Leto <>
  5. @vdanjean

    ignore some symbols for now

    vdanjean authored committed
    Signed-off-by: Jonathan "Duke" Leto <>
  6. @vdanjean

    Use Perl arrays for float* arguments in CBLAS routines

    vdanjean authored committed
    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 <>
Commits on May 8, 2009
  1. Merge branch 'master' of git:// into dan…

  2. Add some stubs to CREDITS

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
  2. Fix some Linalg tests that were doing is_* instead of ok_* and make s…

    …ome more resilient to floating point deviations
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. @vdanjean
  2. @vdanjean

    Do not typedef size_t

    vdanjean authored
    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...
  3. @vdanjean

    Bugfix: correction of the preprocessor syntax

    vdanjean authored
    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
  4. @vdanjean
  5. @vdanjean

    Fix swig flags in case the gsl is installed system-wide

    vdanjean authored
    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)
  6. Update META.yml

  7. Update changes and bump version

  8. @vdanjean
  9. Undo a merge oops

  10. @vdanjean

    Correctly manage callbacks

    vdanjean authored committed
    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.
Something went wrong with that request. Please try again.