• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /barrelfish-2018-10-04/usr/eclipseclp/Kernel/lib/

Lines Matching refs:fd

41 			the 'fd' attribute.
75 :- export struct(fd(domain, min, max, any)).
88 * fd with domain:D
92 * fd(_, _, _, D)
94 * min of fd
95 * is 3. All operations on the fd/4 structure should be done
104 :- meta_attribute(fd, [
114 suspension_lists: [min:(min of fd),
115 max:(max of fd),
116 any:(any of fd),
117 domain:(any of fd),
118 bounds:[min of fd,max of fd] ]
132 :- export macro(property(functor) of fd, tr_fd_domain_out/2, [write, protect_arg]).
243 tr_fd_domain_out(_{fd:(fd with domain:dom(D, _))}, T) :-
246 tr_fd_domain_out(fd with domain:dom(D, _), T) :-
299 Attr = fd with [],
301 unify_term_domain(Y{fd:AttrY}, AttrX, XSuspAttr) :-
313 AttrY = fd with domain:DomY,
314 AttrX = fd with domain:DomX,
318 attr_instantiate(AttrX, Y) % wake the fd lists
323 merge_suspension_lists(min of fd, AttrX, min of fd, AttrY),
324 merge_suspension_lists(max of fd, AttrX, max of fd, AttrY),
325 merge_suspension_lists(any of fd, AttrX, any of fd, AttrY)
331 Attr = fd with [domain:D],
340 schedule_suspensions(any of fd, Attr),
344 schedule_suspensions(min of fd, Attr)
349 schedule_suspensions(max of fd, Attr)
375 test_unify_term_domain(Term, fd with domain:D) :-
380 test_unify_term_domain(Y{fd:AttrY}, AttrX) :-
387 test_unify_domain_domain(Y, fd with domain:DomX, fd with domain:DomY) :-
401 compare_instances_domain(Res, _X{fd:AttrX}, Y) ?-
403 compare_instances_domain(Res, X, _Y{fd:AttrY}) ?- free(X),
405 compare_instances_domain(Res, X, _Y{fd:AttrY}) ?- nonvar(X),
408 compare_instances_attr_any(Res, AttrX, _Y{fd:AttrY}) ?-
432 compare_instances_iattr_attr(Res, fd{domain:DX}, fd{domain:DY}) ?-
437 compare_instances_const_attr(Res, X, fd{domain:DY}) ?-
443 compare_instances_attr_const(Res, fd{domain:DX}, Y) ?-
452 copy_term_domain(X{fd:AttrX}, Copy) :-
460 copy_term_domain(_, Copy, fd with domain:dom(D, S)) :-
464 add_attribute(Copy, ND, fd).
466 empty_domain(D, fd with [domain:D, any:[], min:[], max:[]]).
472 suspensions_domain(_{fd:AttrX}, Susps, Susps0) :-
477 susp_domain(fd with [min:Mi, max:Ma, any:B], [Mi,Ma,B|Susps], Susps).
484 delayed_goals_number_domain(_{fd:AttrX}, N) :-
491 dgn_domain(fd with [any:B, min:Mi, max:Ma], N) :-
565 set_domain_var1(Var{fd:(fd with [])}, Dom) :-
568 add_attribute(Var, Dom, fd). % will be notified in the handler
570 add_attribute(Var, Dom, fd),
610 insert_suspension(Var, Susp, any of fd, fd),
756 is_domain(_{fd:(fd with [])}) :- -?-> true.
758 is_finite(_{fd:(fd with [])}) :- -?-> true.
762 is_integer_domain(_{fd:(fd with domain:D)}) :-
766 % Var is guaranteed to have an fd attribute!
767 get_fd_bounds(_{fd:(fd with [domain:D])}, L, H) :- -?-> !,
770 % Var is guaranteed to have an fd attribute!
779 dvar_domain(_{fd:(fd with [domain:D])}, Domain) :-
787 get_attribute(_{fd:Attr}, Meta) :-
792 dvar_attribute(_{fd:Attr}, DS) :-
808 dvar_update(Var{fd:DS}, NewDom) :-
818 DS = fd with domain:dom(_, OldSize),
831 dvar_update_nocheck(Var{fd:DS}, ND, Size) :-
843 dvar_msg(_A{fd:fd{domain:DA}}, B, M) ?- !,
845 dvar_msg(A, _B{fd:fd{domain:DB}}, M) ?- !,
855 msg_domain(DA, _B{fd:fd{domain:DB}}, M) ?- !,
858 add_attribute(M, Dom, fd).
863 add_attribute(M, Dom, fd)
867 add_attribute(M, Dom, fd)
882 indomain(Var{fd:(fd with domain:D)}) :-
892 par_indomain(Var{fd:(fd with domain:D)}) :-