calling_conventions_mf.py 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # Copyright Nicolas Lelong, 2010. Distributed under the Boost
  2. # Software License, Version 1.0 (See accompanying
  3. # file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
  4. """
  5. >>> from calling_conventions_mf_ext import *
  6. >>> x = X__cdecl()
  7. >>> x.f0()
  8. >>> x.g0()
  9. >>> x.f1(1)
  10. >>> x.g1(1)
  11. >>> x.f2(1, 2)
  12. >>> x.g2(1, 2)
  13. >>> x.f3(1, 2, 3)
  14. >>> x.g3(1, 2, 3)
  15. >>> x.f4(1, 2, 3, 4)
  16. >>> x.g4(1, 2, 3, 4)
  17. >>> x.f5(1, 2, 3, 4, 5)
  18. >>> x.g5(1, 2, 3, 4, 5)
  19. >>> x.f6(1, 2, 3, 4, 5, 6)
  20. >>> x.g6(1, 2, 3, 4, 5, 6)
  21. >>> x.f7(1, 2, 3, 4, 5, 6, 7)
  22. >>> x.g7(1, 2, 3, 4, 5, 6, 7)
  23. >>> x.f8(1, 2, 3, 4, 5, 6, 7, 8)
  24. >>> x.g8(1, 2, 3, 4, 5, 6, 7, 8)
  25. >>> x.hash
  26. 2155
  27. >>> x = X__stdcall()
  28. >>> x.f0()
  29. >>> x.g0()
  30. >>> x.f1(1)
  31. >>> x.g1(1)
  32. >>> x.f2(1, 2)
  33. >>> x.g2(1, 2)
  34. >>> x.f3(1, 2, 3)
  35. >>> x.g3(1, 2, 3)
  36. >>> x.f4(1, 2, 3, 4)
  37. >>> x.g4(1, 2, 3, 4)
  38. >>> x.f5(1, 2, 3, 4, 5)
  39. >>> x.g5(1, 2, 3, 4, 5)
  40. >>> x.f6(1, 2, 3, 4, 5, 6)
  41. >>> x.g6(1, 2, 3, 4, 5, 6)
  42. >>> x.f7(1, 2, 3, 4, 5, 6, 7)
  43. >>> x.g7(1, 2, 3, 4, 5, 6, 7)
  44. >>> x.f8(1, 2, 3, 4, 5, 6, 7, 8)
  45. >>> x.g8(1, 2, 3, 4, 5, 6, 7, 8)
  46. >>> x.hash
  47. 2155
  48. >>> x = X__fastcall()
  49. >>> x.f0()
  50. >>> x.g0()
  51. >>> x.f1(1)
  52. >>> x.g1(1)
  53. >>> x.f2(1, 2)
  54. >>> x.g2(1, 2)
  55. >>> x.f3(1, 2, 3)
  56. >>> x.g3(1, 2, 3)
  57. >>> x.f4(1, 2, 3, 4)
  58. >>> x.g4(1, 2, 3, 4)
  59. >>> x.f5(1, 2, 3, 4, 5)
  60. >>> x.g5(1, 2, 3, 4, 5)
  61. >>> x.f6(1, 2, 3, 4, 5, 6)
  62. >>> x.g6(1, 2, 3, 4, 5, 6)
  63. >>> x.f7(1, 2, 3, 4, 5, 6, 7)
  64. >>> x.g7(1, 2, 3, 4, 5, 6, 7)
  65. >>> x.f8(1, 2, 3, 4, 5, 6, 7, 8)
  66. >>> x.g8(1, 2, 3, 4, 5, 6, 7, 8)
  67. >>> x.hash
  68. 2155
  69. """
  70. def run(args = None):
  71. import sys
  72. import doctest
  73. if args is not None:
  74. sys.argv = args
  75. return doctest.testmod(sys.modules.get(__name__))
  76. if __name__ == '__main__':
  77. print("running...")
  78. import sys
  79. status = run()[0]
  80. if (status == 0): print("Done.")
  81. sys.exit(status)