1:- module(clpcd_domain_ops,
    2          [ active_clpcd/1,
    3            cast_d/3,
    4            clpcd_module/1,
    5            compare_d/4,
    6            div_d/4,
    7            rsgn_d/4,
    8            eval_d/3,
    9            ceiling_d/3,
   10            floor_d/3,
   11            integerp/3,
   12            numbers_only/2,
   13            pmone/1,
   14            set_clpcd/1
   15          ]).   16
   17:- multifile
   18        cast_d/3,
   19        compare_d/4,
   20        div_d/4,
   21        rsgn_d/4,
   22        ceiling_d/3,
   23        floor_d/3,
   24        eval_d/3,
   25        integerp/3,
   26        numbers_only/2,
   27        clpcd_module/2.   28
   29:- dynamic
   30        active_clpcd/1.   31
   32set_clpcd(C) :-
   33    retractall(active_clpcd(_)),
   34    assertz(active_clpcd(C)).
   35
   36clpcd_module(Module) :-
   37    active_clpcd(CD),
   38    clpcd_module(CD, Module).
   39
   40pmone(1).
   41pmone(-1)