Sdílet prostřednictvím


Primitiva s plovoucí desetinnou čárkou

Primitivní funkce specifické pro Microsoft, které se používají k implementaci některých standardních funkcí c runtime knihovny (CRT) s plovoucí desetinou čárkou. Jsou zde zdokumentované kvůli úplnosti, ale nedoporučuje se pro použití. Některé z těchto funkcí jsou označeny jako nepoužívané, protože vědí, že mají problémy s přesností, zpracováním výjimek a shodným s chováním IEEE-754. Existují v knihovně pouze kvůli zpětné kompatibilitě. Pro správné chování, přenositelnost a dodržování standardů upřednostňujte u těchto funkcí standardní funkce s plovoucí desetinou čárkou.

Ve výchozím nastavení je globální stav této funkce vymezen na aplikaci. Chcete-li toto chování změnit, přečtěte si téma Globální stav v CRT.

_dclass, , _ldclass_fdclass

Syntaxe

short __cdecl _dclass(double x);
short __cdecl _ldclass(long double x);
short __cdecl _fdclass(float x);

Parametry

x
Argument funkce s plovoucí desetinou čárkou

Poznámky

Tyto primitiva s plovoucí desetinou čárkou implementují verze makra fpclassify CRT pro typy s plovoucí desetinou čárkou. Klasifikace argumentu x se vrátí jako jedna z těchto konstant definovaných v math.h:

Hodnota Popis
FP_NAN Tichý, signalizační nebo nedeterminující NaN
FP_INFINITE Kladné nebo záporné nekonečno
FP_NORMAL Kladná nebo záporná normalizovaná nenulová hodnota
FP_SUBNORMAL Kladná nebo záporná subnormalizovaná hodnota
FP_ZERO Kladná nebo záporná nulová hodnota

Další podrobnosti získáte pomocí funkcí specifických _fpclassf pro _fpclassMicrosoft. K přenositelnosti fpclassify použijte makro nebo funkci.

_dsign, , _ldsign_fdsign

Syntaxe

int __cdecl _dsign(double x);
int __cdecl _ldsign(long double x);
int __cdecl _fdsign(float x);

Parametry

x
Argument funkce s plovoucí desetinou čárkou

Poznámky

Tyto primitiva s plovoucí deseti desetinou čárkou signbit implementují makro nebo funkci v CRT. Vrátí nenulovou hodnotu, pokud je bit znaménka nastaven v significand (mantissa) argumentu x. V opačném případě vrátí hodnotu 0, pokud není nastavený bit znaménka.

_dpcomp, _ldpcomp, _fdpcomp

Syntaxe

int __cdecl _dpcomp(double x, double y);
int __cdecl _ldpcomp(long double x, long double y);
int __cdecl _fdpcomp(float x, float y);

Parametry

x, y
Argumenty funkce s plovoucí desetinou čárkou

Poznámky

Tyto primitivy s plovoucí desetinnou čárkou mají dva argumenty x a yvrátí hodnotu, která zobrazuje jejich vztah řazení vyjádřený jako bitové nebo tyto konstanty definované v math.h:

Hodnota Popis
_FP_LT x lze považovat za menší než y
_FP_EQ x lze považovat za rovnou y
_FP_GT x lze považovat za větší než y

Tyto primitivy implementují isgreaterrozhraní CRT , , isgreaterequalislessequalisless, islessgreatera isunordered makra a funkce.

_dtest, _ldtest, _fdtest

Syntaxe

short __cdecl _dtest(double* px);
short __cdecl _ldtest(long double* px);
short __cdecl _fdtest(float* px);

Parametry

px
Ukazatel na argument s plovoucí desetinou čárkou

Poznámky

Tyto primitiva s plovoucí desetinou čárkou implementují verze C++ funkce fpclassify CRT pro typy s plovoucí desetinou čárkou. x Argument se vyhodnotí a klasifikace se vrátí jako jedna z těchto konstant definovaných v math.h:

Hodnota Popis
FP_NAN Tichý, signalizační nebo nedeterminující NaN
FP_INFINITE Kladné nebo záporné nekonečno
FP_NORMAL Kladná nebo záporná normalizovaná nenulová hodnota
FP_SUBNORMAL Kladná nebo záporná subnormalizovaná hodnota
FP_ZERO Kladná nebo záporná nulová hodnota

