On 8/9/2012 10:40 AM, dsimcha wrote:
I'd emphasize the following:

I'd like to add to that:

1. Proper support for 80 bit floating point types. Many compilers' libraries have inaccurate 80 bit math functions, or don't implement 80 bit floats at all. 80 bit floats reduce the incidence of creeping roundoff error.

2. Support for SIMD vectors as native types.

3. Floating point values are default initialized to NaN.

4. Correct support for NaN and infinity values.

5. Correct support for unordered operations.

6. Array types do not degenerate into pointer types whenever passed to a function. In other words, array types know their dimension.

7. Array loop operations, i.e.:

    for (size_t i = 0; i < a.length; i++)
           a[i] = b[i] + c;

can be written as:

    a[] = b[] + c;

8. Global data is thread local by default, lessening the risk of unintentional unsynchronized sharing between threads.

Reply via email to