Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
 
 
 

48 Zeilen
1.6 KiB

  1. //
  2. // Lol Engine
  3. //
  4. // Copyright © 2010—2020 Sam Hocevar <sam@hocevar.net>
  5. //
  6. // Lol Engine is free software. It comes without any warranty, to
  7. // the extent permitted by applicable law. You can redistribute it
  8. // and/or modify it under the terms of the Do What the Fuck You Want
  9. // to Public License, Version 2, as published by the WTFPL Task Force.
  10. // See http://www.wtfpl.net/ for more details.
  11. //
  12. #pragma once
  13. //
  14. // Various maths constants
  15. // ———————————————————————
  16. //
  17. namespace lol
  18. {
  19. #define LOL_MATH_CONSTANT(name, value) \
  20. static long double const LD_##name = value; \
  21. static double const D_##name = (double)LD_##name; \
  22. static float const F_##name = (float)LD_##name;
  23. // These values get truncated, not rounded, because I don’t care much
  24. LOL_MATH_CONSTANT(TAU, 6.28318530717958647692528676655900576839433879875L)
  25. LOL_MATH_CONSTANT(PI, 3.14159265358979323846264338327950288419716939937L)
  26. LOL_MATH_CONSTANT(PI_2, 1.57079632679489661923132169163975144209858469968L)
  27. LOL_MATH_CONSTANT(PI_3, 1.04719755119659774615421446109316762806572313312L)
  28. LOL_MATH_CONSTANT(PI_4, 0.78539816339744830961566084581987572104929234984L)
  29. LOL_MATH_CONSTANT(1_PI, 0.31830988618379067153776752674502872406891929148L)
  30. LOL_MATH_CONSTANT(2_PI, 0.63661977236758134307553505349005744813783858296L)
  31. LOL_MATH_CONSTANT(SQRT_2, 1.41421356237309504880168872420969807856967187537L)
  32. LOL_MATH_CONSTANT(SQRT_3, 1.73205080756887729352744634150587236694280525381L)
  33. LOL_MATH_CONSTANT(SQRT_1_2, 0.70710678118654752440084436210484903928483593768L)
  34. #undef LOL_MATH_CONSTANT
  35. } // namespace lol