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.

rpn_ifs.h 1.2KB

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_ifs__h__
  20. #define __rpn_ifs__h__
  21. #include "config.h"
  22. #include "rpn_jit.h"
  23. /**@defgroup ifs Iterated function system
  24. * @brief IFS implementation with RPN expressions
  25. *
  26. * IFS are basically a list of @ref ifs_if associated with a probability
  27. * of evaluation.
  28. *
  29. * This implementation aims to :
  30. * - optimize @ref ifs_if calls
  31. * - optimize random number generation and IF random calls
  32. *
  33. * @note It aims to provide an API close to @ref ifs_if API, in order to
  34. * be able to use both IFS and IF almost tansparently via Python API.
  35. */
  36. #endif