Blame parts/inc/format

Packit 7d6a7d
################################################################################
Packit 7d6a7d
##
Packit 7d6a7d
##  Version 3.x, Copyright (C) 2004-2013, Marcus Holland-Moritz.
Packit 7d6a7d
##  Version 2.x, Copyright (C) 2001, Paul Marquess.
Packit 7d6a7d
##  Version 1.x, Copyright (C) 1999, Kenneth Albanowski.
Packit 7d6a7d
##
Packit 7d6a7d
##  This program is free software; you can redistribute it and/or
Packit 7d6a7d
##  modify it under the same terms as Perl itself.
Packit 7d6a7d
##
Packit 7d6a7d
################################################################################
Packit 7d6a7d
Packit 7d6a7d
=provides
Packit 7d6a7d
Packit 7d6a7d
/^#\s*define\s+(\w+)/
Packit 7d6a7d
Packit 7d6a7d
=implementation
Packit 7d6a7d
Packit 7d6a7d
#ifndef IVdf
Packit 7d6a7d
#  if IVSIZE == LONGSIZE
Packit 7d6a7d
#    define     IVdf      "ld"
Packit 7d6a7d
#    define     UVuf      "lu"
Packit 7d6a7d
#    define     UVof      "lo"
Packit 7d6a7d
#    define     UVxf      "lx"
Packit 7d6a7d
#    define     UVXf      "lX"
Packit 7d6a7d
#  elif IVSIZE == INTSIZE
Packit 7d6a7d
#    define   IVdf      "d"
Packit 7d6a7d
#    define   UVuf      "u"
Packit 7d6a7d
#    define   UVof      "o"
Packit 7d6a7d
#    define   UVxf      "x"
Packit 7d6a7d
#    define   UVXf      "X"
Packit 7d6a7d
#  else
Packit 7d6a7d
#    error "cannot define IV/UV formats"
Packit 7d6a7d
#  endif
Packit 7d6a7d
#endif
Packit 7d6a7d
Packit 7d6a7d
#ifndef NVef
Packit 7d6a7d
#  if defined(USE_LONG_DOUBLE) && defined(HAS_LONG_DOUBLE) && \
Packit 7d6a7d
      defined(PERL_PRIfldbl) && { VERSION != 5.6.0 }
Packit 7d6a7d
            /* Not very likely, but let's try anyway. */
Packit 7d6a7d
#    define NVef          PERL_PRIeldbl
Packit 7d6a7d
#    define NVff          PERL_PRIfldbl
Packit 7d6a7d
#    define NVgf          PERL_PRIgldbl
Packit 7d6a7d
#  else
Packit 7d6a7d
#    define NVef          "e"
Packit 7d6a7d
#    define NVff          "f"
Packit 7d6a7d
#    define NVgf          "g"
Packit 7d6a7d
#  endif
Packit 7d6a7d
#endif
Packit 7d6a7d
Packit 7d6a7d
=xsubs
Packit 7d6a7d
Packit 7d6a7d
void
Packit 7d6a7d
croak_NVgf(num)
Packit 7d6a7d
        NV num
Packit 7d6a7d
        PPCODE:
Packit 7d6a7d
                Perl_croak(aTHX_ "%.20" NVgf "\n", num);
Packit 7d6a7d
Packit 7d6a7d
=tests plan => 1
Packit 7d6a7d
Packit 7d6a7d
my $num = 1.12345678901234567890;
Packit 7d6a7d
Packit 7d6a7d
eval { Devel::PPPort::croak_NVgf($num) };
Packit 7d6a7d
ok($@ =~ /^1.1234567890/);