Antonio Sanchez 03ebdf6acb Added missing NEON pcasts, update packetmath tests.
The NEON `pcast` operators are all implemented and tested for existing
packets. This requires adding a `pcast(a,b,c,d,e,f,g,h)` for casting
between `int64_t` and `int8_t` in `GenericPacketMath.h`.

Removed incorrect `HasHalfPacket`  definition for NEON's
`Packet2l`/`Packet2ul`.

Adjustments were also made to the `packetmath` tests. These include
- minor bug fixes for cast tests (i.e. 4:1 casts, only casting for
  packets that are vectorizable)
- added 8:1 cast tests
- random number generation
  - original had uninteresting 0 to 0 casts for many casts between
    floating-point and integers, and exhibited signed overflow
    undefined behavior

Tested:
```
$ aarch64-linux-gnu-g++ -static -I./ '-DEIGEN_TEST_PART_ALL=1' test/packetmath.cpp -o packetmath
$ adb push packetmath /data/local/tmp/
$ adb shell "/data/local/tmp/packetmath"
```
2020-06-21 09:32:31 -07:00
..
2019-03-14 10:08:12 +01:00
2020-06-20 19:16:24 +00:00
2020-05-19 19:24:11 +00:00
2016-05-18 14:03:03 +02:00
2020-06-20 19:16:24 +00:00
2018-11-23 15:37:09 +01:00
2019-12-11 18:22:57 +00:00
2020-06-20 19:16:24 +00:00
2020-06-20 19:16:24 +00:00
2019-01-15 10:51:03 +01:00
2018-11-23 15:12:06 +01:00