FrameworkMath.h 916 B

12345678910111213141516171819202122232425262728293031323334353637
  1. #ifndef FrameworkMath_H
  2. #define FrameworkMath_H
  3. #include <math.h>
  4. #include "Betriebssystem.h"
  5. #define PI 3.14159265
  6. // Gibt die größere Zahl zurück ohne if zu verwenden
  7. // Funktioniert nur, wenn die Zahlen nicht mehr als 16 bits verwenden
  8. // a: Eine der beiden Zahlen
  9. // b: Eine der beiden Zahlen
  10. inline int maxInt( int a, int b )
  11. {
  12. return ( ( ( a - b ) >> 16 ) & b ) | ( ~( ( a - b ) >> 16 ) & a );
  13. }
  14. // Gibt die kleinere Zahl zurück ohne if zu verwenden
  15. // Funktioniert nur, wenn die Zahlen nicht mehr als 16 bits verwenden
  16. // a: Eine der beiden Zahlen
  17. // b: Eine der beiden Zahlen
  18. inline int minInt( int a, int b )
  19. {
  20. return ( ( ( a - b ) >> 16 ) & a ) | ( ~( ( a - b ) >> 16 ) & b );
  21. }
  22. // Gibt den positiven Wert eines Zeichnunges zurück.
  23. // Klappt nur, wenn der - und der < 0 operator definiert ist
  24. template< typename T>
  25. inline T abs( T t )
  26. {
  27. if( t < 0 )
  28. return -t;
  29. return t;
  30. }
  31. #endif