GNU Scientific Library: відмінності між версіями

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до навігації Перейти до пошуку
[перевірена версія][перевірена версія]
Вилучено вміст Додано вміст
BunykBot (обговорення | внесок)
м Категоризація за вмістом
BunykBot (обговорення | внесок)
м заміна застарілого тегу source
Рядок 75: Рядок 75:
Наведена програма обраховує значення [[Функція Бесселя|функції Бесселя]] від 5<ref>http://www.gnu.org/software/gsl/manual/html_node/Using-the-library.html</ref>:
Наведена програма обраховує значення [[Функція Бесселя|функції Бесселя]] від 5<ref>http://www.gnu.org/software/gsl/manual/html_node/Using-the-library.html</ref>:


<source lang="c">
<syntaxhighlight lang="c">
#include <stdio.h>
#include <stdio.h>
#include <gsl/gsl_sf_bessel.h>
#include <gsl/gsl_sf_bessel.h>
Рядок 86: Рядок 86:
return 0;
return 0;
}
}
</syntaxhighlight>
</source>
Програма приклад компілюється з підключенням GSL:
Програма приклад компілюється з підключенням GSL:
<pre>
<pre>

Версія за 12:57, 12 травня 2020

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

CMNS: GNU Scientific Library у Вікісховищі

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. а б в г д Free Software Directory
  2. pointer to member function. Архів оригіналу за 13 жовтень 2004. Процитовано 2 вересень 2011.
  3. C++ wrappers for GSL
  4. FGSL
  5. http://www.gnu.org/software/gsl/manual/html_node/Using-the-library.html