Další podrobnosti získáte pomocí funkcí specifických _fpclassf pro _fpclassMicrosoft. fpclassify Funkci použijte k přenositelnosti.

_d_int, _ld_int, _fd_int

Syntaxe

short __cdecl _d_int(double* px, short exp);
short __cdecl _ld_int(long double* px, short exp);
short __cdecl _fd_int(float* px, short exp);

Parametry

px
Ukazatel na argument s plovoucí desetinou čárkou

exp
Exponent jako celočíselný typ.

Poznámky

Tyto primitivy s plovoucí desetinnou čárkou převezmou ukazatel na hodnotu px s plovoucí desetinnou čárkou a exponentální hodnotu expa odeberou desetinnou část hodnoty s plovoucí desetinnou čárkou pod danou exponent, pokud je to možné. Vrácená hodnota je výsledkem fpclassify vstupní hodnoty, px pokud se jedná o hodnotu NaN nebo nekonečno, a na výstupní hodnotě v px opačném případě.

_dscale, _ldscale, _fdscale

Syntaxe

short __cdecl _dscale(double* px, long exp);
short __cdecl _ldscale(long double* px, long exp);
short __cdecl _fdscale(float* px, long exp);

Parametry

px
Ukazatel na argument s plovoucí desetinou čárkou

exp
Exponent jako celočíselný typ.

Poznámky

Tyto primitiva s plovoucí desetinnou čárkou přebírají ukazatel na hodnotu px s plovoucí desetinnou čárkou a exponentní hodnotu expa pokud je to možné, škálujte hodnotu o px 2exp. Vrácená hodnota je výsledkem fpclassify vstupní hodnoty, px pokud se jedná o hodnotu NaN nebo nekonečno, a na výstupní hodnotě v px opačném případě. Pro přenositelnost, preferovat ldexp, , ldexpfldexpl funkce.

_dunscale, _ldunscale, _fdunscale

Syntaxe

short __cdecl _dunscale(short* pexp, double* px);
short __cdecl _ldunscale(short* pexp, long double* px);
short __cdecl _fdunscale(short* pexp, float* px);

Parametry

pexp
Ukazatel na exponent jako celočíselný typ.

px
Ukazatel na argument s plovoucí desetinou čárkou

Poznámky

Tyto primitivy s plovoucí desetinnou čárkou rozdělují hodnotu s plovoucí desetinnou čárkou, na kterou px odkazuje, do significand (mantis) a exponentu ( pokud je to možné). Znak je škálován tak, aby absolutní hodnota byla větší nebo rovna 0,5 a menší než 1,0. Exponent je hodnota n, kde původní hodnota s plovoucí desetinnou čárkou se rovná škálované znaménka a krát 2n. Tento celočíselná exponent n je uložen v umístění, na které pexpodkazuje . Vrácená hodnota je výsledkem fpclassify vstupní hodnoty v px případě, že se jedná o hodnotu NaN nebo nekonečno, a na výstupní hodnotě v opačném případě. Pro přenositelnost, preferovat frexp, , frexpffrexpl funkce.

_dexp, _ldexp, _fdexp

Syntaxe

short __cdecl _dexp(double* px, double y, long exp);
short __cdecl _ldexp(long double* px, long double y, long exp);
short __cdecl _fdexp(float* px, float y, long exp);

Parametry

y
Argument funkce s plovoucí desetinou čárkou

px
Ukazatel na argument s plovoucí desetinou čárkou

exp
Exponent jako celočíselný typ.

Poznámky

Tyto primitiva s plovoucí desetinou čárkou vytvoří hodnotu s plovoucí desetinou čárkou v umístění, na které px odkazuje rovna y * 2exp. Vrácená hodnota je výsledkem fpclassify vstupní hodnoty, y pokud se jedná o hodnotu NaN nebo nekonečno, a na výstupní hodnotě v px opačném případě. Pro přenositelnost, preferovat ldexp, , ldexpfldexpl funkce.

_dnorm, _fdnorm

Syntaxe

