From c4e0abd975ab2d314e98d10a98a750c1095ee316 Mon Sep 17 00:00:00 2001 From: leto Date: Sun, 13 Jan 2008 17:06:56 +0000 Subject: [PATCH] some headway on a new version of Math::GSL. Doesn't compile yet, tho. --- trunk/Build.PL | 356 +++++++++++++++++++++++++++++++++++++++ trunk/Changes | 1 + trunk/MANIFEST | 7 + trunk/README | 46 +++++ trunk/lib/Math/GSL.pm | 102 +++++++++++ trunk/lib/Math/GSL/Blas.i | 10 ++ trunk/lib/Math/GSL/Block.i | 33 ++++ trunk/lib/Math/GSL/Bspline.i | 7 + trunk/lib/Math/GSL/Cblas.i | 7 + trunk/lib/Math/GSL/Cdf.i | 7 + trunk/lib/Math/GSL/Chebyshev.i | 7 + trunk/lib/Math/GSL/CheckRange.i | 8 + trunk/lib/Math/GSL/Combination.i | 7 + trunk/lib/Math/GSL/Complex.i | 10 ++ trunk/lib/Math/GSL/Const.i | 17 ++ trunk/lib/Math/GSL/Deriv.i | 7 + trunk/lib/Math/GSL/Dft.i | 9 + trunk/lib/Math/GSL/Dht.i | 7 + trunk/lib/Math/GSL/Diff.i | 7 + trunk/lib/Math/GSL/Eigen.i | 7 + trunk/lib/Math/GSL/Errno.i | 6 + trunk/lib/Math/GSL/Fft.i | 20 +++ trunk/lib/Math/GSL/Fit.i | 7 + trunk/lib/Math/GSL/Heapsort.i | 7 + trunk/lib/Math/GSL/Histogram.i | 7 + trunk/lib/Math/GSL/Histogram2d.i | 7 + trunk/lib/Math/GSL/Ieee_utils.i | 7 + trunk/lib/Math/GSL/Integration.i | 7 + trunk/lib/Math/GSL/Interp.i | 8 + trunk/lib/Math/GSL/Linalg.i | 7 + trunk/lib/Math/GSL/Machine.i | 7 + trunk/lib/Math/GSL/Math.i | 7 + trunk/lib/Math/GSL/Matrix.i | 7 + trunk/lib/Math/GSL/Message.i | 7 + trunk/lib/Math/GSL/Min.i | 7 + trunk/lib/Math/GSL/Mode.i | 7 + trunk/lib/Math/GSL/Monte.i | 13 ++ trunk/lib/Math/GSL/Multifit.i | 9 + trunk/lib/Math/GSL/Multimin.i | 8 + trunk/lib/Math/GSL/Multiroots.i | 8 + trunk/lib/Math/GSL/Nan.i | 7 + trunk/lib/Math/GSL/Ntuple.i | 7 + trunk/lib/Math/GSL/Odeiv.i | 8 + trunk/lib/Math/GSL/Permutation.i | 7 + trunk/lib/Math/GSL/Permute.i | 7 + trunk/lib/Math/GSL/Poly.i | 7 + trunk/lib/Math/GSL/Pow_int.i | 7 + trunk/lib/Math/GSL/Precision.i | 10 ++ trunk/lib/Math/GSL/Qrng.i | 8 + trunk/lib/Math/GSL/Randist.i | 7 + trunk/lib/Math/GSL/Rng.i | 8 + trunk/lib/Math/GSL/Roots.i | 7 + trunk/lib/Math/GSL/Sf.i | 72 ++++++++ trunk/lib/Math/GSL/Siman.i | 7 + trunk/lib/Math/GSL/Sort.i | 7 + trunk/lib/Math/GSL/Specfunc.i | 7 + trunk/lib/Math/GSL/Spline.i | 7 + trunk/lib/Math/GSL/Statistics.i | 7 + trunk/lib/Math/GSL/Sum.i | 7 + trunk/lib/Math/GSL/Sys.i | 7 + trunk/lib/Math/GSL/Test.i | 7 + trunk/lib/Math/GSL/Types.i | 7 + trunk/lib/Math/GSL/Vector.i | 38 +++++ trunk/lib/Math/GSL/Version.i | 8 + trunk/lib/Math/GSL/Wavelet.i | 8 + trunk/lib/Math/GSL/Wavelet2d.i | 8 + trunk/t/lib/Math/GSL/Test.pm | 10 ++ 67 files changed, 1122 insertions(+) create mode 100644 trunk/Build.PL create mode 100644 trunk/Changes create mode 100644 trunk/MANIFEST create mode 100644 trunk/README create mode 100644 trunk/lib/Math/GSL.pm create mode 100644 trunk/lib/Math/GSL/Blas.i create mode 100644 trunk/lib/Math/GSL/Block.i create mode 100644 trunk/lib/Math/GSL/Bspline.i create mode 100644 trunk/lib/Math/GSL/Cblas.i create mode 100644 trunk/lib/Math/GSL/Cdf.i create mode 100644 trunk/lib/Math/GSL/Chebyshev.i create mode 100644 trunk/lib/Math/GSL/CheckRange.i create mode 100644 trunk/lib/Math/GSL/Combination.i create mode 100644 trunk/lib/Math/GSL/Complex.i create mode 100644 trunk/lib/Math/GSL/Const.i create mode 100644 trunk/lib/Math/GSL/Deriv.i create mode 100644 trunk/lib/Math/GSL/Dft.i create mode 100644 trunk/lib/Math/GSL/Dht.i create mode 100644 trunk/lib/Math/GSL/Diff.i create mode 100644 trunk/lib/Math/GSL/Eigen.i create mode 100644 trunk/lib/Math/GSL/Errno.i create mode 100644 trunk/lib/Math/GSL/Fft.i create mode 100644 trunk/lib/Math/GSL/Fit.i create mode 100644 trunk/lib/Math/GSL/Heapsort.i create mode 100644 trunk/lib/Math/GSL/Histogram.i create mode 100644 trunk/lib/Math/GSL/Histogram2d.i create mode 100644 trunk/lib/Math/GSL/Ieee_utils.i create mode 100644 trunk/lib/Math/GSL/Integration.i create mode 100644 trunk/lib/Math/GSL/Interp.i create mode 100644 trunk/lib/Math/GSL/Linalg.i create mode 100644 trunk/lib/Math/GSL/Machine.i create mode 100644 trunk/lib/Math/GSL/Math.i create mode 100644 trunk/lib/Math/GSL/Matrix.i create mode 100644 trunk/lib/Math/GSL/Message.i create mode 100644 trunk/lib/Math/GSL/Min.i create mode 100644 trunk/lib/Math/GSL/Mode.i create mode 100644 trunk/lib/Math/GSL/Monte.i create mode 100644 trunk/lib/Math/GSL/Multifit.i create mode 100644 trunk/lib/Math/GSL/Multimin.i create mode 100644 trunk/lib/Math/GSL/Multiroots.i create mode 100644 trunk/lib/Math/GSL/Nan.i create mode 100644 trunk/lib/Math/GSL/Ntuple.i create mode 100644 trunk/lib/Math/GSL/Odeiv.i create mode 100644 trunk/lib/Math/GSL/Permutation.i create mode 100644 trunk/lib/Math/GSL/Permute.i create mode 100644 trunk/lib/Math/GSL/Poly.i create mode 100644 trunk/lib/Math/GSL/Pow_int.i create mode 100644 trunk/lib/Math/GSL/Precision.i create mode 100644 trunk/lib/Math/GSL/Qrng.i create mode 100644 trunk/lib/Math/GSL/Randist.i create mode 100644 trunk/lib/Math/GSL/Rng.i create mode 100644 trunk/lib/Math/GSL/Roots.i create mode 100644 trunk/lib/Math/GSL/Sf.i create mode 100644 trunk/lib/Math/GSL/Siman.i create mode 100644 trunk/lib/Math/GSL/Sort.i create mode 100644 trunk/lib/Math/GSL/Specfunc.i create mode 100644 trunk/lib/Math/GSL/Spline.i create mode 100644 trunk/lib/Math/GSL/Statistics.i create mode 100644 trunk/lib/Math/GSL/Sum.i create mode 100644 trunk/lib/Math/GSL/Sys.i create mode 100644 trunk/lib/Math/GSL/Test.i create mode 100644 trunk/lib/Math/GSL/Types.i create mode 100644 trunk/lib/Math/GSL/Vector.i create mode 100644 trunk/lib/Math/GSL/Version.i create mode 100644 trunk/lib/Math/GSL/Wavelet.i create mode 100644 trunk/lib/Math/GSL/Wavelet2d.i create mode 100644 trunk/t/lib/Math/GSL/Test.pm diff --git a/trunk/Build.PL b/trunk/Build.PL new file mode 100644 index 0000000..6824ba7 --- /dev/null +++ b/trunk/Build.PL @@ -0,0 +1,356 @@ +#!/usr/bin/perl -w +# $Id: Build.PL,v 1.25 2006/08/05 08:48:12 rocky Exp $ +# Copyright (C) 2006 Rocky Bernstein +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +use strict; +use warnings; +use Module::Build; +use ExtUtils::PkgConfig; +use Config; + +my $code = <<'EOC'; +use File::Copy; + +sub process_swig_files { + my $self = shift; + my $p = $self->{properties}; + return unless $p->{swig_source}; + my $files_ref = $p->{swig_source}; + foreach my $file (@$files_ref) { + $self->process_swig($file->[0], $file->[1]); + } +} + +# Check check dependencies for $main_swig_file. These are the +# %includes. If needed, arrange to run swig on $main_swig_file to +# produce a xxx_wrap.c C file. + +sub process_swig { + my ($self, $main_swig_file, $deps_ref) = @_; + my ($cf, $p) = ($self->{config}, $self->{properties}); # For convenience + + # File name. e.g, perlcdio.swg -> perlcdio_wrap.c + (my $file_base = $main_swig_file) =~ s/\.[^.]+$//; + my $c_file = "${file_base}_wrap.c"; + + if ($p->{swig_installed}) { + # .swg -> .c + $self->add_to_cleanup($c_file); + + # print "+++ c_file: $c_file, file: $main_swig_file ", `pwd`, "\n"; + # If any of the swig files that the main swig depends is newer + # then rebuild. + foreach my $depends_on ($main_swig_file, @$deps_ref) { + unless ($self->up_to_date($depends_on, $c_file)) { + $self->compile_swig($main_swig_file, $c_file); + # Only need to build $c_file once no matter how many + # includes there are. + last; + } + } + } + + # .c -> .o + my $obj_file = $self->compile_c($c_file); + $self->add_to_cleanup($obj_file); + + # The .so files don't go in blib/lib/, they go in blib/arch/auto/. + # Unfortunately we have to pre-compute the whole path. + my $archdir; + { + my @dirs = File::Spec->splitdir($file_base); + $archdir = File::Spec->catdir($self->blib,'arch', @dirs[1..$#dirs]); + } + print "archdir is $archdir\n"; + + # .o -> .so + $self->link_c($archdir, $file_base, $obj_file); +} + +# Invoke swig with -perl -outdir and other options. +sub compile_swig { + my ($self, $file, $c_file) = @_; + my ($cf, $p) = ($self->{config}, $self->{properties}); # For convenience + + # File name, minus the suffix + (my $file_base = $file) =~ s/\.[^.]+$//; + + my @swig; + if (defined($p->{swig})) { + @swig = $self->split_like_shell($p->{swig}); + } else { + @swig = ('swig'); + } + if (defined($p->{swig_flags})) { + @swig_flags = $self->split_like_shell($p->{swig_flags}); + } else { + @swig_flags = (); + } + + my $blib_lib = File::Spec->catfile($self->blib, 'lib'); + + print "+++swig -o $c_file -outdir $blib_lib -perl $file\n"; + $self->do_system(@swig, '-o', $c_file, '-outdir', $blib_lib, + '-perl', @swig_flags, $file) + or die "error building $c_file file from '$file'"; + + my $pm_file = "${file_base}.pm"; + my $from = File::Spec->catfile($blib_lib, $pm_file); + my $to = File::Spec->catfile("lib", $pm_file); + + print "Copying from: $from, to: $to; it makes the CPAN indexer happy.\n"; + copy($from,$to); + return $c_file; +} + +# From Base.pm but modified for a SWIG conventions. +# We just pass a $obj_file parameter +# SWIG objects have a get created with _wrap added. For example +# perlcdio.swg produces perlcdio_wrap.c, and perlcdio_wrap.o. +# But the shared object is still perlcdio.so. +# Also we modified the die to report the full file name. +sub link_c { + my ($self, $to, $file_base, $obj_file) = @_; + my ($cf, $p) = ($self->{config}, $self->{properties}); # For convenience + + my $lib_file = File::Spec->catfile($to, File::Basename::basename("$file_base.so")); + + $self->add_to_cleanup($lib_file); + my $objects = $p->{objects} || []; + + unless ($self->up_to_date([$obj_file, @$objects], $lib_file)) { + my @linker_flags = $self->split_like_shell($p->{extra_linker_flags}); + my @lddlflags = $self->split_like_shell($cf->{lddlflags}); + my @shrp = $self->split_like_shell($cf->{shrpenv}); + my @ld = $self->split_like_shell($cf->{ld}) || "gcc"; + $self->do_system(@shrp, @ld, @lddlflags, @user_libs, '-o', $lib_file, + $obj_file, @$objects, @linker_flags) + or die "error building $lib_file file from '$obj_file'"; + } + + return $lib_file; +} + +# From Base.pm but modified to put package cflags *after* +# installed c flags so warning-removal will have an effect. + +sub compile_c { + my ($self, $file) = @_; + my ($cf, $p) = ($self->{config}, $self->{properties}); # For convenience + + # File name, minus the suffix + (my $file_base = $file) =~ s/\.[^.]+$//; + my $obj_file = "$file_base.so"; + $self->add_to_cleanup($obj_file); + return $obj_file if $self->up_to_date($file, $obj_file); + + + my @include_dirs = @{$p->{include_dirs}} + ? map {"-I$_"} (@{$p->{include_dirs}}, File::Spec->catdir($cf->{installarchlib}, 'CORE')) + : "-I/usr/local/lib/perl5/5.10.0/i386-freebsd/CORE"; + + my @extra_compiler_flags = $self->split_like_shell($p->{extra_compiler_flags}) || "-Wall -fpic -Dbool=char"; ; + my @cccdlflags = $self->split_like_shell($cf->{cccdlflags}); + my @ccflags = $self->split_like_shell($cf->{ccflags}); + my @optimize = $self->split_like_shell($cf->{optimize}); + + # Whoah! There seems to be a bug in gcc 4.1.0 and optimization + # and swig. I'm not sure who's at fault. But for now the simplest + # thing is to turn off all optimization. For the kinds of things that + # SWIG does - do conversions between parameters and transfers calls + # I doubt optimization makes much of a difference. But if it does, + # it can be added back via @extra_compiler_flags. + my @flags = (@include_dirs, @cccdlflags, '-c', @ccflags, + @extra_compiler_flags, ); + + my @cc = $self->split_like_shell($cf->{cc}); + @cc = "gcc" unless @cc; + + $self->do_system(@cc, @flags, '-o', $obj_file, $file) + or die "error building $cf->{obj_ext} file from '$file'"; + + return $obj_file; +} + +EOC + + +sub try_compile { + my ($c, %args) = @_; + + my $ok = 0; + my $tmp = "tmp$$"; + local(*TMPC); + + my $obj_ext = $Config{obj_ext} || ".o"; + unlink("$tmp.c", "$tmp$obj_ext"); + + if (open(TMPC, ">", "$tmp.c")) { + print TMPC $c; + close(TMPC); + + my $cccmd = $args{cccmd}; + my $errornull; + my $ccflags = $Config{'ccflags'}; + $ccflags .= " $args{ccflags}" if $args{ccflags}; + + if ($args{silent} ) { + $errornull = "2>/dev/null" unless defined $errornull; + } else { + $errornull = ''; + } + + $cccmd = "$Config{'cc'} -o $tmp $ccflags $tmp.c $errornull" + unless defined $cccmd; + + printf "cccmd = $cccmd\n" if $args{verbose}; + my $res = system($cccmd); + $ok = defined($res) && $res == 0; + + if ( !$ok ) { + my $errno = $? >> 8; + local $! = $errno; + print " + +*** The test compile of '$tmp.c' failed: status $? +*** (the status means: errno = $errno or '$!') +*** DO NOT PANIC: this just means that *some* you may get some innocuous +*** compiler warnings. +"; + } + unlink("$tmp.c"); + + } + return $ok; +} + +sub try_cflags ($) { + my ($ccflags) = @_; + my $c_prog = "int main () { return 0; }\n"; + print "Checking if $Config{cc} supports \"$ccflags\"..."; + my $result = try_compile($c_prog, ccflags=>$ccflags); + if ($result) { + print "yes\n"; + return " $ccflags"; + } + print "no\n"; + return ''; + +} + +my %gsl_pkgcfg = ExtUtils::PkgConfig->find ('gsl'); + +use constant MIN_GSL_VERSION => 1.8; +my $gv = $gsl_pkgcfg{'modversion'}; +if (exists($gsl_pkgcfg{'modversion'})) { + if ($gsl_pkgcfg{'modversion'} =~ m{\A((?:\d+)(?:\.\d+))}) { + if ($1 < MIN_GSL_VERSION) { + printf " +*** +*** You need to have gsl %s or greater installed. (You have $gv). +*** Get gsl at http://www.gnu.org/software/gsl +", MIN_GSL_VERSION; + exit 1; + } else { + print "Good, I found gsl version $gv installed.\n"; + + } + } else { + print " +*** +*** Can't parse gsl version $gv. +*** Will continue and keep my fingers crossed for luck. +"; + } +} else { + print " +*** +*** Can't find gsl configuration info. Is gsl installed? +*** Get gsl at http://www.gnu.org/software/gsl +"; + exit 1; +} + +print "Checking for SWIG..."; +my @swig_version = `swig -version 2>&1`; +my $swig_installed = 0; +if ($?) { + my $errno = $? >> 8; + print " +*** I don't see SWIG installed. I'll use the SWIG-generated file +*** that comes with the distribution. If you want SWIG, get it +*** from http://www.swig.org +"; + print "*** Output was: + @swig_version +" if @swig_version; +} else { + $swig_installed = 1; + print "ok\n"; +} + +my $ccflags = $gsl_pkgcfg{cflags}; + + ## Swig produces a number of GCC warnings. Turn them off if we can. +$ccflags .= try_cflags("-Wno-strict-aliasing"); +$ccflags .= try_cflags("-Wno-unused-function"); +$ccflags .= try_cflags("-Wno-unused-value"); +$ccflags .= try_cflags("-Wno-unused-function"); +$ccflags .= try_cflags("-Wno-unused-variable"); + +my $ldflags = "$gsl_pkgcfg{libs} -gsl"; +my $swig_flags=''; +if ('cygwin' eq $Config{osname} && + $Config{shrpenv} =~ m{\Aenv LD_RUN_PATH=(.*)\Z} ) { + $ldflags .= " -L$1 -lperl"; + # Should we check the 32-ness? + $swig_flags = '-DNEED_LONG'; +} elsif ('darwin' eq $Config{osname}) { + $ldflags .= " -bundle -flat_namespace"; +} + +my $class = Module::Build->subclass( code => $code ); + +my $builder = $class->new( + module_name => 'Math::Gsl', + add_to_cleanup => [ 'Math-Gsl-*', 'tmp*' ], + create_makefile_pl => 'passthrough', + dist_abstract => 'Interface to the GNU Scientific Library', + dist_author => 'Jonathan Leto ', + dist_version_from => 'lib/Math/GSL.pm', + include_dirs => '/usr/local/lib/perl5/5.10.0/mach/CORE/', + extra_linker_flags => $ldflags, + extra_compiler_flags=> $ccflags, + swig_flags => $swig_flags, + swig_installed => $swig_installed, + license => 'gpl', + requires => { + 'ExtUtils::PkgConfig' => '1.03', + 'Test::More' => 0, + 'version' => 0, + perl => '5.6.0', + }, + sign => 1, + swig_source => [ + [ 'GSL.i', + [ 'Types.i', 'Sf.i' ], + + ], + ], +); + +$builder->add_build_element('swig'); +$builder->create_build_script(); diff --git a/trunk/Changes b/trunk/Changes new file mode 100644 index 0000000..e01a16f --- /dev/null +++ b/trunk/Changes @@ -0,0 +1 @@ +0.01 - None yet diff --git a/trunk/MANIFEST b/trunk/MANIFEST new file mode 100644 index 0000000..33fa7f6 --- /dev/null +++ b/trunk/MANIFEST @@ -0,0 +1,7 @@ +Build.PL +Changes +MANIFEST +README +lib/Math/GSL.pm +t/lib/Math/GSL.pm +t/lib/Math/GSL/Sf.pm diff --git a/trunk/README b/trunk/README new file mode 100644 index 0000000..f523584 --- /dev/null +++ b/trunk/README @@ -0,0 +1,46 @@ +Math::GSL + +Math::GSL is an interface to the GNU Scientific Library. The GNU Scientific Library (GSL) +is a numerical library for C and C++ programmers. It is free software under the GNU General Public License. +Math::GSL uses SWIG to generate Perl bindings to *most* GSL functionality. + +Currently Math::GSL requires GSL 1.8, which is two versions behind the current (as of Jan 2007) GSL 1.10 . + +INSTALLATION + +To install this module, run the following commands: + + perl Build.PL + ./Build + ./Build test + ./Build install + +SUPPORT AND DOCUMENTATION + +After installing, you can find documentation for this module with the +perldoc command. + + perldoc Math::GSL + +You can also look for information at: + + RT, CPAN's request tracker + http://rt.cpan.org/NoAuth/Bugs.html?Dist=Math::GSL + + AnnoCPAN, Annotated CPAN documentation + http://annocpan.org/dist/Math::GSL + + CPAN Ratings + http://cpanratings.perl.org/d/Math::GSL + + Search CPAN + http://search.cpan.org/dist/Math::GSL + + +COPYRIGHT AND LICENCE + +Copyright (C) 2008 Jonathan Leto + +This program is free software; you can redistribute it and/or modify it +under the same terms as Perl itself. + diff --git a/trunk/lib/Math/GSL.pm b/trunk/lib/Math/GSL.pm new file mode 100644 index 0000000..934b39a --- /dev/null +++ b/trunk/lib/Math/GSL.pm @@ -0,0 +1,102 @@ +package Math::GSL; + +use warnings; +use strict; + +=head1 NAME + +Math::GSL - Perl bindings to the GNU Scientific Library (GSL) + +=head1 VERSION + +Version 0.01 + +=cut + +our $VERSION = '0.01'; + + +=head1 SYNOPSIS + + + use Math::GSL::Sf; + + my $foo = Math::GSL->new(); + ... + +=head1 EXPORT + +Nothing is exported by default. + +=head1 FUNCTIONS + +=head2 function1 + +=cut + +sub function1 { +} + +=head2 function2 + +=cut + +sub function2 { +} + +=head1 AUTHOR + +Jonathan Leto, C<< >> + +=head1 BUGS + +Please report any bugs or feature requests to C, or through +the web interface at L. I will be notified, and then you'll +automatically be notified of progress on your bug as I make changes. + + + + +=head1 SUPPORT + +You can find documentation for this module with the perldoc command. + + perldoc Math::GSL + + +You can also look for information at: + +=over 4 + +=item * RT: CPAN's request tracker + +L + +=item * AnnoCPAN: Annotated CPAN documentation + +L + +=item * CPAN Ratings + +L + +=item * Search CPAN + +L + +=back + + +=head1 ACKNOWLEDGEMENTS + + +=head1 COPYRIGHT & LICENSE + +Copyright 2008 Jonathan Leto, all rights reserved. + +This program is free software; you can redistribute it and/or modify it +under the same terms as Perl itself. + +=cut + +42; diff --git a/trunk/lib/Math/GSL/Blas.i b/trunk/lib/Math/GSL/Blas.i new file mode 100644 index 0000000..4d2d5e8 --- /dev/null +++ b/trunk/lib/Math/GSL/Blas.i @@ -0,0 +1,10 @@ +%module Blas +%{ +#include "gsl/gsl_blas.h" +#include "gsl/gsl_blas_types.h" + +%} + +%include "gsl/gsl_blas.h" +%include "gsl/gsl_blas_types.h" + diff --git a/trunk/lib/Math/GSL/Block.i b/trunk/lib/Math/GSL/Block.i new file mode 100644 index 0000000..a54c505 --- /dev/null +++ b/trunk/lib/Math/GSL/Block.i @@ -0,0 +1,33 @@ +%module Block +%{ +#include "gsl/gsl_block.h" +#include "gsl/gsl_block_char.h" +#include "gsl/gsl_block_complex_double.h" +#include "gsl/gsl_block_complex_float.h" +#include "gsl/gsl_block_complex_long_double.h" +#include "gsl/gsl_block_double.h" +#include "gsl/gsl_block_float.h" +#include "gsl/gsl_block_int.h" +#include "gsl/gsl_block_long.h" +#include "gsl/gsl_block_long_double.h" +#include "gsl/gsl_block_short.h" +#include "gsl/gsl_block_uchar.h" +#include "gsl/gsl_block_uint.h" +#include "gsl/gsl_block_ulong.h" +#include "gsl/gsl_block_ushort.h" +%} +%include "gsl/gsl_block.h" +%include "gsl/gsl_block_char.h" +%include "gsl/gsl_block_complex_double.h" +%include "gsl/gsl_block_complex_float.h" +%include "gsl/gsl_block_complex_long_double.h" +%include "gsl/gsl_block_double.h" +%include "gsl/gsl_block_float.h" +%include "gsl/gsl_block_int.h" +%include "gsl/gsl_block_long.h" +%include "gsl/gsl_block_long_double.h" +%include "gsl/gsl_block_short.h" +%include "gsl/gsl_block_uchar.h" +%include "gsl/gsl_block_uint.h" +%include "gsl/gsl_block_ulong.h" +%include "gsl/gsl_block_ushort.h" diff --git a/trunk/lib/Math/GSL/Bspline.i b/trunk/lib/Math/GSL/Bspline.i new file mode 100644 index 0000000..a5b7411 --- /dev/null +++ b/trunk/lib/Math/GSL/Bspline.i @@ -0,0 +1,7 @@ +%module Bspline +%{ +#include "gsl/gsl_bspline.h" +%} + +%include "gsl/gsl_bspline.h" + diff --git a/trunk/lib/Math/GSL/Cblas.i b/trunk/lib/Math/GSL/Cblas.i new file mode 100644 index 0000000..42ffacb --- /dev/null +++ b/trunk/lib/Math/GSL/Cblas.i @@ -0,0 +1,7 @@ +%module Cblas +%{ +#include "gsl/gsl_cblas.h" +%} + +%include "gsl/gsl_cblas.h" + diff --git a/trunk/lib/Math/GSL/Cdf.i b/trunk/lib/Math/GSL/Cdf.i new file mode 100644 index 0000000..b05b877 --- /dev/null +++ b/trunk/lib/Math/GSL/Cdf.i @@ -0,0 +1,7 @@ +%module Cdf +%{ +#include "gsl/gsl_cdf.h" +%} + +%include "gsl/gsl_cdf.h" + diff --git a/trunk/lib/Math/GSL/Chebyshev.i b/trunk/lib/Math/GSL/Chebyshev.i new file mode 100644 index 0000000..fc57d2f --- /dev/null +++ b/trunk/lib/Math/GSL/Chebyshev.i @@ -0,0 +1,7 @@ +%module Chebyshev +%{ +#include "gsl/gsl_chebyshev.h" +%} + +%include "gsl/gsl_chebyshev.h" + diff --git a/trunk/lib/Math/GSL/CheckRange.i b/trunk/lib/Math/GSL/CheckRange.i new file mode 100644 index 0000000..fceb8b7 --- /dev/null +++ b/trunk/lib/Math/GSL/CheckRange.i @@ -0,0 +1,8 @@ +%module CheckRange +%{ +#include "gsl/gsl_check_range.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_check_range.h" + diff --git a/trunk/lib/Math/GSL/Combination.i b/trunk/lib/Math/GSL/Combination.i new file mode 100644 index 0000000..865de45 --- /dev/null +++ b/trunk/lib/Math/GSL/Combination.i @@ -0,0 +1,7 @@ +%module Combination +%{ +#include "gsl/gsl_combination.h" +%} + +%include "gsl/gsl_combination.h" + diff --git a/trunk/lib/Math/GSL/Complex.i b/trunk/lib/Math/GSL/Complex.i new file mode 100644 index 0000000..9825527 --- /dev/null +++ b/trunk/lib/Math/GSL/Complex.i @@ -0,0 +1,10 @@ +%module Ccomplex +%{ +#include "gsl/gsl_complex.h" +#include "gsl/gsl_complex_math.h" +%} + +%include "gsl/gsl_complex.h" +%include "gsl/gsl_complex_math.h" + + diff --git a/trunk/lib/Math/GSL/Const.i b/trunk/lib/Math/GSL/Const.i new file mode 100644 index 0000000..125d3ee --- /dev/null +++ b/trunk/lib/Math/GSL/Const.i @@ -0,0 +1,17 @@ +%module gsl_const +%{ +#include "gsl/gsl_const.h" +#include "gsl/gsl_const_cgs.h" +#include "gsl/gsl_const_cgsm.h" +#include "gsl/gsl_const_mks.h" +#include "gsl/gsl_const_mksa.h" +#include "gsl/gsl_const_num.h" +%} + +%include "gsl/gsl_const.h" +%include "gsl/gsl_const_cgs.h" +%include "gsl/gsl_const_cgsm.h" +%include "gsl/gsl_const_mks.h" +%include "gsl/gsl_const_mksa.h" +%include "gsl/gsl_const_num.h" + diff --git a/trunk/lib/Math/GSL/Deriv.i b/trunk/lib/Math/GSL/Deriv.i new file mode 100644 index 0000000..8a8d81f --- /dev/null +++ b/trunk/lib/Math/GSL/Deriv.i @@ -0,0 +1,7 @@ +%module gsl_deriv +%{ +#include "gsl/gsl_deriv.h" +%} + +%include "gsl/gsl_deriv.h" + diff --git a/trunk/lib/Math/GSL/Dft.i b/trunk/lib/Math/GSL/Dft.i new file mode 100644 index 0000000..9d9199e --- /dev/null +++ b/trunk/lib/Math/GSL/Dft.i @@ -0,0 +1,9 @@ +%module gsl_dft +%{ +#include "gsl/gsl_dft_complex.h" +#include "gsl/gsl_dft_complex_float.h" +%} + +%include "gsl/gsl_dft_complex.h" +%include "gsl/gsl_dft_complex_float.h" + diff --git a/trunk/lib/Math/GSL/Dht.i b/trunk/lib/Math/GSL/Dht.i new file mode 100644 index 0000000..77f0fc2 --- /dev/null +++ b/trunk/lib/Math/GSL/Dht.i @@ -0,0 +1,7 @@ +%module gsl_dht +%{ +#include "gsl/gsl_dht.h" +%} + +%include "gsl/gsl_dht.h" + diff --git a/trunk/lib/Math/GSL/Diff.i b/trunk/lib/Math/GSL/Diff.i new file mode 100644 index 0000000..1d96341 --- /dev/null +++ b/trunk/lib/Math/GSL/Diff.i @@ -0,0 +1,7 @@ +%module gsl_diff +%{ +#include "gsl/gsl_diff.h" +%} + +%include "gsl/gsl_diff.h" + diff --git a/trunk/lib/Math/GSL/Eigen.i b/trunk/lib/Math/GSL/Eigen.i new file mode 100644 index 0000000..2c58947 --- /dev/null +++ b/trunk/lib/Math/GSL/Eigen.i @@ -0,0 +1,7 @@ +%module gsl_eigen +%{ +#include "gsl/gsl_eigen.h" +%} + +%include "gsl/gsl_eigen.h" + diff --git a/trunk/lib/Math/GSL/Errno.i b/trunk/lib/Math/GSL/Errno.i new file mode 100644 index 0000000..c1bec5c --- /dev/null +++ b/trunk/lib/Math/GSL/Errno.i @@ -0,0 +1,6 @@ +%module gsl_errno +%{ +#include "gsl/gsl_errno.h" +%} + +%include "gsl/gsl_errno.h" diff --git a/trunk/lib/Math/GSL/Fft.i b/trunk/lib/Math/GSL/Fft.i new file mode 100644 index 0000000..0f0f68b --- /dev/null +++ b/trunk/lib/Math/GSL/Fft.i @@ -0,0 +1,20 @@ +%module gsl_fft +%{ +#include "gsl/gsl_fft.h" +#include "gsl/gsl_fft_complex.h" +#include "gsl/gsl_fft_complex_float.h" +#include "gsl/gsl_fft_halfcomplex.h" +#include "gsl/gsl_fft_halfcomplex_float.h" +#include "gsl/gsl_fft_real.h" +#include "gsl/gsl_fft_real_float.h" + +%} + +%include "gsl/gsl_fft.h" +%include "gsl/gsl_fft_complex.h" +%include "gsl/gsl_fft_complex_float.h" +%include "gsl/gsl_fft_halfcomplex.h" +%include "gsl/gsl_fft_halfcomplex_float.h" +%include "gsl/gsl_fft_real.h" +%include "gsl/gsl_fft_real_float.h" + diff --git a/trunk/lib/Math/GSL/Fit.i b/trunk/lib/Math/GSL/Fit.i new file mode 100644 index 0000000..480094d --- /dev/null +++ b/trunk/lib/Math/GSL/Fit.i @@ -0,0 +1,7 @@ +%module gsl_fit +%{ +#include "gsl/gsl_fit.h" +%} + +%include "gsl/gsl_fit.h" + diff --git a/trunk/lib/Math/GSL/Heapsort.i b/trunk/lib/Math/GSL/Heapsort.i new file mode 100644 index 0000000..e6c5fe1 --- /dev/null +++ b/trunk/lib/Math/GSL/Heapsort.i @@ -0,0 +1,7 @@ +%module gsl_heapsort +%{ +#include "gsl/gsl_fit.h" +%} + +%include "gsl/gsl_fit.h" + diff --git a/trunk/lib/Math/GSL/Histogram.i b/trunk/lib/Math/GSL/Histogram.i new file mode 100644 index 0000000..f27a757 --- /dev/null +++ b/trunk/lib/Math/GSL/Histogram.i @@ -0,0 +1,7 @@ +%module gsl_histogram +%{ +#include "gsl/gsl_histogram.h" +%} + +%include "gsl/gsl_histogram.h" + diff --git a/trunk/lib/Math/GSL/Histogram2d.i b/trunk/lib/Math/GSL/Histogram2d.i new file mode 100644 index 0000000..80d65db --- /dev/null +++ b/trunk/lib/Math/GSL/Histogram2d.i @@ -0,0 +1,7 @@ +%module gsl_histogram2d +%{ +#include "gsl/gsl_histogram2d.h" +%} + +%include "gsl/gsl_histogram2d.h" + diff --git a/trunk/lib/Math/GSL/Ieee_utils.i b/trunk/lib/Math/GSL/Ieee_utils.i new file mode 100644 index 0000000..21fc211 --- /dev/null +++ b/trunk/lib/Math/GSL/Ieee_utils.i @@ -0,0 +1,7 @@ +%module gsl_ieee_utils +%{ +#include "gsl/gsl_ieee_utils.h" +%} + +%include "gsl/gsl_ieee_utils.h" + diff --git a/trunk/lib/Math/GSL/Integration.i b/trunk/lib/Math/GSL/Integration.i new file mode 100644 index 0000000..66d3dcb --- /dev/null +++ b/trunk/lib/Math/GSL/Integration.i @@ -0,0 +1,7 @@ +%module gsl_integration +%{ +#include "gsl/gsl_integration.h" +%} + +%include "gsl/gsl_integration.h" + diff --git a/trunk/lib/Math/GSL/Interp.i b/trunk/lib/Math/GSL/Interp.i new file mode 100644 index 0000000..f673008 --- /dev/null +++ b/trunk/lib/Math/GSL/Interp.i @@ -0,0 +1,8 @@ +%module gsl_interp +%{ +#include "gsl/gsl_interp.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_interp.h" + diff --git a/trunk/lib/Math/GSL/Linalg.i b/trunk/lib/Math/GSL/Linalg.i new file mode 100644 index 0000000..f221176 --- /dev/null +++ b/trunk/lib/Math/GSL/Linalg.i @@ -0,0 +1,7 @@ +%module gsl_linalg +%{ +#include "gsl/gsl_linalg.h" +%} + +%include "gsl/gsl_linalg.h" + diff --git a/trunk/lib/Math/GSL/Machine.i b/trunk/lib/Math/GSL/Machine.i new file mode 100644 index 0000000..f70b0ca --- /dev/null +++ b/trunk/lib/Math/GSL/Machine.i @@ -0,0 +1,7 @@ +%module gsl_machine +%{ +#include "gsl/gsl_machine.h" +%} + +%include "gsl/gsl_machine.h" + diff --git a/trunk/lib/Math/GSL/Math.i b/trunk/lib/Math/GSL/Math.i new file mode 100644 index 0000000..b28ccee --- /dev/null +++ b/trunk/lib/Math/GSL/Math.i @@ -0,0 +1,7 @@ +%module gsl_math +%{ +#include "gsl/gsl_math.h" +%} + +%include "gsl/gsl_math.h" + diff --git a/trunk/lib/Math/GSL/Matrix.i b/trunk/lib/Math/GSL/Matrix.i new file mode 100644 index 0000000..9d820ea --- /dev/null +++ b/trunk/lib/Math/GSL/Matrix.i @@ -0,0 +1,7 @@ +%module gsl_matrix +%{ +#include "gsl/gsl_matrix.h" +%} + +%include "gsl/gsl_matrix.h" + diff --git a/trunk/lib/Math/GSL/Message.i b/trunk/lib/Math/GSL/Message.i new file mode 100644 index 0000000..b59b5a2 --- /dev/null +++ b/trunk/lib/Math/GSL/Message.i @@ -0,0 +1,7 @@ +%module gsl_message +%{ +#include "gsl/gsl_message.h" +%} +%import "gsl/gsl_types.h" +%include "gsl/gsl_message.h" + diff --git a/trunk/lib/Math/GSL/Min.i b/trunk/lib/Math/GSL/Min.i new file mode 100644 index 0000000..7a3905c --- /dev/null +++ b/trunk/lib/Math/GSL/Min.i @@ -0,0 +1,7 @@ +%module gsl_min +%{ +#include "gsl/gsl_min.h" +%} + +%include "gsl/gsl_min.h" + diff --git a/trunk/lib/Math/GSL/Mode.i b/trunk/lib/Math/GSL/Mode.i new file mode 100644 index 0000000..6cc3d17 --- /dev/null +++ b/trunk/lib/Math/GSL/Mode.i @@ -0,0 +1,7 @@ +%module gsl_mode +%{ +#include "gsl/gsl_mode.h" +%} + +%include "gsl/gsl_mode.h" + diff --git a/trunk/lib/Math/GSL/Monte.i b/trunk/lib/Math/GSL/Monte.i new file mode 100644 index 0000000..4d203c6 --- /dev/null +++ b/trunk/lib/Math/GSL/Monte.i @@ -0,0 +1,13 @@ +%module gsl_monte +%{ +#include "gsl/gsl_monte.h" +#include "gsl/gsl_monte_miser.h" +#include "gsl/gsl_monte_plain.h" +#include "gsl/gsl_monte_vegas.h" +%} + +%include "gsl/gsl_monte.h" +%include "gsl/gsl_monte_miser.h" +%include "gsl/gsl_monte_plain.h" +%include "gsl/gsl_monte_vegas.h" + diff --git a/trunk/lib/Math/GSL/Multifit.i b/trunk/lib/Math/GSL/Multifit.i new file mode 100644 index 0000000..5d23e97 --- /dev/null +++ b/trunk/lib/Math/GSL/Multifit.i @@ -0,0 +1,9 @@ +%module gsl_multifit +%{ +#include "gsl/gsl_multifit.h" +#include "gsl/gsl_multifit_nlin.h" +%} +%import "gsl/gsl_types.h" +%include "gsl/gsl_multifit.h" +%include "gsl/gsl_multifit_nlin.h" + diff --git a/trunk/lib/Math/GSL/Multimin.i b/trunk/lib/Math/GSL/Multimin.i new file mode 100644 index 0000000..ebfee38 --- /dev/null +++ b/trunk/lib/Math/GSL/Multimin.i @@ -0,0 +1,8 @@ +%module gsl_multimin +%{ +#include "gsl/gsl_multimin.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_multimin.h" + diff --git a/trunk/lib/Math/GSL/Multiroots.i b/trunk/lib/Math/GSL/Multiroots.i new file mode 100644 index 0000000..bdecc58 --- /dev/null +++ b/trunk/lib/Math/GSL/Multiroots.i @@ -0,0 +1,8 @@ +%module gsl_multiroots +%{ +#include "gsl/gsl_multiroots.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_multiroots.h" + diff --git a/trunk/lib/Math/GSL/Nan.i b/trunk/lib/Math/GSL/Nan.i new file mode 100644 index 0000000..004283c --- /dev/null +++ b/trunk/lib/Math/GSL/Nan.i @@ -0,0 +1,7 @@ +%module gsl_nan +%{ +#include "gsl/gsl_nan.h" +%} + +%include "gsl/gsl_nan.h" + diff --git a/trunk/lib/Math/GSL/Ntuple.i b/trunk/lib/Math/GSL/Ntuple.i new file mode 100644 index 0000000..e1a22dd --- /dev/null +++ b/trunk/lib/Math/GSL/Ntuple.i @@ -0,0 +1,7 @@ +%module gsl_ntuple +%{ +#include "gsl/gsl_ntuple.h" +%} + +%include "gsl/gsl_ntuple.h" + diff --git a/trunk/lib/Math/GSL/Odeiv.i b/trunk/lib/Math/GSL/Odeiv.i new file mode 100644 index 0000000..9b0f3b0 --- /dev/null +++ b/trunk/lib/Math/GSL/Odeiv.i @@ -0,0 +1,8 @@ +%module gsl_odeiv +%{ +#include "gsl/gsl_odeiv.h" +%} + +%import "gsl/gsl_types.h" +%include "gsl/gsl_odeiv.h" + diff --git a/trunk/lib/Math/GSL/Permutation.i b/trunk/lib/Math/GSL/Permutation.i new file mode 100644 index 0000000..556e3a2 --- /dev/null +++ b/trunk/lib/Math/GSL/Permutation.i @@ -0,0 +1,7 @@ +%module gsl_permutation +%{ +#include "gsl/gsl_permutation.h" +%} + +%include "gsl/gsl_permutation.h" + diff --git a/trunk/lib/Math/GSL/Permute.i b/trunk/lib/Math/GSL/Permute.i new file mode 100644 index 0000000..bed71c6 --- /dev/null +++ b/trunk/lib/Math/GSL/Permute.i @@ -0,0 +1,7 @@ +%module gsl_permute +%{ +#include "gsl/gsl_permute.h" +%} + +%include "gsl/gsl_permute.h" + diff --git a/trunk/lib/Math/GSL/Poly.i b/trunk/lib/Math/GSL/Poly.i new file mode 100644 index 0000000..d078eb3 --- /dev/null +++ b/trunk/lib/Math/GSL/Poly.i @@ -0,0 +1,7 @@ +%module gsl_poly +%{ +#include "gsl/gsl_poly.h" +%} + +%include "gsl/gsl_poly.h" + diff --git a/trunk/lib/Math/GSL/Pow_int.i b/trunk/lib/Math/GSL/Pow_int.i new file mode 100644 index 0000000..db683cc --- /dev/null +++ b/trunk/lib/Math/GSL/Pow_int.i @@ -0,0 +1,7 @@ +%module gsl_pow_int +%{ +#include "gsl/gsl_pow_int.h" +%} + +%include "gsl/gsl_pow_int.h" + diff --git a/trunk/lib/Math/GSL/Precision.i b/trunk/lib/Math/GSL/Precision.i new file mode 100644 index 0000000..ef01a3b --- /dev/null +++ b/trunk/lib/Math/GSL/Precision.i @@ -0,0 +1,10 @@ +%module gsl_precision +%{ +#include "gsl/gsl_precision.h" +%} + +%import "gsl/gsl_types.h" +%include "gsl/gsl_precision.h" + + + diff --git a/trunk/lib/Math/GSL/Qrng.i b/trunk/lib/Math/GSL/Qrng.i new file mode 100644 index 0000000..b3ef481 --- /dev/null +++ b/trunk/lib/Math/GSL/Qrng.i @@ -0,0 +1,8 @@ +%module gsl_qrng +%{ +#include "gsl/gsl_qrng.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_qrng.h" + diff --git a/trunk/lib/Math/GSL/Randist.i b/trunk/lib/Math/GSL/Randist.i new file mode 100644 index 0000000..cb163d5 --- /dev/null +++ b/trunk/lib/Math/GSL/Randist.i @@ -0,0 +1,7 @@ +%module gsl_randist +%{ +#include "gsl/gsl_randist.h" +%} + +%include "gsl/gsl_randist.h" + diff --git a/trunk/lib/Math/GSL/Rng.i b/trunk/lib/Math/GSL/Rng.i new file mode 100644 index 0000000..a81295f --- /dev/null +++ b/trunk/lib/Math/GSL/Rng.i @@ -0,0 +1,8 @@ +%module gsl_rng +%{ +#include "gsl/gsl_rng.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_rng.h" + diff --git a/trunk/lib/Math/GSL/Roots.i b/trunk/lib/Math/GSL/Roots.i new file mode 100644 index 0000000..f2c9c8b --- /dev/null +++ b/trunk/lib/Math/GSL/Roots.i @@ -0,0 +1,7 @@ +%module gsl_roots +%{ +#include "gsl/gsl_roots.h" +%} +%import "gsl/gsl_types.h" +%include "gsl/gsl_roots.h" + diff --git a/trunk/lib/Math/GSL/Sf.i b/trunk/lib/Math/GSL/Sf.i new file mode 100644 index 0000000..d67aabe --- /dev/null +++ b/trunk/lib/Math/GSL/Sf.i @@ -0,0 +1,72 @@ +%module Sf +%{ +#include "gsl/gsl_sf.h" +#include "gsl/gsl_sf_airy.h" +#include "gsl/gsl_sf_bessel.h" +#include "gsl/gsl_sf_clausen.h" +#include "gsl/gsl_sf_coulomb.h" +#include "gsl/gsl_sf_coupling.h" +#include "gsl/gsl_sf_dawson.h" +#include "gsl/gsl_sf_debye.h" +#include "gsl/gsl_sf_dilog.h" +#include "gsl/gsl_sf_elementary.h" +#include "gsl/gsl_sf_ellint.h" +#include "gsl/gsl_sf_elljac.h" +#include "gsl/gsl_sf_erf.h" +#include "gsl/gsl_sf_exp.h" +#include "gsl/gsl_sf_expint.h" +#include "gsl/gsl_sf_fermi_dirac.h" +#include "gsl/gsl_sf_gamma.h" +#include "gsl/gsl_sf_gegenbauer.h" +#include "gsl/gsl_sf_hyperg.h" +#include "gsl/gsl_sf_laguerre.h" +#include "gsl/gsl_sf_lambert.h" +#include "gsl/gsl_sf_legendre.h" +#include "gsl/gsl_sf_log.h" +#include "gsl/gsl_sf_mathieu.h" +#include "gsl/gsl_sf_pow_int.h" +#include "gsl/gsl_sf_psi.h" +#include "gsl/gsl_sf_result.h" +#include "gsl/gsl_sf_synchrotron.h" +#include "gsl/gsl_sf_transport.h" +#include "gsl/gsl_sf_trig.h" +#include "gsl/gsl_sf_zeta.h" + + +%} +%import "gsl/gsl_types.h" + +// Grab the declarations +%include "gsl/gsl_sf.h" +%include "gsl/gsl_sf_airy.h" +%include "gsl/gsl_sf_bessel.h" +%include "gsl/gsl_sf_clausen.h" +%include "gsl/gsl_sf_coulomb.h" +%include "gsl/gsl_sf_coupling.h" +%include "gsl/gsl_sf_dawson.h" +%include "gsl/gsl_sf_debye.h" +%include "gsl/gsl_sf_dilog.h" +%include "gsl/gsl_sf_elementary.h" +%include "gsl/gsl_sf_ellint.h" +%include "gsl/gsl_sf_elljac.h" +%include "gsl/gsl_sf_erf.h" +%include "gsl/gsl_sf_exp.h" +%include "gsl/gsl_sf_expint.h" +%include "gsl/gsl_sf_fermi_dirac.h" +%include "gsl/gsl_sf_gamma.h" +%include "gsl/gsl_sf_gegenbauer.h" +%include "gsl/gsl_sf_hyperg.h" +%include "gsl/gsl_sf_laguerre.h" +%include "gsl/gsl_sf_lambert.h" +%include "gsl/gsl_sf_legendre.h" +%include "gsl/gsl_sf_log.h" +%include "gsl/gsl_sf_mathieu.h" +%include "gsl/gsl_sf_pow_int.h" +%include "gsl/gsl_sf_psi.h" +%include "gsl/gsl_sf_result.h" +%include "gsl/gsl_sf_synchrotron.h" +%include "gsl/gsl_sf_transport.h" +%include "gsl/gsl_sf_trig.h" +%include "gsl/gsl_sf_zeta.h" + + diff --git a/trunk/lib/Math/GSL/Siman.i b/trunk/lib/Math/GSL/Siman.i new file mode 100644 index 0000000..cd53545 --- /dev/null +++ b/trunk/lib/Math/GSL/Siman.i @@ -0,0 +1,7 @@ +%module gsl_siman +%{ +#include "gsl/gsl_siman.h" +%} + +%include "gsl/gsl_siman.h" + diff --git a/trunk/lib/Math/GSL/Sort.i b/trunk/lib/Math/GSL/Sort.i new file mode 100644 index 0000000..5f61465 --- /dev/null +++ b/trunk/lib/Math/GSL/Sort.i @@ -0,0 +1,7 @@ +%module gsl_sort +%{ +#include "gsl/gsl_sort.h" +%} + +%include "gsl/gsl_sort.h" + diff --git a/trunk/lib/Math/GSL/Specfunc.i b/trunk/lib/Math/GSL/Specfunc.i new file mode 100644 index 0000000..e811e83 --- /dev/null +++ b/trunk/lib/Math/GSL/Specfunc.i @@ -0,0 +1,7 @@ +%module gsl_specfunc +%{ +#include "gsl/gsl_specfunc.h" +%} + +%include "gsl/gsl_specfunc.h" + diff --git a/trunk/lib/Math/GSL/Spline.i b/trunk/lib/Math/GSL/Spline.i new file mode 100644 index 0000000..b8879e0 --- /dev/null +++ b/trunk/lib/Math/GSL/Spline.i @@ -0,0 +1,7 @@ +%module gsl_spline +%{ +#include "gsl/gsl_spline.h" +%} + +%include "gsl/gsl_spline.h" + diff --git a/trunk/lib/Math/GSL/Statistics.i b/trunk/lib/Math/GSL/Statistics.i new file mode 100644 index 0000000..9937725 --- /dev/null +++ b/trunk/lib/Math/GSL/Statistics.i @@ -0,0 +1,7 @@ +%module gsl_statistics +%{ +#include "gsl/gsl_statistics.h" +%} + +%include "gsl/gsl_statistics.h" + diff --git a/trunk/lib/Math/GSL/Sum.i b/trunk/lib/Math/GSL/Sum.i new file mode 100644 index 0000000..2849991 --- /dev/null +++ b/trunk/lib/Math/GSL/Sum.i @@ -0,0 +1,7 @@ +%module gsl_sum +%{ +#include "gsl/gsl_sum.h" +%} + +%include "gsl/gsl_sum.h" + diff --git a/trunk/lib/Math/GSL/Sys.i b/trunk/lib/Math/GSL/Sys.i new file mode 100644 index 0000000..ab78a12 --- /dev/null +++ b/trunk/lib/Math/GSL/Sys.i @@ -0,0 +1,7 @@ +%module gsl_sys +%{ +#include "gsl/gsl_sys.h" +%} + +%include "gsl/gsl_sys.h" + diff --git a/trunk/lib/Math/GSL/Test.i b/trunk/lib/Math/GSL/Test.i new file mode 100644 index 0000000..ff2554e --- /dev/null +++ b/trunk/lib/Math/GSL/Test.i @@ -0,0 +1,7 @@ +%module gsl_test +%{ +#include "gsl/gsl_test.h" +%} + +%include "gsl/gsl_test.h" + diff --git a/trunk/lib/Math/GSL/Types.i b/trunk/lib/Math/GSL/Types.i new file mode 100644 index 0000000..24d4eea --- /dev/null +++ b/trunk/lib/Math/GSL/Types.i @@ -0,0 +1,7 @@ +%module Types +%{ +#include "gsl/gsl_types.h" +%} + +%include "gsl/gsl_types.h" + diff --git a/trunk/lib/Math/GSL/Vector.i b/trunk/lib/Math/GSL/Vector.i new file mode 100644 index 0000000..5835703 --- /dev/null +++ b/trunk/lib/Math/GSL/Vector.i @@ -0,0 +1,38 @@ +%module gsl_vector +%{ +#include "gsl/gsl_vector.h" +#include "gsl/gsl_vector_char.h" +#include "gsl/gsl_vector_complex.h" +#include "gsl/gsl_vector_complex_double.h" +#include "gsl/gsl_vector_complex_float.h" +#include "gsl/gsl_vector_complex_long_double.h" +#include "gsl/gsl_vector_double.h" +#include "gsl/gsl_vector_float.h" +#include "gsl/gsl_vector_int.h" +#include "gsl/gsl_vector_long.h" +#include "gsl/gsl_vector_long_double.h" +#include "gsl/gsl_vector_short.h" +#include "gsl/gsl_vector_uchar.h" +#include "gsl/gsl_vector_uint.h" +#include "gsl/gsl_vector_ulong.h" +#include "gsl/gsl_vector_ushort.h" + +%} + +%include "gsl/gsl_vector.h" +%include "gsl/gsl_vector_char.h" +%include "gsl/gsl_vector_complex.h" +%include "gsl/gsl_vector_complex_double.h" +%include "gsl/gsl_vector_complex_float.h" +%include "gsl/gsl_vector_complex_long_double.h" +%include "gsl/gsl_vector_double.h" +%include "gsl/gsl_vector_float.h" +%include "gsl/gsl_vector_int.h" +%include "gsl/gsl_vector_long.h" +%include "gsl/gsl_vector_long_double.h" +%include "gsl/gsl_vector_short.h" +%include "gsl/gsl_vector_uchar.h" +%include "gsl/gsl_vector_uint.h" +%include "gsl/gsl_vector_ulong.h" +%include "gsl/gsl_vector_ushort.h" + diff --git a/trunk/lib/Math/GSL/Version.i b/trunk/lib/Math/GSL/Version.i new file mode 100644 index 0000000..7493f30 --- /dev/null +++ b/trunk/lib/Math/GSL/Version.i @@ -0,0 +1,8 @@ +%module gsl_version +%{ +#include "gsl/gsl_version.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_version.h" + diff --git a/trunk/lib/Math/GSL/Wavelet.i b/trunk/lib/Math/GSL/Wavelet.i new file mode 100644 index 0000000..0614e97 --- /dev/null +++ b/trunk/lib/Math/GSL/Wavelet.i @@ -0,0 +1,8 @@ +%module gsl_wavelet +%{ +#include "gsl/gsl_wavelet.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_wavelet.h" + diff --git a/trunk/lib/Math/GSL/Wavelet2d.i b/trunk/lib/Math/GSL/Wavelet2d.i new file mode 100644 index 0000000..8fd2c47 --- /dev/null +++ b/trunk/lib/Math/GSL/Wavelet2d.i @@ -0,0 +1,8 @@ +%module gsl_wavelet2d +%{ +#include "gsl/gsl_wavelet2d.h" +%} +%import "gsl/gsl_types.h" + +%include "gsl/gsl_wavelet2d.h" + diff --git a/trunk/t/lib/Math/GSL/Test.pm b/trunk/t/lib/Math/GSL/Test.pm new file mode 100644 index 0000000..813693f --- /dev/null +++ b/trunk/t/lib/Math/GSL/Test.pm @@ -0,0 +1,10 @@ +package Math::GSL::Test; + +use Test::Class; +use Test::more tests => 1; +use lib "../../../../lib"; + +BEGIN { + use_ok( 'Math::GSL' ); +} + -- 2.11.4.GIT