项目作者: iSLC

项目描述 :
C++14 User defined literals for intuitive SIMD shuffle masks.
高级语言: C++
项目地址: git://github.com/iSLC/Literal-SIMD-Shuffle-Masks.git
创建时间: 2017-04-04T23:10:01Z
项目社区:https://github.com/iSLC/Literal-SIMD-Shuffle-Masks

开源协议:MIT License

下载


Literal-SIMD-Shuffle-Masks

C++14 User defined literals for intuitive SIMD shuffle masks.

Example

  1. // Basic test
  2. printf("0x%X\n", _MM_SHUFFLE(0,0,0,0));
  3. printf("0x%X\n", 0000_Shuffle);
  4. printf("0x%X\n", "XXXX"_Shuffle);
  5. printf("0x%X\n", _MM_SHUFFLE(1,1,1,1));
  6. printf("0x%X\n", 1111_Shuffle);
  7. printf("0x%X\n", "YYYY"_Shuffle);
  8. printf("0x%X\n", _MM_SHUFFLE(2,2,2,2));
  9. printf("0x%X\n", 2222_Shuffle);
  10. printf("0x%X\n", "ZZZZ"_Shuffle);
  11. printf("0x%X\n", _MM_SHUFFLE(3,3,3,3));
  12. printf("0x%X\n", 3333_Shuffle);
  13. printf("0x%X\n", "WWWW"_Shuffle);
  14. // String literals can be combined in any way
  15. printf("0x%X\n", _MM_SHUFFLE(1,1,1,1));
  16. printf("0x%X\n", "Yy1y"_Shuffle);

Output:

  1. 0x0
  2. 0x0
  3. 0x0
  4. 0x55
  5. 0x55
  6. 0x55
  7. 0xAA
  8. 0xAA
  9. 0xAA
  10. 0xFF
  11. 0xFF
  12. 0xFF
  13. 0x55
  14. 0x55

Notes

  • Currently it uses a GCC extension (supported by Clang as well) in order to treat string literals as a series of characters.