short __cdecl _dnorm(unsigned short* ps);
short __cdecl _fdnorm(unsigned short* ps);

Parametry

ps
Ukazatel na bitovou reprezentaci hodnoty s plovoucí desetinou čárkou vyjádřenou jako pole unsigned short.

Poznámky

Tyto primitiva s plovoucí desetinnou čárkou normalizují zlomkovou část hodnoty s plovoucí desetinnou čárkou a upraví charakteristické nebo zkreslené exponenty tak, aby odpovídaly. Hodnota se předává jako bitové vyjádření typu s plovoucí desetinou čárkou převedené na pole unsigned short prostřednictvím _double_val, _ldouble_valnebo _float_val sjednocení typu punning deklarované v math.h. Vrácená hodnota je výsledkem fpclassify vstupní hodnoty s plovoucí desetinnou čárkou, pokud se jedná o hodnotu NaN nebo nekonečno, a na výstupní hodnotě jinak.

_dpoly, _ldpoly, _fdpoly

Syntaxe

double __cdecl _dpoly(double x, double const* table, int n);
long double __cdecl _ldpoly(long double x, long double const* table, int n);
float __cdecl _fdpoly(float x, _float const* table, int n);

Parametry

x
Argument funkce s plovoucí desetinou čárkou

table
Ukazatel na tabulku konstantních koeficientů pro polynom.

n
Pořadí polynomu, které se má vyhodnotit.

Poznámky

Tyto primitiva s plovoucí desetinnou čárkou vrátí vyhodnocení x v polynomu pořadí n , jehož koeficienty jsou reprezentovány odpovídajícími konstantními hodnotami v table. Pokud table[0] například = 3,0, table[1] = 4,0, table[2] = 5,0 a n = 2 představuje polynom 5,0x2 + 4,0x + 3,0. Pokud je tento polynom vyhodnocen pro x hodnotu 2,0, výsledek je 31,0. Tyto funkce se nepoužívají interně.

_dlog, _dlog, _dlog

Syntaxe

double __cdecl _dlog(double x, int base_flag);
long double __cdecl _ldlog(long double x, int base_flag);
float __cdecl _fdlog(float x, int base_flag);

Parametry

x
Argument funkce s plovoucí desetinou čárkou

base_flag
Příznak, který řídí základ, který se má použít, 0 pro základní e a nenulu pro základ 10.

Poznámky

Tyto primitivy s plovoucí desetinnou čárkou vrátí přirozený protokol x (ln(x) nebo loge(x)), když base_flag je 0. Vrátí základ protokolu 10 z x, nebo log10(x), pokud base_flag je nenulový. Tyto funkce se nepoužívají interně. Pro přenositelnost preferujte funkce , , , , , log10f, a log10l. log10logllogflog

_dsin, _ldsin, _fdsin

Syntaxe

double __cdecl _dsin(double x, unsigned int quadrant);
long double __cdecl _ldsin(long double x, unsigned int quadrant);
float __cdecl _fdsin(float x, unsigned int quadrant);

Parametry

x
Argument funkce s plovoucí desetinou čárkou

quadrant
Kvadrantový posun 0, 1, 2 nebo 3 pro výrobu sin, cos, -sina -cos výsledky.

Poznámky

Tyto primitivy s plovoucí desetina vrátí sinus x posunu quadrant modulo 4. V podstatě vrátí sinus, kosinus, -sinus a -kosinus, x pokud quadrant modulo 4 je 0, 1, 2 nebo 3, v uvedeném pořadí. Tyto funkce se nepoužívají interně. Pro přenositelnost, preferovat , , sinfcossinl, , cosffunkce. cosl sin

Požadavky

Hlavička: <math.h>

Další informace o kompatibilitě najdete v tématu Kompatibilita.

Viz také

Podpora pro matematiku a plovoucí desetinou čárku
fpclassify
_fpclass, _fpclassf
isfinite, , _finite_finitef
isinf
isnan, , _isnan_isnanf
isnormal
cos, , cosfcosl
frexp, , frexpffrexpl
ldexp, , ldexpfldexpl
log, logf, logl, log10, , log10flog10l
sin, , sinfsinl