GNU Scientific Library

GNU Scientific library
logo
Autor The GNU Project
Aktualna wersja stabilna 2.7.1
(30 listopada 2021) [±]
Platforma sprzętowa Multi-platform
Rodzaj biblioteka numeryczna
Licencja GPL
Strona internetowa

GNU Scientific librarybiblioteka funkcji obliczeniowych i naukowych dla C i C++ dostępna na zasadach GPL. Biblioteka jest częścią Projektu GNU.

Przykład użycia[edytuj | edytuj kod]

Poniższy przykładowy program oblicza wartość funkcji Bessela dla argumentu 5[1]:

#include <stdio.h> #include <gsl/gsl_sf_bessel.h>  int main(void) {   double x = 5.0;   double y = gsl_sf_bessel_J0(x);   printf("J0(%g) = %.18e\n", x, y);   return 0; } 

Program musi być skonsolidowany z biblioteką GSL:

gcc $(gsl-config --cflags) example.c $(gsl-config --libs) 

Wynik pracy programu jest pokazany poniżej (powinien być poprawny dla podwójnej precyzji):

J0(5) = -1.775967713143382920e-01 

Możliwości[edytuj | edytuj kod]

Biblioteka zawiera ponad tysiąc funkcji, dotyczących:

Wsparcie dla C++[edytuj | edytuj kod]

Biblioteka GSL może być używana w C++, ale nie może używać wskaźników do metod lecz tylko wskaźników do zwykłych funkcji[2]. Zamiast tego, programiści C++ mogą użyć statycznych funkcji przekierowujących do właściwej metody klasy. Adres używany do statycznych metod w C++ jest kompatybilny z GSL. Dostępne są gotowe wrappery C++ do GSL[3].

Przypisy[edytuj | edytuj kod]

  1. GNU Scientific Library – Reference Manual: An Example Program [online], www.gnu.org [dostęp 2017-11-23].
  2. [30] Pointers to member functions, C++ FAQ Lite [online], www-igm.univ-mlv.fr [dostęp 2017-11-23].
  3. Christian Holm CHRISTENSEN @ CERN - C++ packages [online], cholm.home.cern.ch [dostęp 2017-11-23] [zarchiwizowane z adresu 2015-01-29].

Linki zewnętrzne[edytuj | edytuj kod]