Fast IFS using RPN notation
python
c
x86-64
nasm
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

python_const.h 2.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485
  1. /*
  2. * Copyright (C) 2020 Weber Yann
  3. *
  4. * This file is part of pyrpn.
  5. *
  6. * pyrpn is free software: you can redistribute it and/or modify
  7. * it under the terms of the GNU General Public License as published by
  8. * the Free Software Foundation, either version 3 of the License, or
  9. * any later version.
  10. *
  11. * pyrpn is distributed in the hope that it will be useful,
  12. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  13. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  14. * GNU General Public License for more details.
  15. *
  16. * You should have received a copy of the GNU General Public License
  17. * along with pyrpn. If not, see <http://www.gnu.org/licenses/>.
  18. */
  19. #ifndef _PYTHON_CONST_H__
  20. #define _PYTHON_CONST_H__
  21. #include "config.h"
  22. #include <errno.h>
  23. #define PY_SSIZE_T_CLEAN
  24. #include <Python.h>
  25. #include "structmember.h"
  26. #include "rpn_mutate.h"
  27. #include "rpn_if_default.h"
  28. /**@file python_const.h
  29. * @brief Python pyrpn.const module headers
  30. * @ingroup python_ext
  31. * @ingroup pymod_pyrpn_const
  32. */
  33. /**@defgroup pymod_pyrpn_const module pyrpn.const
  34. * @brief A module containing constant values
  35. *
  36. * Constants values are @ref ifs_if_default_posflag
  37. * and @ref ifs_if_default_resflag
  38. * @ingroup pymod_pyrpn
  39. */
  40. /**@brief pyrpn.const module specs
  41. * @ingroup pymod_pyrpn */
  42. extern PyModuleDef rpnconstmodule;
  43. /**@defgroup pymod_pyrpn_RPNIterParams pyrpn.RPNIterParams
  44. * @brief namedtuple representing @ref pymod_pyrpn_RPNExprIter parameters
  45. * @ingroup pymod_pyrpn */
  46. /**@brief RPNIterParams named tuple for RPNIterExpr parameters
  47. * @ingroup pymod_pyrpn_RPNIterParams */
  48. extern PyTypeObject rpnif_params_SeqDesc;
  49. /**@brief @ref rpnif_params_SeqDesc named tuple description
  50. * @ingroup pymod_pyrpn_RPNIterParams */
  51. extern PyStructSequence_Desc rpnif_params_desc;
  52. /**@defgroup pymod_pyrpn_RPNTokenTypes pyrpn.RPNTokenTypes
  53. * @brief namedtuple with @ref pymod_pyrpn_token_Token subclass
  54. * @ingroup pymod_pyrpn */
  55. /**@brief RPNTokenTypes named tuple with token types */
  56. extern PyTypeObject rpn_token_types_SeqDesc;
  57. /**@brief @ref rpn_token_types_SeqDesc named tuple description */
  58. extern PyStructSequence_Desc rpn_token_types_desc;
  59. /**@defgroup pymod_pyrpn_RPNMutationParams pyrpn.RPNMutationParams
  60. * @brief namedtuple storing mutation parameters
  61. * @ingroup pymod_pyrpn */
  62. /**@brief RPNMutationParams named tuple with mutation parameters */
  63. extern PyTypeObject rpn_mutation_params_SeqDesc;
  64. /**@brief @ref rpn_mutation_params_SeqDesc named tuple description */
  65. extern PyStructSequence_Desc rpn_mutation_params_desc;
  66. /**@brief Default values for mutations parameters */
  67. extern rpn_mutation_params_t rpn_mutation_params_default;
  68. /**@brief pyrpn.const module initialisation function
  69. * @return The initialized module
  70. * @ingroup pymod_pyrpn */
  71. PyObject *rpnconst_init(void);
  72. #endif