Commits on Jan 12, 2013
  1. @rurban
  2. @rurban

    update _le native_pbc to 4.11

    rurban committed Jan 12, 2013
  3. @rurban
  4. @rurban
  5. @rurban
  6. @rurban

    merge with native_pbc2

    rurban committed Jan 12, 2013
  7. @rurban

    fix 8_10_le=>8_8_le converter

    Do not memcpy 16 to 10.
    rurban committed Dec 12, 2012
  8. @rurban
  9. @rurban
  10. @rurban
  11. @rurban

    {tools] Improve mk_native_pbc

    Various minor improvements: add default args properly with --noconf
    export *LD_LIBRARY_PATH if there is an already installed shared libparrot
    do not conf if only make parrot_config is needed
    rurban committed Dec 8, 2012
  12. @rurban

    fix auto::byteorder probe on sys/byteorder.h

    Silences probe on darwin and fixes probe on Solaris.
    rurban committed Dec 8, 2012
  13. @rurban
  14. @rurban
  15. @rurban
  16. @rurban
  17. @rurban

    nci/libffi.c: check FLOATTYPE, not NUMVAL_SIZE

    NUMVAL_SIZE is not good enough, esp. wrong for x86_64
    rurban committed Oct 5, 2012
  18. @rurban

    Add new 3arg fetch_buf_nn() converters, fix constness

    The old fetch_buf_?e_nn() converters took only 2 args, but the
    nv converters take now 3. So add intermediate inlined special versions.
    Fixed a couple of remaining const'ness issues and bswap64 lines.
    Hardcode "%.16g" for the strtoflt128 buf. Still does not work yet though.
    rurban committed Sep 21, 2012
  19. @rurban

    Add _DIG defines to config.h, fix cvt_num8_num16, add -lquadmath

    The __float128 cast does not work, so use snprintf and strtoflt128.
    Add -lquadmath to gcc when i_quadmath succeeds.
    Fixed ROUND_NUM_TO 3rd arguments with the new _DIG defines
    rurban committed Sep 21, 2012
  20. @rurban
  21. @rurban
  22. @rurban
  23. @rurban

    [GH #828] Optimize print_n/i and say_n/i

    print_n/nc/i/ic and the say variants go through a full Parrot_io_printf with
    3 va_start/va_end scenarios and a custom format string parser,
    and through char* -> STRING->char* conversion until the fixed
    FLOATVAL_FMT or INTVAL_FMT printf is done.
    Just to print a single int or number.
    This also lost precision for non-double floatval's - if cast to (double).
    Now avoided.
    rurban committed Sep 14, 2012
  24. @rurban

    [GH #828] Fix most tests for non-double floatval

    Add more needed precisions to numeric tests, tested with intel long double.
    Change a magic number in t/library/test_more.t 888.81<=>888.82 1e-2
      was not stable enough for intel long double
    Fix src/dynoplibs/sys.ops doublesize to numvalsize. This only works for double.
    rurban committed Sep 14, 2012
  25. @rurban

    [GH# 828] Avoid passsing non-double through va_list

    va_list does not support float, long double nor __float128 on most systems.
    Promote FLOATVAL to double to avoid that.
    rurban committed Sep 14, 2012
  26. @rurban

    Improve number.t output (print desc)

    Update testmatrix.
    rurban committed Sep 14, 2012
  27. @rurban
  28. @rurban

    [GH #807] Refactor native_pbc endianness, bswap64. Add header argumen…

    …t to converters
    Convert endianness upfront does not work.
    Some converters work on native floats, to do compiler casts. They
    need to know the packfile byteorder.
    Other bitfiddling converters work only on little-endian, so we also need
    to know the packfile byteorder, and they also need to convert endianness
    back to to the target format.
    Refactor bswap64, as it only works with 64bit registers. Tested with HAS_INT64.
    So there are two bswap64 API's, one for fast native conversion via a register
    and one with two unsigned char * args, which might point to the same buffer,
    for easier in-place conversion.
    Added dummy ROUND_NUM_TO macro, which needs to round a long number down to the given
    precision (when converting upwards). Can be done with sprintf, but need to find a
    better way.
    Simplify converter casts with unions.
    Replace SWAB_12 with SWAB_10. TODO: Need to check the last two bytes.
    rurban committed Sep 14, 2012
  29. @rurban
  30. @rurban

    display FLOATTYPE_? in myconfig

    rurban committed Sep 14, 2012
  31. @rurban
  32. @rurban

    test with precision (numcmp)

    All tests pass now, just __float128 has problems printing certain numbers
    properly. E.g. __float128 is probed for %.17Lg fmt, which prints 3.8
    as 3.7999999999999998
    rurban committed Sep 12, 2012
  33. @rurban

    fix cvt_num8_num4

    rurban committed Sep 12, 2012
  34. @rurban

    promote float to double va va_arg()...

    intel and pcc does not support va_arg float arguments. Sounds weird but
    so it is.
    float still has problems
    rurban committed Sep 12, 2012
  35. @rurban