Lines Matching defs:nv
44 # define SNPRINTF_G(nv, buffer, size, ndig) \
45 quadmath_snprintf(buffer, size, "%.*Qg", (int)ndig, (NV)(nv))
47 # define SNPRINTF_G(nv, buffer, size, ndig) \
48 PERL_UNUSED_RESULT(Gconvert((NV)(nv), (int)ndig, 0, buffer))
2688 const NV nv = SvNVX(sv);
2691 if (SvIVX(sv) == I_V(nv)) {
2704 const UV nv_as_uv = U_V(nv);
2741 PerlIO_printf(Perl_debug_log, "0x%" UVxf " 2nv(%" NVgf ")\n",
2867 S_infnan_2pv(NV nv, char* buffer, size_t maxlen, char plus) {
2870 if (Perl_isinf(nv)) {
2871 if (nv < 0) {
2882 else if (Perl_isnan(nv)) {
10805 Perl_sv_setref_nv(pTHX_ SV *const rv, const char *const classname, const NV nv)
10809 sv_setnv(newSVrv(rv,classname), nv);
11422 * nv. Returns ptr to start of string, and sets *len to its length.
11427 S_F0convert(NV nv, char *const endbuf, STRLEN *const len)
11429 const int neg = nv < 0;
11434 assert(!Perl_isinfnan(nv));
11436 nv = -nv;
11437 if (nv != 0.0 && nv < (NV) UV_MAX) {
11439 uv = (UV)nv;
11440 if (uv != nv) {
11441 nv += 0.5;
11442 uv = (UV)nv;
11443 if (uv & 1 && uv == nv)
11474 * call the target 'fv' instead of 'nv', since most of the time it is not
11483 # define VCATPVFN_NV_TO_FV(nv,fv) \
11485 double _dv = nv; \
11489 # define VCATPVFN_NV_TO_FV(nv,fv) (fv)=(nv)
11494 # define VCATPVFN_NV_TO_FV(nv,fv) (fv)=(nv)
11548 * the hexadecimal values (for %a/%A). The nv is the NV where the value
11563 S_hextract(pTHX_ const NV nv, int* exponent, bool *subnormal,
11604 #define HEXTRACT_GET_SUBNORMAL(nv) *subnormal = Perl_fp_class_denorm(nv)
11605 #define HEXTRACT_IMPLICIT_BIT(nv) \
11608 if (vend) *v++ = ((nv) == 0.0) ? 0 : 1; else v++; \
11633 (void)Perl_frexp(PERL_ABS(nv), exponent);
11647 const U8* nvp = (const U8*)(&nv);
11648 HEXTRACT_GET_SUBNORMAL(nv);
11649 HEXTRACT_IMPLICIT_BIT(nv);
11657 const U8* nvp = (const U8*)(&nv);
11658 HEXTRACT_GET_SUBNORMAL(nv);
11659 HEXTRACT_IMPLICIT_BIT(nv);
11669 const U8* nvp = (const U8*)(&nv);
11672 HEXTRACT_GET_SUBNORMAL(nv);
11679 const U8* nvp = (const U8*)(&nv);
11682 HEXTRACT_GET_SUBNORMAL(nv);
11717 const U8* nvp = (const U8*)(&nv);
11718 HEXTRACT_GET_SUBNORMAL(nv);
11719 HEXTRACT_IMPLICIT_BIT(nv);
11724 const U8* nvp = (const U8*)(&nv);
11725 HEXTRACT_GET_SUBNORMAL(nv);
11726 HEXTRACT_IMPLICIT_BIT(nv);
11731 const U8* nvp = (const U8*)(&nv);
11732 HEXTRACT_GET_SUBNORMAL(nv);
11733 HEXTRACT_IMPLICIT_BIT(nv);
11743 const U8* nvp = (const U8*)(&nv);
11744 HEXTRACT_GET_SUBNORMAL(nv);
11745 HEXTRACT_IMPLICIT_BIT(nv);
11762 HEXTRACT_GET_SUBNORMAL(nv);
11767 if (nv == (NV)0.0) {
11775 NV d = nv < 0 ? -nv : nv;
11882 const NV nv, const vcatpvfn_long_double_t fv,
11914 vend = S_hextract(aTHX_ nv, &exponent, &subnormal, vhex, NULL);
11915 S_hextract(aTHX_ nv, &exponent, &subnormal, vhex, vend);
11940 negative = fv < 0 || Perl_signbit(nv);
12272 const NV nv = SvNV(*svargs);
12273 if (LIKELY(!Perl_isinfnan(nv))) {
12277 if ((p = F0convert(nv, ebuf + sizeof ebuf, &l))) {
13229 NV nv;
13281 nv = intsize == 'Q' ? va_arg(*args, NV) :
13284 fv = nv;
13288 nv = fv;
13290 nv = va_arg(*args, double);
13291 VCATPVFN_NV_TO_FV(nv, fv);
13294 nv = va_arg(*args, double);
13295 fv = nv;
13302 * infinite/Nan argsv. After setting nv/fv, it falls
13305 nv = SvNV_nomg(argsv);
13306 VCATPVFN_NV_TO_FV(nv, fv);
13309 if (Perl_isinfnan(nv)) {
13312 nv, (int)c);
13314 elen = S_infnan_2pv(nv, ebuf, sizeof(ebuf), plus);
13330 && ((eptr = F0convert(nv, ebuf + sizeof ebuf, &elen)))
13536 nv, fv, has_precis, precis, width,
13596 ptr, nv);