bitmap.doxy 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. /* StarPU --- Runtime system for heterogeneous multicore architectures.
  2. *
  3. * Copyright (C) 2014,2015,2017 CNRS
  4. *
  5. * StarPU is free software; you can redistribute it and/or modify
  6. * it under the terms of the GNU Lesser General Public License as published by
  7. * the Free Software Foundation; either version 2.1 of the License, or (at
  8. * your option) any later version.
  9. *
  10. * StarPU is distributed in the hope that it will be useful, but
  11. * WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  13. *
  14. * See the GNU Lesser General Public License in COPYING.LGPL for more details.
  15. */
  16. /*! \defgroup API_Bitmap Bitmap
  17. \brief This section describes the bitmap facilities provided by StarPU.
  18. \struct starpu_bitmap
  19. \ingroup API_Bitmap
  20. todo
  21. \fn struct starpu_bitmap *starpu_bitmap_create(void)
  22. \ingroup API_Bitmap
  23. create a empty starpu_bitmap
  24. \fn void starpu_bitmap_destroy(struct starpu_bitmap *b)
  25. \ingroup API_Bitmap
  26. free \b
  27. \fn void starpu_bitmap_set(struct starpu_bitmap *b, int e)
  28. \ingroup API_Bitmap
  29. set bit \p e in \p b
  30. \fn void starpu_bitmap_unset(struct starpu_bitmap *b, int e)
  31. \ingroup API_Bitmap
  32. unset bit \p e in \p b
  33. \fn void starpu_bitmap_unset_all(struct starpu_bitmap *b)
  34. \ingroup API_Bitmap
  35. unset all bits in \p b
  36. \fn int starpu_bitmap_get(struct starpu_bitmap *b, int e)
  37. \ingroup API_Bitmap
  38. return true iff bit \p e is set in \p b
  39. \fn void starpu_bitmap_unset_and(struct starpu_bitmap *a, struct starpu_bitmap *b, struct starpu_bitmap *c)
  40. \ingroup API_Bitmap
  41. Basically compute \c starpu_bitmap_unset_all(\p a) ; \p a = \p b & \p c;
  42. \fn void starpu_bitmap_or(struct starpu_bitmap *a, struct starpu_bitmap *b)
  43. \ingroup API_Bitmap
  44. Basically compute \p a |= \p b
  45. \fn int starpu_bitmap_and_get(struct starpu_bitmap *b1, struct starpu_bitmap *b2, int e)
  46. \ingroup API_Bitmap
  47. return 1 iff \p e is set in \p b1 AND \p e is set in \p b2
  48. \fn int starpu_bitmap_cardinal(struct starpu_bitmap *b)
  49. \ingroup API_Bitmap
  50. return the number of set bits in \p b
  51. \fn int starpu_bitmap_first(struct starpu_bitmap *b)
  52. \ingroup API_Bitmap
  53. return the index of the first set bit of \p b, -1 if none
  54. \fn int starpu_bitmap_last(struct starpu_bitmap *b)
  55. \ingroup API_Bitmap
  56. return the position of the last set bit of \p b, -1 if none
  57. \fn int starpu_bitmap_next(struct starpu_bitmap *b, int e)
  58. \ingroup API_Bitmap
  59. return the position of set bit right after \p e in \p b, -1 if none
  60. \fn int starpu_bitmap_has_next(struct starpu_bitmap *b, int e)
  61. \ingroup API_Bitmap
  62. todo
  63. */