Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Specyficzne dla firmy Microsoft funkcje pierwotne, które są używane do implementowania niektórych standardowych funkcji biblioteki środowiska uruchomieniowego języka C (CRT) zmiennoprzecinkowych. Są one udokumentowane tutaj w celu ukończenia, ale nie są zalecane do użycia. Niektóre z tych funkcji są oznaczone jako nieużywane, ponieważ znane są problemy z precyzją, obsługą wyjątków i zgodnością z zachowaniem IEEE-754. Istnieją one w bibliotece tylko w celu zapewnienia zgodności z poprzednimi wersjami. Aby uzyskać poprawne zachowanie, przenośność i zgodność ze standardami, preferuj standardowe funkcje zmiennoprzecinkowe dla tych funkcji.
Domyślnie stan globalny tej funkcji jest zakresem aplikacji. Aby zmienić to zachowanie, zobacz Stan globalny w CRT.
_dclass, , _ldclass_fdclass
Składnia
short __cdecl _dclass(double x);
short __cdecl _ldclass(long double x);
short __cdecl _fdclass(float x);
Parametry
x
Argument funkcji zmiennoprzecinkowych.
Uwagi
Te zmiennoprzecinkowe typy pierwotne implementują wersje C makra fpclassify CRT dla typów zmiennoprzecinkowych. Klasyfikacja argumentu x jest zwracana jako jedna z tych stałych, zdefiniowana w pliku math.h:
| Wartość | Opis |
|---|---|
FP_NAN |
Cichy, sygnalizujący lub nieokreślony NaN |
FP_INFINITE |
Nieskończoność dodatnia lub ujemna |
FP_NORMAL |
Dodatnia lub ujemna znormalizowana wartość niezerowa |
FP_SUBNORMAL |
Wartość dodatnia lub ujemna (zdenormalizowana) |
FP_ZERO |
Wartość dodatnia lub ujemna zero |
Aby uzyskać więcej szczegółów, możesz użyć funkcji specyficznych dla _fpclass_fpclassf firmy Microsoft. Użyj makra fpclassify lub funkcji do przenoszenia.
_dsign, , _ldsign_fdsign
Składnia
int __cdecl _dsign(double x);
int __cdecl _ldsign(long double x);
int __cdecl _fdsign(float x);
Parametry
x
Argument funkcji zmiennoprzecinkowych.
Uwagi
Te zmiennoprzecinkowe elementy pierwotne implementują signbit makro lub funkcję w CRT. Zwracają wartość inną niż zero, jeśli bit znaku jest ustawiony w znaku znaku (mantissa) argumentu x. W przeciwnym razie zwracają wartość 0, jeśli bit znaku nie jest ustawiony.
_dpcomp, _ldpcomp, _fdpcomp
Składnia
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 funkcji zmiennoprzecinkowych.
Uwagi
Te wartości pierwotne zmiennoprzecinkowe przyjmują dwa argumenty i x y, i zwracają wartość, która pokazuje relację porządkowania, wyrażoną jako bitowe lub te stałe zdefiniowane w funkcji math.h:
| Wartość | Opis |
|---|---|
_FP_LT |
x można uznać za mniejsze niż y |
_FP_EQ |
x można uznać za równe y |
_FP_GT |
x można uznać za większe niż y |
Te elementy pierwotne implementują isgreaterfunkcje , , isgreaterequal, islessequalisless, islessgreateri isunordered w języku CRT.
_dtest, _ldtest, _fdtest
Składnia
short __cdecl _dtest(double* px);
short __cdecl _ldtest(long double* px);
short __cdecl _fdtest(float* px);
Parametry
px
Wskaźnik do argumentu zmiennoprzecinkowego.
Uwagi
Te zmiennoprzecinkowe typy pierwotne implementują wersje C++ funkcji fpclassify CRT dla typów zmiennoprzecinkowych. Argument x jest obliczany, a klasyfikacja jest zwracana jako jedna z tych stałych, zdefiniowana w pliku math.h:
| Wartość | Opis |
|---|---|
FP_NAN |
Cichy, sygnalizujący lub nieokreślony NaN |
FP_INFINITE |
Nieskończoność dodatnia lub ujemna |
FP_NORMAL |
Dodatnia lub ujemna znormalizowana wartość niezerowa |
FP_SUBNORMAL |
Wartość dodatnia lub ujemna (zdenormalizowana) |
FP_ZERO |
Wartość dodatnia lub ujemna zero |
Aby uzyskać więcej szczegółów, możesz użyć funkcji specyficznych dla _fpclass_fpclassf firmy Microsoft. fpclassify Użyj funkcji w celu przenoszenia.
_d_int, _ld_int, _fd_int
Składnia
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
Wskaźnik do argumentu zmiennoprzecinkowego.
exp
Wykładnik jako typ całkowity.
Uwagi
Te wartości pierwotne zmiennoprzecinkowe przyjmują wskaźnik do wartości px zmiennoprzecinkowej i wartości wykładniczej , a jeśli to możliwe, usuń część ułamkową wartości expzmiennoprzecinkowej poniżej danego wykładnika. Zwracana wartość jest wynikiem fpclassify wartości wejściowej, px jeśli jest to wartość NaN lub nieskończoność, a wartość wyjściowa w px przeciwnym razie.
_dscale, _ldscale, _fdscale
Składnia
short __cdecl _dscale(double* px, long exp);
short __cdecl _ldscale(long double* px, long exp);
short __cdecl _fdscale(float* px, long exp);
Parametry
px
Wskaźnik do argumentu zmiennoprzecinkowego.
exp
Wykładnik jako typ całkowity.
Uwagi
Te wartości pierwotne zmiennoprzecinkowe przyjmują wskaźnik do wartości px zmiennoprzecinkowej i wartości expwykładniczej, a jeśli to możliwe, przeskaluj wartość do px 2exp. Zwracana wartość jest wynikiem fpclassify wartości wejściowej, px jeśli jest to wartość NaN lub nieskończoność, a wartość wyjściowa w px przeciwnym razie. W przypadku przenośności preferuj ldexpfunkcje , . ldexpfldexpl
_dunscale, _ldunscale, _fdunscale
Składnia
short __cdecl _dunscale(short* pexp, double* px);
short __cdecl _ldunscale(short* pexp, long double* px);
short __cdecl _fdunscale(short* pexp, float* px);
Parametry
pexp
Wskaźnik do wykładnika jako typu całkowitego.
px
Wskaźnik do argumentu zmiennoprzecinkowego.
Uwagi
Te wartości pierwotne zmiennoprzecinkowe dzielą wartość zmiennoprzecinkową wskazywaną przez px znakową (mantissa) i wykładnik, jeśli to możliwe. Znak jest skalowany w taki sposób, że wartość bezwzględna jest większa lub równa 0,5 i mniejsza niż 1,0. Wykładnik jest wartością n, gdzie oryginalna wartość zmiennoprzecinkowa jest równa 2n. Ten wykładnik n liczby całkowitej jest przechowywany w lokalizacji wskazywane przez pexp. Zwracana wartość jest wynikiem fpclassify wartości wejściowej, px jeśli jest to wartość NaN lub nieskończoność, a w przeciwnym razie wartość wyjściowa. W przypadku przenośności preferuj frexpfunkcje , . frexpffrexpl
_dexp, _ldexp, _fdexp
Składnia
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 funkcji zmiennoprzecinkowych.
px
Wskaźnik do argumentu zmiennoprzecinkowego.
exp
Wykładnik jako typ całkowity.
Uwagi
Te zmiennoprzecinkowe elementy pierwotne skonstruuje wartość zmiennoprzecinkową w lokalizacji wskazywanej przez px wartość równą y * 2exp. Zwracana wartość jest wynikiem fpclassify wartości wejściowej, y jeśli jest to wartość NaN lub nieskończoność, a wartość wyjściowa w px przeciwnym razie. W przypadku przenośności preferuj ldexpfunkcje , . ldexpfldexpl
_dnorm, _fdnorm
Składnia
short __cdecl _dnorm(unsigned short* ps);
short __cdecl _fdnorm(unsigned short* ps);
Parametry
ps
Wskaźnik do bitowej reprezentacji wartości zmiennoprzecinkowej wyrażonej jako tablica unsigned short.
Uwagi
Te wartości pierwotne zmiennoprzecinkowe normalizują część ułamkową niedopływanej wartości zmiennoprzecinkowej i dopasowują charakterystykę lub stronniczy wykładnik, aby były zgodne. Wartość jest przekazywana jako bitowa reprezentacja typu zmiennoprzecinkowego przekonwertowana na tablicę unsigned short typu _double_val, _ldouble_vallub _float_val typu kwantowania zadeklarowanego w pliku math.h. Wartość zwracana jest wynikiem fpclassify wartości wejściowej zmiennoprzecinkowej, jeśli jest to wartość NaN lub nieskończoność, a w przeciwnym razie wartość wyjściowa.
_dpoly, _ldpoly, _fdpoly
Składnia
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 funkcji zmiennoprzecinkowych.
table
Wskaźnik do tabeli stałych współczynników dla wielomianu.
n
Kolejność wielomianu do obliczenia.
Uwagi
Te zmiennoprzecinkowe elementy pierwotne zwracają ocenę x w wielomianie kolejności n , której współczynniki są reprezentowane przez odpowiadające wartości stałe w elem table. Na przykład jeśli table[0] = 3.0, table[1] = 4.0, table[2] = 5.0 i n = 2, reprezentuje wielomian 5.0x2 + 4.0x + 3.0. Jeśli ten wielomian jest obliczany dla x wartości 2,0, wynik wynosi 31,0. Te funkcje nie są używane wewnętrznie.
_dlog, _dlog, _dlog
Składnia
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 funkcji zmiennoprzecinkowych.
base_flag
Flaga sterujący bazą do użycia, 0 dla wartości base e i non-zero dla wartości base 10.
Uwagi
Te zmiennoprzecinkowe elementy pierwotne zwracają dziennik x naturalny (ln(x) lub loge(x)), gdy base_flag ma wartość 0. Zwracają one bazę dziennika 10 z x, lub dziennika10(x), gdy base_flag nie ma wartości zero. Te funkcje nie są używane wewnętrznie. W przypadku przenośności preferuj funkcje , , logf, logllog10, log10fi log10l.log
_dsin, _ldsin, _fdsin
Składnia
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 funkcji zmiennoprzecinkowych.
quadrant
Przesunięcie ćwiartki 0, 1, 2 lub 3 do użycia w celu wygenerowania sinwyników , cos, -sini -cos .
Uwagi
Te zmienne pierwotne zwracają sinus x przesunięcia przez quadrant modulo 4. Skutecznie zwracają sinus, cosinus, -sinus i -cosinus x , gdy quadrant modulo 4 wynosi odpowiednio 0, 1, 2 lub 3. Te funkcje nie są używane wewnętrznie. W przypadku przenośności preferuj sinfunkcje , , sinfsinl, cos, cosf, . cosl
Wymagania
Nagłówek: <math.h>
Aby uzyskać więcej informacji o zgodności, zobacz Zgodność.
Zobacz też
Obsługa obliczeń matematycznych i zmiennoprzecinkowych
fpclassify
_fpclass, _fpclassf
isfinite, , _finite_finitef
isinf
isnan, , _isnan_isnanf
isnormal
cos, , cosfcosl
frexp, , frexpffrexpl
ldexp, , ldexpfldexpl
log, , logf, logl, log10, , log10flog10l
sin, , sinfsinl