.\" -*- coding: UTF-8 -*- '\" t .\" Copyright 2002 Walter Harms (walter.harms@informatik.uni-oldenburg.de) .\" and Copyright 2008, Linux Foundation, written by Michael Kerrisk .\" .\" .\" SPDX-License-Identifier: GPL-1.0-or-later .\" .\" Modified 2004-11-15, Added further text on FLT_ROUNDS .\" as suggested by AEB and Fabian Kreutz .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH fma 3 "2 мая 2024 г." "Справочные страницы Linux 6.9.1" .SH НАИМЕНОВАНИЕ fma, fmaf, fmal \- умножение и сложение чисел с плавающей запятой .SH БИБЛИОТЕКА Математическая библиотека (\fIlibm\fP, \fI\-lm\fP) .SH ОБЗОР .nf \fB#include \fP .P \fBdouble fma(double \fP\fIx\fP\fB, double \fP\fIy\fP\fB, double \fP\fIz\fP\fB);\fP \fBfloat fmaf(float \fP\fIx\fP\fB, float \fP\fIy\fP\fB, float \fP\fIz\fP\fB);\fP \fBlong double fmal(long double \fP\fIx\fP\fB, long double \fP\fIy\fP\fB, long double \fP\fIz\fP\fB);\fP .fi .P .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .P \fBfma\fP(), \fBfmaf\fP(), \fBfmal\fP(): .nf _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L .fi .SH ОПИСАНИЕ Эти функции вычисляют \fIx\fP * \fIy\fP + \fIz\fP. Результат округляется как единая тернарная операция согласно текущему режиму округления (смотрите \fBfenv\fP(3)). .SH "ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ" Данные функции возвращают результат \fIx\fP * \fIy\fP + \fIz\fP, округлённый как для единой тернарной операции. .P Если значение \fIx\fP или \fIy\fP равно NaN, будет возвращено NaN. .P Если \fIx\fP умноженное на \fIy\fP стремится к бесконечности и значение \fIz\fP равно минус бесконечности, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .P .\" POSIX.1-2008 allows some possible differences for the following two .\" domain error cases, but on Linux they are treated the same (AFAICS). .\" Nevertheless, we'll mirror POSIX.1 and describe the two cases .\" separately. .\" POSIX.1 says that a NaN or an implementation-defined value shall .\" be returned for this case. Если \fIx\fP или \fIy\fP равно бесконечности, не равно 0 и \fIz\fP не равно NaN, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .P .\" POSIX.1 makes the domain error optional for this case. Если \fIx\fP или \fIy\fP равно бесконечности, не равно 0, а \fIz\fP равно NaN, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .P Если \fIx\fP умноженное на \fIy\fP не равно бесконечности умноженной на 0 (или наоборот) и значение \fIz\fP равно NaN, то будет возвращено NaN. .P Если происходит переполнение результата, возникает ошибка диапазона, и возвращается бесконечность с математически правильным знаком. .P Если в результате исчерпана степень числа, возникает ошибка диапазона и возвращается 0 со знаком. .SH ОШИБКИ Смотрите \fBmath_error\fP(7), чтобы определить, какие ошибки могут возникать при вызове этих функций. .P Могут возникать следующие ошибки: .TP Ошибка области: \fIx\fP * \fIy\fP + \fIz\fP или \fIx\fP * \fIy\fP некорректно и \fIz\fP не равно NaN .\" .I errno .\" is set to .\" .BR EDOM . Возникает исключение неправильной плавающей точки (\fBFE_INVALID\fP). .TP Ошибка диапазона: результат превысил разрядность .\" .I errno .\" is set to .\" .BR ERANGE . Вызывается исключение переполнения плавающей запятой (\fBFE_OVERFLOW\fP). .TP Ошибка диапазона: результат исчерпал степень .\" .I errno .\" is set to .\" .BR ERANGE . Возникает исключение исчерпания степени чисел с плавающей запятой (\fBFE_UNDERFLOW\fP). .P .\" FIXME . Is it intentional that these functions do not set errno? .\" Bug raised: https://www.sourceware.org/bugzilla/show_bug.cgi?id=6801 Эти функции не изменяют \fIerrno\fP. .SH АТРИБУТЫ Описание терминов данного раздела смотрите в \fBattributes\fP(7). .TS allbox; lbx lb lb l l l. Интерфейс Атрибут Значение T{ .na .nh \fBfma\fP(), \fBfmaf\fP(), \fBfmal\fP() T} Безвредность в нитях MT\-Safe .TE .SH СТАНДАРТЫ C11, POSIX.1\-2008. .SH ИСТОРИЯ glibc 2.1. C99, POSIX.1\-2001. .SH "СМОТРИТЕ ТАКЖЕ" \fBremainder\fP(3), \fBremquo\fP(3) .PP .SH ПЕРЕВОД Русский перевод этой страницы руководства разработал(и) Azamat Hackimov , Dmitry Bolkhovskikh , Yuri Kozlov , Иван Павлов и Kirill Rekhov . .PP Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, .UR https://www.gnu.org/licenses/gpl-3.0.html .UE версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ. .PP Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу .MT списка рассылки русских переводчиков .ME .