AsmJsBuiltInNames.h 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. //-------------------------------------------------------------------------------------------------------
  2. // Copyright (C) Microsoft Corporation and contributors. All rights reserved.
  3. // Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
  4. //-------------------------------------------------------------------------------------------------------
  5. // Default all macros to nothing
  6. #ifndef ASMJS_MATH_FUNC_NAMES
  7. #define ASMJS_MATH_FUNC_NAMES(name, propertyName, funcInfo)
  8. #endif
  9. #ifndef ASMJS_MATH_CONST_NAMES
  10. #define ASMJS_MATH_CONST_NAMES(name, propertyName, value)
  11. #endif
  12. #ifndef ASMJS_MATH_DOUBLE_CONST_NAMES
  13. #define ASMJS_MATH_DOUBLE_CONST_NAMES(name, propertyName, value) ASMJS_MATH_CONST_NAMES(name, propertyName, value)
  14. #endif
  15. #ifndef ASMJS_ARRAY_NAMES
  16. #define ASMJS_ARRAY_NAMES(name, propertyName)
  17. #endif
  18. #ifndef ASMJS_TYPED_ARRAY_NAMES
  19. #define ASMJS_TYPED_ARRAY_NAMES(name, propertyName) ASMJS_ARRAY_NAMES(name, propertyName)
  20. #endif
  21. ASMJS_MATH_FUNC_NAMES(sin, sin, Math::EntryInfo::Sin )
  22. ASMJS_MATH_FUNC_NAMES(cos, cos, Math::EntryInfo::Cos )
  23. ASMJS_MATH_FUNC_NAMES(tan, tan, Math::EntryInfo::Tan )
  24. ASMJS_MATH_FUNC_NAMES(asin, asin, Math::EntryInfo::Asin )
  25. ASMJS_MATH_FUNC_NAMES(acos, acos, Math::EntryInfo::Acos )
  26. ASMJS_MATH_FUNC_NAMES(atan, atan, Math::EntryInfo::Atan )
  27. ASMJS_MATH_FUNC_NAMES(ceil, ceil, Math::EntryInfo::Ceil )
  28. ASMJS_MATH_FUNC_NAMES(floor, floor, Math::EntryInfo::Floor )
  29. ASMJS_MATH_FUNC_NAMES(exp, exp, Math::EntryInfo::Exp )
  30. ASMJS_MATH_FUNC_NAMES(log, log, Math::EntryInfo::Log )
  31. ASMJS_MATH_FUNC_NAMES(pow, pow, Math::EntryInfo::Pow )
  32. ASMJS_MATH_FUNC_NAMES(sqrt, sqrt, Math::EntryInfo::Sqrt )
  33. ASMJS_MATH_FUNC_NAMES(abs, abs, Math::EntryInfo::Abs )
  34. ASMJS_MATH_FUNC_NAMES(atan2, atan2, Math::EntryInfo::Atan2 )
  35. ASMJS_MATH_FUNC_NAMES(imul, imul, Math::EntryInfo::Imul )
  36. ASMJS_MATH_FUNC_NAMES(fround, fround, Math::EntryInfo::Fround )
  37. ASMJS_MATH_FUNC_NAMES(min, min, Math::EntryInfo::Min )
  38. ASMJS_MATH_FUNC_NAMES(max, max, Math::EntryInfo::Max )
  39. ASMJS_MATH_FUNC_NAMES(clz32, clz32, Math::EntryInfo::Clz32 )
  40. ASMJS_MATH_DOUBLE_CONST_NAMES(e, E, Math::E )
  41. ASMJS_MATH_DOUBLE_CONST_NAMES(ln10, LN10, Math::LN10 )
  42. ASMJS_MATH_DOUBLE_CONST_NAMES(ln2, LN2, Math::LN2 )
  43. ASMJS_MATH_DOUBLE_CONST_NAMES(log2e, LOG2E, Math::LOG2E )
  44. ASMJS_MATH_DOUBLE_CONST_NAMES(log10e, LOG10E, Math::LOG10E )
  45. ASMJS_MATH_DOUBLE_CONST_NAMES(pi, PI, Math::PI )
  46. ASMJS_MATH_DOUBLE_CONST_NAMES(sqrt1_2, SQRT1_2, Math::SQRT1_2 )
  47. ASMJS_MATH_DOUBLE_CONST_NAMES(sqrt2, SQRT2, Math::SQRT2 )
  48. ASMJS_MATH_CONST_NAMES(infinity, Infinity, 0 )
  49. ASMJS_MATH_CONST_NAMES(nan, NaN, 0 )
  50. ASMJS_TYPED_ARRAY_NAMES(Uint8Array, Uint8Array)
  51. ASMJS_TYPED_ARRAY_NAMES(Int8Array, Int8Array)
  52. ASMJS_TYPED_ARRAY_NAMES(Uint16Array, Uint16Array)
  53. ASMJS_TYPED_ARRAY_NAMES(Int16Array, Int16Array)
  54. ASMJS_TYPED_ARRAY_NAMES(Uint32Array, Uint32Array)
  55. ASMJS_TYPED_ARRAY_NAMES(Int32Array, Int32Array)
  56. ASMJS_TYPED_ARRAY_NAMES(Float32Array, Float32Array)
  57. ASMJS_TYPED_ARRAY_NAMES(Float64Array, Float64Array)
  58. ASMJS_ARRAY_NAMES(byteLength, byteLength)
  59. // help the caller to undefine all the macros
  60. #undef ASMJS_MATH_FUNC_NAMES
  61. #undef ASMJS_MATH_CONST_NAMES
  62. #undef ASMJS_MATH_DOUBLE_CONST_NAMES
  63. #undef ASMJS_ARRAY_NAMES
  64. #undef ASMJS_TYPED_ARRAY_NAMES