Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: native_pbc2
Commits on Jan 12, 2013
  1. @rurban
  2. @rurban

    update _le native_pbc to 4.11

    rurban authored
  3. @rurban
  4. @rurban
  5. @rurban
  6. @rurban

    merge with native_pbc2

    rurban authored
  7. @rurban

    fix 8_10_le=>8_8_le converter

    rurban authored
    Do not memcpy 16 to 10.
  8. @rurban
  9. @rurban
  10. @rurban
  11. @rurban

    {tools] Improve mk_native_pbc

    rurban authored
    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
  12. @rurban

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

    rurban authored
    Silences probe on darwin and fixes probe on Solaris.
  13. @rurban
  14. @rurban
  15. @rurban
  16. @rurban
  17. @rurban

    nci/libffi.c: check FLOATTYPE, not NUMVAL_SIZE

    rurban authored
    NUMVAL_SIZE is not good enough, esp. wrong for x86_64
  18. @rurban

    Add new 3arg fetch_buf_nn() converters, fix constness

    rurban authored
    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.
  19. @rurban

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

    rurban authored
    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
  20. @rurban
  21. @rurban
  22. @rurban
  23. @rurban

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

    rurban authored
    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.
  24. @rurban

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

    rurban authored
    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.
  25. @rurban

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

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

    Improve number.t output (print desc)

    rurban authored
    Update testmatrix.
  27. @rurban
  28. @rurban

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

    rurban authored
    …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.
  29. @rurban
  30. @rurban

    display FLOATTYPE_? in myconfig

    rurban authored
  31. @rurban
  32. @rurban

    test with precision (numcmp)

    rurban authored
    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
  33. @rurban

    fix cvt_num8_num4

    rurban authored
  34. @rurban

    promote float to double va va_arg()...

    rurban authored
    intel and pcc does not support va_arg float arguments. Sounds weird but
    so it is.
    float still has problems
  35. @rurban
Something went wrong with that request. Please try again.