このディレクトリの索引
#  
#  目標を限界度数成功させてその項をリストとして得る
#  

目標を限界度数成功させてその項をならびとして得る(_限界度数,_目標,_目標ならび) :-
        findall_n(_限界度数,_目標,_目標ならび).

findall_n(_限界度数,_目標,_目標ならび) :-
        message_queue_create(_キュー番号),
        (   thread_create(度数(_限界度数,_キュー番号),_,[]);
            findnall(_目標,(
                        thread_get_message(_キュー番号,_項),
                        ( _項 = 0,!,fail;call(_目標))),
                    _目標ならび)).

度数(_限界度数,_キュー番号) :-
        between(1,_限界度数,_度数),
        _剰余 is _度数 mod ( _限界度数 + 1 ),
        thread_send_message(_キュー番号,_剰余),
        _度数 = _限界度数.