GNU Scientific Library

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
GNU Scientific Library
Типбібліотека і пакунок GNUd
РозробникиПроект GNU
Стабільний випуск1.16 (19 липня 2013)
Платформабагатоплатформенна
Операційна системаGNU/Linux[d]Free_Software_Directory[[d:Track:Q2470288]]-1">[1], BSD[d]Free_Software_Directory[[d:Track:Q2470288]]-1">[1], WindowsFree_Software_Directory[[d:Track:Q2470288]]-1">[1], macOSFree_Software_Directory[[d:Track:Q2470288]]-1">[1] і GNU/Hurd[d]Free_Software_Directory[[d:Track:Q2470288]]-1">[1]
Мова програмуванняC
ЛіцензіяGNU General Public License
Репозиторійgit.savannah.gnu.org/cgit/gsl.git
Вебсайтgnu.org/software/gsl/

GNU Scientific Library (GSL) — бібліотека математичних підпрограм, написана на мові C, частина проекта GNU, розповсюджується під GNU General Public License. Бібліотека призначена для проведення прикладних та наукових математичних розрахунків.

Можливості

[ред. | ред. код]

Бібліотека містить підпрограми, які охоплюють наступні області математичних обчислень

Підтримка C

[ред. | ред. код]

GSL можна використовувати в класах C , але без використання вказівників методів класів, оскільки тип вказівника до функції-методу відрізняється від типу вказівника на функцію[2]. Потрібно використовувати вказівники на статичні функції або функтори. Існують також упаковки функцій GSL в класи C [3], але більшість з них має нерегулярну підтримку.

Підтримка Fortran

[ред. | ред. код]

Існує Фортран-обгортка до бібліотеки (FGSL[4]) котра надає об'єктно-орієнтований інтерфейс для програм на сучасному Фортрані (90-2008). Пакет розповсюджується за ліцензією GPL. Оновлюється регулярно але підтримка всіх можливостей GSL в FGSL поки що наштовхується на неповну підтримку компіляторами останнього стандарту мови фортран.

Приклад

[ред. | ред. код]

Наведена програма обраховує значення функції Бесселя від 5[5]:

#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;
}

Програма приклад компілюється з підключенням GSL:

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

Наведений нижче результат повинен бути правильним у межах подвійної точності:

J0(5) = -1.775967713143382920e-01

Виноски

[ред. | ред. код]
_1-1">б Free_Software_Directory[[d:Track:Q2470288]]
_1-2">в Free_Software_Directory[[d:Track:Q2470288]]
_1-3">г Free_Software_Directory[[d:Track:Q2470288]]
_1-4">д Free Software Directory
d:Track:Q2470288
  • pointer to member function. Архів оригіналу за 13 жовтень 2004. Процитовано 2 вересень 2011.
  • C wrappers for GSL. Архів оригіналу за 29 січня 2015. Процитовано 2 вересня 2011. [Архівовано 2015-01-29 у Wayback Machine.]
  • FGSL. Архів оригіналу за 20 серпня 2012. Процитовано 21 червня 2012.
  • Архівована копія. Архів оригіналу за 2 вересня 2011. Процитовано 2 вересня 2011.{{cite web}}: Обслуговування CS1: Сторінки з текстом «archived copy» як значення параметру title (посилання)