Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi primitif khusus Microsoft yang digunakan untuk mengimplementasikan beberapa fungsi floating-point pustaka runtime C (CRT) standar. Mereka didokumenkan di sini untuk kelengkapan, tetapi tidak disarankan untuk digunakan. Beberapa fungsi ini dicatat sebagai tidak digunakan, karena mereka diketahui memiliki masalah dalam presisi, penanganan pengecualian, dan kesamaan dengan perilaku IEEE-754. Mereka ada di pustaka hanya untuk kompatibilitas mundur. Untuk perilaku, portabilitas, dan kepatuhan yang benar terhadap standar, lebih memilih fungsi floating-point standar daripada fungsi-fungsi ini.
Secara default, status global fungsi ini dicakup ke aplikasi. Untuk mengubah perilaku ini, lihat Status global di CRT.
_dclass, , _ldclass_fdclass
Sintaks
short __cdecl _dclass(double x);
short __cdecl _ldclass(long double x);
short __cdecl _fdclass(float x);
Parameter
x
Argumen fungsi floating-point.
Keterangan
Primitif floating-point ini mengimplementasikan versi C makro CRT fpclassify untuk jenis floating-point. Klasifikasi argumen x dikembalikan sebagai salah satu konstanta ini, yang didefinisikan dalam math.h:
| Nilai | Deskripsi |
|---|---|
FP_NAN |
NaN yang tenang, memberi sinyal, atau tidak ditentukan |
FP_INFINITE |
Tak terbatas positif atau negatif |
FP_NORMAL |
Nilai positif atau negatif yang dinormalisasi bukan nol |
FP_SUBNORMAL |
Nilai subnormal positif atau negatif (denormalisasi) |
FP_ZERO |
Nilai nol positif atau negatif |
Untuk detail selengkapnya, Anda dapat menggunakan fungsi , _fpclassf khusus _fpclassMicrosoft. fpclassify Gunakan makro atau fungsi untuk portabilitas.
_dsign, , _ldsign_fdsign
Sintaks
int __cdecl _dsign(double x);
int __cdecl _ldsign(long double x);
int __cdecl _fdsign(float x);
Parameter
x
Argumen fungsi floating-point.
Keterangan
Primitif floating-point ini mengimplementasikan signbit makro atau fungsi dalam CRT. Mereka mengembalikan nilai bukan nol jika bit tanda diatur dalam significand (mantissa) dari argumen x. Jika tidak, mereka mengembalikan 0 jika bit tanda tidak diatur.
_dpcomp, _ldpcomp, _fdpcomp
Sintaks
int __cdecl _dpcomp(double x, double y);
int __cdecl _ldpcomp(long double x, long double y);
int __cdecl _fdpcomp(float x, float y);
Parameter
x, y
Argumen fungsi floating-point.
Keterangan
Primitif floating-point ini mengambil dua argumen, x dan y, dan mengembalikan nilai yang menunjukkan hubungan pengurutannya, yang dinyatakan sebagai bitwise atau dari konstanta ini, yang didefinisikan dalam math.h:
| Nilai | Deskripsi |
|---|---|
_FP_LT |
x dapat dianggap kurang dari y |
_FP_EQ |
x dapat dianggap sama dengan y |
_FP_GT |
x dapat dianggap lebih besar dari y |
Primitif ini mengimplementasikan isgreatermakro dan fungsi , , isgreaterequalislessequalisless, islessgreater, dan isunordered di CRT.
_dtest, _ldtest, _fdtest
Sintaks
short __cdecl _dtest(double* px);
short __cdecl _ldtest(long double* px);
short __cdecl _fdtest(float* px);
Parameter
px
Penunjuk ke argumen floating-point.
Keterangan
Primitif floating-point ini mengimplementasikan versi C++ dari fungsi fpclassify CRT untuk jenis floating-point. Argumen x dievaluasi dan klasifikasi dikembalikan sebagai salah satu konstanta ini, yang didefinisikan dalam math.h:
| Nilai | Deskripsi |
|---|---|
FP_NAN |
NaN yang tenang, memberi sinyal, atau tidak ditentukan |
FP_INFINITE |
Tak terbatas positif atau negatif |
FP_NORMAL |
Nilai positif atau negatif yang dinormalisasi bukan nol |
FP_SUBNORMAL |
Nilai subnormal positif atau negatif (denormalisasi) |
FP_ZERO |
Nilai nol positif atau negatif |
Untuk detail selengkapnya, Anda dapat menggunakan fungsi , _fpclassf khusus _fpclassMicrosoft. fpclassify Gunakan fungsi untuk portabilitas.
_d_int, _ld_int, _fd_int
Sintaks
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);
Parameter
px
Penunjuk ke argumen floating-point.
exp
Eksponen sebagai jenis integral.
Keterangan
Primitif floating-point ini mengambil pointer ke nilai floating-point dan nilai px expeksponen , dan menghapus bagian pecahan dari nilai floating-point di bawah eksponen yang diberikan, jika memungkinkan. Nilai yang dikembalikan adalah hasil dari fpclassify nilai input jika px berupa NaN atau infinity, dan pada nilai px output sebaliknya.
_dscale, _ldscale, _fdscale
Sintaks
short __cdecl _dscale(double* px, long exp);
short __cdecl _ldscale(long double* px, long exp);
short __cdecl _fdscale(float* px, long exp);
Parameter
px
Penunjuk ke argumen floating-point.
exp
Eksponen sebagai jenis integral.
Keterangan
Primitif floating-point ini mengambil pointer ke nilai floating-point dan nilai px expeksponen , dan menskalakan nilai dalam px 2exp, jika memungkinkan. Nilai yang dikembalikan adalah hasil dari fpclassify nilai input jika px berupa NaN atau infinity, dan pada nilai px output sebaliknya. Untuk portabilitas, lebih suka fungsi , ldexpf, ldexpl .ldexp
_dunscale, _ldunscale, _fdunscale
Sintaks
short __cdecl _dunscale(short* pexp, double* px);
short __cdecl _ldunscale(short* pexp, long double* px);
short __cdecl _fdunscale(short* pexp, float* px);
Parameter
pexp
Penunjuk ke eksponen sebagai jenis integral.
px
Penunjuk ke argumen floating-point.
Keterangan
Primitif floating-point ini memecah nilai floating-point yang ditunjukkan oleh px ke significand (mantissa) dan eksponen, jika memungkinkan. Significand diskalakan sehingga nilai absolut lebih besar dari atau sama dengan 0,5 dan kurang dari 1,0. Eksponen adalah nilai n, di mana nilai floating-point asli sama dengan significand yang diskalakan kali 2n. Eksponen n bilangan bulat ini disimpan di lokasi yang diarahkan oleh pexp. Nilai yang dikembalikan adalah hasil dari fpclassify nilai input jika px nilai tersebut adalah NaN atau infinity, dan pada nilai output sebaliknya. Untuk portabilitas, lebih suka fungsi , frexpf, frexpl .frexp
_dexp, _ldexp, _fdexp
Sintaks
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);
Parameter
y
Argumen fungsi floating-point.
px
Penunjuk ke argumen floating-point.
exp
Eksponen sebagai jenis integral.
Keterangan
Primitif floating-point ini membangun nilai floating-point di lokasi yang ditunjukkan sama dengan px y * 2exp. Nilai yang dikembalikan adalah hasil dari fpclassify nilai input jika y berupa NaN atau infinity, dan pada nilai px output sebaliknya. Untuk portabilitas, lebih suka fungsi , ldexpf, ldexpl .ldexp
_dnorm, _fdnorm
Sintaks
short __cdecl _dnorm(unsigned short* ps);
short __cdecl _fdnorm(unsigned short* ps);
Parameter
ps
Penunjuk ke representasi bitwise dari nilai floating-point yang dinyatakan sebagai array dari unsigned short.
Keterangan
Primitif floating-point ini menormalkan bagian pecahan dari nilai floating-point yang underflowed dan menyesuaikan karakteristik, atau eksponen bias, agar sesuai. Nilai diteruskan sebagai representasi bitwise dari jenis floating-point yang dikonversi ke array unsigned short melalui _double_valserikat , , _ldouble_valatau _float_val type-punning yang dideklarasikan dalam math.h. Nilai yang dikembalikan adalah hasil dari fpclassify nilai input floating-point jika berupa NaN atau infinity, dan pada nilai output sebaliknya.
_dpoly, _ldpoly, _fdpoly
Sintaks
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);
Parameter
x
Argumen fungsi floating-point.
table
Penunjuk ke tabel koefisien konstan untuk polinomial.
n
Urutan polinomial untuk dievaluasi.
Keterangan
Primitif floating-point ini mengembalikan evaluasi x dalam polinomial urutan n yang koefisiennya diwakili oleh nilai konstanta yang sesuai dalam table. Misalnya, jika table[0] = 3.0, table[1] = 4.0, table[2] = 5.0, dan n = 2, itu mewakili polinomial 5,0x2 + 4,0x + 3,0. Jika polinomial ini dievaluasi untuk x 2,0, hasilnya adalah 31,0. Fungsi-fungsi ini tidak digunakan secara internal.
_dlog, _dlog, _dlog
Sintaks
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);
Parameter
x
Argumen fungsi floating-point.
base_flag
Bendera yang mengontrol basis yang akan digunakan, 0 untuk basis e dan bukan nol untuk basis 10.
Keterangan
Primitif floating-point ini mengembalikan log x alami (ln(x) atau loge(x)), ketika base_flag adalah 0. Mereka mengembalikan basis log 10 dari x, atau log10(x), ketika base_flag bukan nol. Fungsi-fungsi ini tidak digunakan secara internal. Untuk portabilitas, lebih suka fungsi log, , logflogl, log10, log10f, dan log10l.
_dsin, _ldsin, _fdsin
Sintaks
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);
Parameter
x
Argumen fungsi floating-point.
quadrant
Offset kuadrian 0, 1, 2, atau 3 untuk digunakan untuk menghasilkan sin, , cos-sin, dan -cos hasil.
Keterangan
Primitif floating-point ini mengembalikan sinus x offset oleh quadrant modulo 4. Secara efektif, mereka mengembalikan sinus, kosinus, -sinus, dan -kosinus x ketika quadrant modulo 4 masing-masing adalah 0, 1, 2, atau 3. Fungsi-fungsi ini tidak digunakan secara internal. Untuk portabilitas, lebih suka sinfungsi , , sinfsinl,coscosf , . cosl
Persyaratan
Header: <math.h>
Untuk informasi kompatibilitas selengkapnya, lihat Kompatibilitas.
Lihat juga
Dukungan matematika dan titik mengambang
fpclassify
_fpclass, _fpclassf
isfinite, , _finite_finitef
isinf
isnan, , _isnan_isnanf
isnormal
cos, , cosfcosl
frexp, , frexpffrexpl
ldexp, , ldexpfldexpl
log, , logflogl, log10, , log10f,log10l
sin, , sinfsinl