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           eval_d/3,
    8           ceiling_d/3,
    9           floor_d/3,
   10           integerp/3,
   11           numbers_only/2,
   12           set_clpcd/1]).   13
   14:- multifile
   15        cast_d/3,
   16        compare_d/4,
   17        div_d/4,
   18        ceiling_d/3,
   19        floor_d/3,
   20        eval_d/3,
   21        integerp/3,
   22        numbers_only/2,
   23        clpcd_module/2.   24
   25:- dynamic
   26        active_clpcd/1.   27
   28set_clpcd(C) :-
   29    retractall(active_clpcd(_)),
   30    assertz(active_clpcd(C)).
   31
   32clpcd_module(Module) :-
   33    active_clpcd(CD),
   34    clpcd_module(CD, Module)