GNU Scientific Library

GNU Scientific library
AutorThe GNU Project
Aktualna wersja stabilna2.7
(1 czerwca 2021) [±]
Platforma sprzętowaMulti-platform
RodzajBiblioteka numeryczna
LicencjaGPL
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

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

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

Wsparcie dla C++

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

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

Linki zewnętrzne

Media użyte na tej stronie

Heckert GNU white.svg
(c) Aurelio A. Heckert, CC BY-SA 2.0
A bold GNU head.