libcm is a C development framework with an emphasis on audio signal processing applications.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

cmVectOpsTemplateMain.h 2.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //| Copyright: (C) 2009-2020 Kevin Larke <contact AT larke DOT org>
  2. //| License: GNU GPL version 3.0 or above. See the accompanying LICENSE file.
  3. // Float
  4. #include "cmVectOpsTemplateUndef.h"
  5. #define VECT_OP_TYPE float
  6. #define VECT_OP_FUNC(Func) cmVOF_##Func
  7. #define VECT_OP_EPSILON FLT_EPSILON
  8. #define VECT_OP_MAX FLT_MAX
  9. #define VECT_OP_MIN FLT_MIN
  10. #define VECT_OP_LAP_FUNC(F) s##F
  11. #define VECT_OP_BLAS_FUNC(F) cblas_s##F
  12. #include "cmVectOpsTemplateHdr.h"
  13. #include "cmVectOpsTemplateCode.h"
  14. #include "cmVectOpsRIHdr.h"
  15. #include "cmVectOpsRICode.h"
  16. // Double
  17. #include "cmVectOpsTemplateUndef.h"
  18. #define VECT_OP_TYPE double
  19. #define VECT_OP_FUNC(F) cmVOD_##F
  20. #define VECT_OP_EPSILON DBL_EPSILON
  21. #define VECT_OP_MAX DBL_MAX
  22. #define VECT_OP_MIN DBL_MIN
  23. #define VECT_OP_LAP_FUNC(F) d##F
  24. #define VECT_OP_BLAS_FUNC(F) cblas_d##F
  25. #include "cmVectOpsTemplateHdr.h"
  26. #include "cmVectOpsTemplateCode.h"
  27. #include "cmVectOpsRIHdr.h"
  28. #include "cmVectOpsRICode.h"
  29. // cmSample_t
  30. #include "cmVectOpsTemplateUndef.h"
  31. #define VECT_OP_TYPE cmSample_t
  32. #define VECT_OP_FUNC(F) cmVOS_##F
  33. #define VECT_OP_EPSILON cmSample_EPSILON
  34. #define VECT_OP_MAX cmSample_MAX
  35. #define VECT_OP_MIN cmSample_MIN
  36. #if CM_FLOAT_SMP == 1
  37. #define VECT_OP_LAP_FUNC(F) s##F
  38. #define VECT_OP_BLAS_FUNC(F) cblas_s##F
  39. #else
  40. #define VECT_OP_LAP_FUNC(F) d##F
  41. #define VECT_OP_BLAS_FUNC(F) cblas_d##F
  42. #endif
  43. #include "cmVectOpsTemplateHdr.h"
  44. #include "cmVectOpsTemplateCode.h"
  45. #include "cmVectOpsRIHdr.h"
  46. #include "cmVectOpsRICode.h"
  47. // cmReal_t
  48. #include "cmVectOpsTemplateUndef.h"
  49. #define VECT_OP_TYPE cmReal_t
  50. #define VECT_OP_FUNC(F) cmVOR_##F
  51. #define VECT_OP_EPSILON cmReal_EPSILON
  52. #define VECT_OP_MAX cmReal_MAX
  53. #define VECT_OP_MIN cmReal_MIN
  54. #if CM_FLOAT_REAL == 1
  55. #define VECT_OP_LAP_FUNC(F) s##F
  56. #define VECT_OP_BLAS_FUNC(F) cblas_s##F
  57. #else
  58. #define VECT_OP_LAP_FUNC(F) d##F
  59. #define VECT_OP_BLAS_FUNC(F) cblas_d##F
  60. #endif
  61. #include "cmVectOpsTemplateHdr.h"
  62. #include "cmVectOpsTemplateCode.h"
  63. #include "cmVectOpsRIHdr.h"
  64. #include "cmVectOpsRICode.h"
  65. // Int
  66. #include "cmVectOpsTemplateUndef.h"
  67. #define VECT_OP_TYPE int
  68. #define VECT_OP_FUNC(F) cmVOI_##F
  69. #include "cmVectOpsRIHdr.h"
  70. #include "cmVectOpsRICode.h"
  71. // Unsigned
  72. #include "cmVectOpsTemplateUndef.h"
  73. #define VECT_OP_TYPE unsigned
  74. #define VECT_OP_FUNC(F) cmVOU_##F
  75. #include "cmVectOpsRIHdr.h"
  76. #include "cmVectOpsRICode.h"
  77. // bool
  78. #include "cmVectOpsTemplateUndef.h"
  79. #define VECT_OP_TYPE bool
  80. #define VECT_OP_FUNC(F) cmVOB_##F
  81. #include "cmVectOpsRIHdr.h"
  82. #include "cmVectOpsRICode.h"
  83. // char
  84. #include "cmVectOpsTemplateUndef.h"
  85. #define VECT_OP_TYPE char
  86. #define VECT_OP_FUNC(F) cmVOC_##F
  87. #include "cmVectOpsRIHdr.h"
  88. #include "cmVectOpsRICode.h"