nextafter(3)

NUME
nextafter, nextafterf, nextafterl, nexttoward, nexttowardf, nexttowardl - manipularea numerelor în virgulă mobilă

BIBLIOTECA
Biblioteca de matematică (libm, -lm)

SINOPSIS
#include <math.h>

double nextafter(double x, double y);
float nextafterf(float x, float y);
long double nextafterl(long double x, long double y);

double nexttoward(double x, long double y);
float nexttowardf(float x, long double y);
long double nexttowardl(long double x, long double y);

    Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

nextafter():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || _XOPEN_SOURCE >= 500
        || /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

nextafterf(), nextafterl():
    _ISOC99_SOURCE || _POSIX_C_SOURCE >= 200112L
        || /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

nexttoward(), nexttowardf(), nexttowardl():
    _XOPEN_SOURCE >= 600 || _ISOC99_SOURCE
        || _POSIX_C_SOURCE >= 200112L

DESCRIERE
Funcțiile nextafter(), nextafterf() și nextafterl() returnează următoarea valoare reprezentabilă în virgulă mobilă care urmează după x în direcția y. Dacă y este mai mică decât x, aceste funcții vor returna cel mai mare număr reprezentabil mai mic decât x.

Dacă x este egal cu y, funcțiile returnează y.

Funcțiile nexttoward(), nexttowardf() și nexttowardl() au aceeași acțiune ca și funcțiile corespunzătoare nextafter(), cu excepția faptului că au un al doilea argument long double.

VALOAREA RETURNATĂ
În caz de succes, aceste funcții returnează următoarea valoare reprezentabilă în virgulă mobilă după x în direcția y.

Dacă x este egal cu y, atunci se returnează y (transformat în același tip ca și x).

Dacă x sau y nu este un număr („Not a Number”: NaN), se returnează un NaN.

În cazul în care x este finit, iar rezultatul ar depăși limitele, apare o eroare de interval, iar funcțiile returnează HUGE_VAL, HUGE_VALF sau respectiv, HUGE_VALL, cu semnul matematic corect.

Dacă x nu este egal cu y, iar rezultatul corect al funcției ar fi subnormal, zero sau sub-limită, apare o eroare de interval și se returnează fie valoarea corectă (dacă poate fi reprezentată), fie 0,0.

ERORI-IEȘIRE
Consultați math_error(7) pentru informații despre cum să determinați dacă a apărut o eroare la apelarea acestor funcții.

Pot apărea următoarele erori:

Eroare de interval: depășire de rezultat
    errno este configurată la ERANGE. Se generează o excepție de depășire în virgulă mobilă (FE_OVERFLOW).

Eroare de interval: Rezultatul este subnormal sau este sub-limită
    errno este configurată la ERANGE. Se generează o excepție de sub-limită în virgulă mobilă (FE_UNDERFLOW).

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
nextafter(), nextafterf(), nextafterl(), nexttoward(), nexttowardf(), nexttowardl() | Siguranța firelor | MT-Safe

STANDARDE
C11, POSIX.1-2008.

Această funcție este definită în IEC 559 (și în apendicele cu funcțiile recomandate din IEEE 754/IEEE 854).

ISTORIC
C99, POSIX.1-2001.

ERORI
În glibc 2.5 și versiunile anterioare, aceste funcții nu generează o excepție de deficiență în virgulă mobilă (FE_UNDERFLOW) atunci când se produce o deficiență.

Înainte de glibc 2.23, aceste funcții nu configurau errno.

CONSULTAȚI ȘI
nearbyint(3)

TRADUCERE
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 (https://www.gnu.org/licenses/gpl-3.0.html) sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.