Fast IFS using RPN notation
python
c
x86-64
nasm
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1234567891011121314151617181920212223242526272829303132333435363738394041
  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 __RPN_CONFIG__
  20. #define __RPN_CONFIG__
  21. /**@file config.h
  22. * @brief Global definition for all C files
  23. */
  24. /**@brief The programms is under GPL */
  25. #define _GNU_SOURCE
  26. /**@brief Allow fancy method declaration by indicating arguments list
  27. * explicitly
  28. * @param name char* The method name
  29. * @param callback The C function to call
  30. * @param flags int Python flags for method call options
  31. * @param header char* List of arguments
  32. * @param docstring char* The method documentation
  33. */
  34. #define PYRPN_method(name, callback, flags, header, docstring) \
  35. {name, (PyCFunction)callback, flags, \
  36. PyDoc_STR(name "("header ")\n--\n\n" docstring)}
  37. #endif