remainder(3)

NUME
drem, dremf, dreml, remainder, remainderf, remainderl - funcție de rest în virgulă mobilă

BIBLIOTECA
Biblioteca de matematică (libm, -lm)

SINOPSIS
#include <math.h>

double remainder(double x, double y);
float remainderf(float x, float y);
long double remainderl(long double x, long double y);

/* Sinonime învechite */
[[depreciat]] double drem(double x, double y);
[[depreciat]] float dremf(float x, float y);
[[depreciat]] long double dreml(long double x, long double y);

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

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

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

drem(), dremf(), dreml():
    /* Începând cu glibc 2.19: */ _DEFAULT_SOURCE
        || /* glibc <= 2.19: */ _BSD_SOURCE || _SVID_SOURCE

DESCRIERE
Aceste funcții calculează restul împărțirii x la y. Valoarea returnată este x-n*y, unde n este valoarea x / y, rotunjită la cel mai apropiat număr întreg. Dacă valoarea absolută a x-n*y este 0,5, n este ales să fie par.

Aceste funcții nu sunt afectate de modul curent de rotunjire (a se vedea fenv(3)).

Funcția drem() face exact același lucru.

VALOAREA RETURNATĂ
În caz de succes, aceste funcții returnează restul în virgulă mobilă, x-n*y. Dacă valoarea returnată este 0, aceasta are semnul lui x.

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

Dacă x este un infinit, iar y nu este un NaN, apare o eroare de domeniu și se returnează un NaN.

Dacă y este zero, iar x nu este un NaN, apare o eroare de domeniu și se returnează un NaN.

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 domeniu: x este un infinit și y nu este un NaN
    errno este configurată la EDOM (dar vedeți secțiunea ERORI). Se generează o excepție de virgulă mobilă nevalidă (FE_INVALID).

    Aceste funcții nu configurează errno pentru acest caz.

Eroare de domeniu: x este zero
    errno este configurată la EDOM. Se generează o excepție de virgulă mobilă nevalidă (FE_INVALID).

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
drem(), dremf(), dreml(), remainder(), remainderf(), remainderl() | Siguranța firelor | MT-Safe

STANDARDE

remainder()
remainderf()
remainderl()
    C11, POSIX.1-2008.

drem()
dremf()
dreml()
    Niciunul.

ISTORIC

remainder()
remainderf()
remainderl()
    C99, POSIX.1-2001.

drem()
    4.3BSD.

dremf()
dreml()
    Tru64, glibc2.

ERORI
Înainte de glibc 2.15, apelul

    remainder(nan(""), 0);

a returnat un NaN, conform așteptărilor, dar a cauzat în mod eronat o eroare de domeniu. De la glibc 2.15, este returnat un NaN silențios (adică nicio eroare de domeniu).

Înainte de glibc 2.15, errno nu era configurată la EDOM pentru eroarea de domeniu care apare atunci când x este un infinit și y nu este un NaN.

EXEMPLE
Apelul „remainder(29.0, 3.0)” returnează -1.

CONSULTAȚI ȘI
div(3), fmod(3), remquo(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.