Advertisement
Guest User

Untitled

a guest
Sep 26th, 2017
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.88 KB | None | 0 0
  1. function bahn_with_any( self::Ptr{Void}, element::Ptr{Void}, generators::Ptr{Void},
  2. action::Ptr{Void} )
  3. work_set = [reinterpret(Int,element)]
  4. return_set = [reinterpret(Int,element)]
  5. generator_length = gap_LengthPlist(generators)
  6. const xx = i->j->i==j
  7. while length(work_set) != 0
  8. current_element = pop!(work_set)
  9. for current_generator_number = 1:generator_length
  10. current_generator = gap_ListElement(generators,current_generator_number)
  11. current_result = reinterpret(Int,gap_CallFunc2Args(action,
  12. reinterpret(Ptr{Void},current_element),current_generator))::Int
  13. if ! any( xx(current_result), return_set )
  14. push!( work_set, current_result )
  15. push!( return_set, current_result )
  16. end
  17. end
  18. end
  19. return gap_True
  20. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement