Physics2D.inc
上传用户:zkjn0718
上传日期:2021-01-01
资源大小:776k
文件大小:3k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. {.$DEFINE EXTENDED_PRECISION}
  2. {$DEFINE DOUBLE_PRECISION}
  3. {.$DEFINE HANDLE_EXCEPTION}
  4. {$IFNDEF EXTENDED_PRECISION}
  5.    {$IFNDEF DOUBLE_PRECISION}
  6.       {$DEFINE SINGLE_PRECISION}
  7.    {$ENDIF}
  8. {$ELSE}
  9.    {$UNDEF DOUBLE_PRECISION}
  10. {$ENDIF}
  11. { Though Delphi 2007(up) supports operator overloading but in fact
  12.   Add(vector1, vector2) performs faster than vector1 + vector2. }
  13. {$DEFINE BETTER_PERFORMANCE}
  14. {.$DEFINE DEBUG_SIMULATE_D2007}
  15. {.$DEFINE DEBUG_SIMULATE_D2005}
  16. {.$DEFINE DEBUG_SIMULATE_D7}
  17. // Operator overloading and inling availability
  18. // BDS 2010 (BDS 7.0)
  19. {$IFDEF VER210}
  20.   {$DEFINE OP_OVERLOAD}
  21.   {$DEFINE INLINE_AVAIL}
  22.   {$DEFINE D2009UP}
  23. {$ENDIF}
  24. // BDS 2009 (BDS 6.0)
  25. {$IFDEF VER200}
  26.   {$DEFINE OP_OVERLOAD}
  27.   {$DEFINE INLINE_AVAIL}
  28.   {$DEFINE D2009UP}
  29. {$ENDIF}
  30. // BDS 2007 (BDS 5.0)
  31. {$IFDEF VER190}
  32.   {$DEFINE OP_OVERLOAD}
  33.   {$DEFINE INLINE_AVAIL}
  34. {$ENDIF}
  35. // BDS 2006
  36. {$IFDEF VER180}
  37.   {$DEFINE OP_OVERLOAD}
  38.   {$DEFINE INLINE_AVAIL}
  39. {$ENDIF}
  40. {$IFDEF VER170}
  41.   {$DEFINE INLINE_AVAIL}
  42. {$ENDIF}
  43. {$IFNDEF OP_OVERLOAD}
  44.    {$IFNDEF VER170}
  45.       {$IFNDEF VER160}
  46.          {$IFNDEF VER150}
  47.             {$IFNDEF VER140}
  48.                {$IFNDEF VER130}
  49.                   {$IFNDEF VER125}
  50.                      {$IFNDEF VER120}
  51.                         {$IFNDEF VER110}
  52.                            {$IFNDEF VER100}
  53.                               {$IFNDEF VER93}
  54.                                  {$IFNDEF VER90}
  55.                                     {$IFNDEF VER80}
  56.                                        // Must be using a Delphi newer than D2010
  57.                                        {$DEFINE OP_OVERLOAD}
  58.                                        {$DEFINE INLINE_AVAIL}
  59.                                        {$IFNDEF VER190}
  60.                                           {$IFNDEF VER180}
  61.                                              {$IFNDEF VER170}
  62.                                                 {$DEFINE D2009UP}
  63.                                              {$ENDIF}
  64.                                           {$ENDIF}
  65.                                        {$ENDIF}
  66.                                     {$ENDIF}
  67.                                  {$ENDIF}
  68.                               {$ENDIF}
  69.                            {$ENDIF}
  70.                         {$ENDIF}
  71.                      {$ENDIF}
  72.                   {$ENDIF}
  73.                {$ENDIF}
  74.             {$ENDIF}
  75.          {$ENDIF}
  76.       {$ENDIF}
  77.    {$ENDIF}
  78. {$ENDIF}
  79. {$IFDEF DEBUG_SIMULATE_D2007}
  80.    {$UNDEF D2009UP}
  81. {$ENDIF}
  82. {$IFDEF DEBUG_SIMULATE_D2005}
  83.    {$UNDEF D2009UP}
  84.    {$UNDEF OP_OVERLOAD}
  85. {$ENDIF}
  86. {$IFDEF DEBUG_SIMULATE_D7}
  87.    {$UNDEF D2009UP}
  88.    {$UNDEF OP_OVERLOAD}
  89.    {$UNDEF INLINE_AVAIL}
  90. {$ENDIF}
  91. {$IFDEF OP_OVERLOAD}
  92.    {$DEFINE CLASSVAR_AVAIL}
  93. {$ENDIF}
  94. {$IFDEF BETTER_PERFORMANCE}
  95.    {$UNDEF OP_OVERLOAD}
  96. {$ENDIF}