.\" -*- 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 "20 июля 2023 г." "Linux man\-pages 6.05.01" .SH ИМЯ fma, fmaf, fmal \- умножение и сложение чисел с плавающей запятой .SH LIBRARY Math library (\fIlibm\fP, \fI\-lm\fP) .SH СИНТАКСИС .nf \fB#include \fP .PP \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 .PP .RS -4 Требования макроса тестирования свойств для glibc (см. \fBfeature_test_macros\fP(7)): .RE .PP \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, округлённый как для единой тернарной операции. .PP Если значение \fIx\fP или \fIy\fP равно NaN, будет возвращено NaN. .PP Если \fIx\fP умноженное на \fIy\fP стремится к бесконечности и значение \fIz\fP равно минус бесконечности, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .PP .\" 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. .PP .\" POSIX.1 makes the domain error optional for this case. Если \fIx\fP или \fIy\fP равно бесконечности, не равно 0, а \fIz\fP равно NaN, то будет сгенерирована ошибка выхода за пределы области, а в качестве результата будет возвращено NaN. .PP Если \fIx\fP умноженное на \fIy\fP не равно бесконечности умноженной на 0 (или наоборот) и значение \fIz\fP равно NaN, то будет возвращено NaN. .PP Если происходит переполнение результата, возникает ошибка диапазона, и возвращается бесконечность с математически правильным знаком. .PP Если в результате исчерпана степень числа, возникает ошибка диапазона и возвращается 0 со знаком. .SH ОШИБКИ Смотрите \fBmath_error\fP(7), чтобы определить, какие ошибки могут возникать при вызове этих функций. .PP Могут возникать следующие ошибки: .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). .PP .\" 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 .sp 1 .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 и Иван Павлов . .PP Этот перевод является бесплатной документацией; прочитайте .UR https://www.gnu.org/licenses/gpl-3.0.html Стандартную общественную лицензию GNU версии 3 .UE или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ. .PP Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на .MT man-pages-ru-talks@lists.sourceforge.net .ME .