/[ascend]/trunk/base/generic/solver/slv_client.h
ViewVC logotype

Diff of /trunk/base/generic/solver/slv_client.h

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1067 by johnpye, Sun Jan 7 10:02:41 2007 UTC revision 1068 by johnpye, Mon Jan 8 04:45:47 2007 UTC
# Line 152  Line 152 
152      the system pointer be provided when asking for certain properties      the system pointer be provided when asking for certain properties
153      or services.      or services.
154    
155        @section varlists What the Solver Sees
156    
157        The 'analysis' routines (see analyse.h) provide a number of lists to the
158        solver, including real-valued solver variables, relations, WHENs,
159        boundaries, logical relations, and some more.
160    
161        There are 'master' lists, which contain the lists of entities in their
162        'natural' order as discovered in the Instance hierarchy.
163    
164        Then there are the 'solvers' (ie solver's) lists, which are reordered in
165        a formed defined by the solver. "the solvers var list is to be fetched by
166        the solvers".
167    
168        Eventually the solvers_varlist will only include those vars the specific
169        solver needs to know about. For the moment, the content of the two lists
170        is the same, but the ordering is not. The master list is in the order
171        collected. The solvers list is reordered in some useful fashion defined
172        elsewhere.
173    
174        Parameters are problem invariant constants that the GUI
175        user might change before solving another problem using the
176        same MODEL.
177    
178        @NOTE
179            Efficiency note relating to slv_count_master_*: if you are using this with a match anything
180            filter, you would be better off just calling the slv_get_num_*
181            function for the list in question.
182    
183        @TODO where do these solver's lists get reordered?
184    
185        @subsection solverslists Solver's Lists
186        If the system already
187        has such a list, the old list will be freed unless the two lists are
188        in fact the same (in which case why are you calling this?).
189        Size is the length of the vlist (excluding the terminal NULL entry).
190        The sindex field of each var in the list should match it's list position. @par
191    
192        The list should be NULL terminated and the size should be the length
193        of the list  EXCLUDING  the terminal NULL.
194    
195      @section faq FAQ      @section faq FAQ
196    
197      @subsection whatisvar What is a variable?      @subsection whatisvar What is a variable?
# Line 576  extern void slv_set_solvers_var_list(slv Line 616  extern void slv_set_solvers_var_list(slv
616                                       int size);                                       int size);
617  /**<  /**<
618      Sets the system's variable list to vlist.      Sets the system's variable list to vlist.
619        @ref solverslists
620      @see slv_set_solvers_bnd_list()  */
  **/  
621  extern void slv_set_solvers_par_list(slv_system_t sys,  extern void slv_set_solvers_par_list(slv_system_t sys,
622                                       struct var_variable **vlist,                                       struct var_variable **vlist,
623                                       int size);                                       int size);
624  /**<  /**<
625      Sets the system's parameters list to vlist.      Sets the system's parameters list to vlist.
626        @ref solverslists
     @see slv_set_solvers_bnd_list()  
627  */  */
628  extern void slv_set_solvers_unattached_list(slv_system_t sys,  extern void slv_set_solvers_unattached_list(slv_system_t sys,
629                                              struct var_variable **vlist,                                              struct var_variable **vlist,
630                                              int size);                                              int size);
631  /**<  /**<
632      Sets the system's unattached variable list to vlist.      Sets the system's unattached variable list to vlist.
633        @ref solverslists
     @see slv_set_solvers_bnd_list()  
634  */  */
635    
636  extern void slv_set_solvers_dvar_list(slv_system_t sys,  extern void slv_set_solvers_dvar_list(slv_system_t sys,
# Line 601  extern void slv_set_solvers_dvar_list(sl Line 638  extern void slv_set_solvers_dvar_list(sl
638                                        int size);                                        int size);
639  /**<  /**<
640      Sets the system's discrete varialbe list to dvlist.      Sets the system's discrete varialbe list to dvlist.
641        @ref solverslists
     @see slv_set_solvers_bnd_list()  
642  */  */
643    
644  extern void slv_set_solvers_disunatt_list(slv_system_t sys,  extern void slv_set_solvers_disunatt_list(slv_system_t sys,
# Line 610  extern void slv_set_solvers_disunatt_lis Line 646  extern void slv_set_solvers_disunatt_lis
646                                            int size);                                            int size);
647  /**<  /**<
648      Sets the system's unattached discrete variable list to dvlist.      Sets the system's unattached discrete variable list to dvlist.
649        @ref solverslists
     @see slv_set_solvers_bnd_list()  
650  */  */
651    
652  extern void slv_set_solvers_rel_list(slv_system_t sys,  extern void slv_set_solvers_rel_list(slv_system_t sys,
653                                       struct rel_relation **rlist,                                       struct rel_relation **rlist,
654                                       int size);                                       int size);
655  /**< Sets the system's relation list to rlist.  /**< Sets the system's relation list to rlist.
656        @ref solverslists
     @see slv_set_solvers_bnd_list()  
657  */  */
658    
659  extern void slv_set_solvers_condrel_list(slv_system_t sys,  extern void slv_set_solvers_condrel_list(slv_system_t sys,
660                                           struct rel_relation **clist,                                           struct rel_relation **clist,
661                                           int size);                                           int size);
662  /**< Sets the system's conditional relation list to clist.  /**< Sets the system's conditional relation list to clist.
663      @see slv_set_solvers_bnd_list()      @ref solverslists
664  */  */
665    
666  extern void slv_set_solvers_obj_list(slv_system_t sys,  extern void slv_set_solvers_obj_list(slv_system_t sys,
667                                       struct rel_relation **rlist,                                       struct rel_relation **rlist,
668                                       int size);                                       int size);
669  /**< Sets the system's objective relation list to rlist.  /**< Sets the system's objective relation list to rlist.
670      @see slv_set_solvers_bnd_list()      @ref solverslists
671  */  */
672    
673  extern void slv_set_solvers_logrel_list(slv_system_t sys,  extern void slv_set_solvers_logrel_list(slv_system_t sys,
674                                          struct logrel_relation **lrlist,                                          struct logrel_relation **lrlist,
675                                          int size);                                          int size);
676  /**< Sets the system's logical relation list to lrlist.  /**< Sets the system's logical relation list to lrlist.
677      @see slv_set_solvers_bnd_list()      @ref solverslists
678  */  */
679    
680  extern void slv_set_solvers_condlogrel_list(slv_system_t sys,  extern void slv_set_solvers_condlogrel_list(slv_system_t sys,
681                                              struct logrel_relation **lrlist,                                              struct logrel_relation **lrlist,
682                                              int size);                                              int size);
683  /**< Sets the system's conditional relation list to lrlist.  /**< Sets the system's conditional relation list to lrlist.
684      @see slv_set_solvers_bnd_list()      @ref solverslists
685  */  */
686    
687  extern void slv_set_solvers_when_list(slv_system_t sys,  extern void slv_set_solvers_when_list(slv_system_t sys,
688                                        struct w_when **wlist,                                        struct w_when **wlist,
689                                        int size);                                        int size);
690  /**< Sets the system's when list to wlist.  /**< Sets the system's when list to wlist.
691      @see slv_set_solvers_bnd_list()      @ref solverslists
692  */  */
693    
694  extern void slv_set_solvers_bnd_list(slv_system_t sys,  extern void slv_set_solvers_bnd_list(slv_system_t sys,
695                                       struct bnd_boundary **blist,                                       struct bnd_boundary **blist,
696                                       int size);                                       int size);
697  /**<  /**<
698      Sets the system's boundary list to blist. If the system already      Sets the system's boundary list to blist.
699      has such a list, the old list will be freed unless the two lists are      @ref solverslists
     in fact the same (in which case why are you calling this?).  
     Size is the length of the vlist (excluding the terminal NULL entry).  
     The sindex field of each var in the list should match it's list position. @par  
   
     The list should be NULL terminated and the size should be the length  
     of the list  EXCLUDING  the terminal NULL.  
   
     @NOTE  
         There are now 2 var lists: the master var list pulled of the instance  
         tree, and the solvers var list is to be fetched by the solvers.  
         Eventually the solvers_varlist will only include those vars the specific  
         solver needs to know about.  
         For the moment, the content of the two lists is the same, but the ordering  
         is not. The master list is in the order collected. The solvers list  
         is reordered in some useful fashion defined elsewhere.  
700  */  */
701    
702  ASC_DLLSPEC struct var_variable**slv_get_solvers_var_list(slv_system_t sys);  ASC_DLLSPEC struct var_variable**slv_get_solvers_var_list(slv_system_t sys);
703  /**< Returns the most recently set variable list (never NULL) from the system.  /**< Returns the most recently set variable list (never NULL) from the system.
704      @see slv_get_master_disunatt_list()      @ref solverslists
705  */  */
706    
707  extern struct var_variable **slv_get_solvers_par_list(slv_system_t sys);  extern struct var_variable **slv_get_solvers_par_list(slv_system_t sys);
708  /**< Returns the most recently set par list (never NULL) from the system.  /**< Returns the most recently set par list (never NULL) from the system.
709      @see slv_get_master_disunatt_list()      @ref solverslists
710  */  */
711  ASC_DLLSPEC struct var_variable **slv_get_solvers_unattached_list(slv_system_t sys);  ASC_DLLSPEC struct var_variable **slv_get_solvers_unattached_list(slv_system_t sys);
712  /**< Returns the most recently set unattached variable list (never NULL) from the system.  /**< Returns the most recently set unattached variable list (never NULL) from the system.
713      @see slv_get_master_disunatt_list()      @ref solverslists
714  */  */
715    
716  extern struct dis_discrete **slv_get_solvers_dvar_list(slv_system_t sys);  extern struct dis_discrete **slv_get_solvers_dvar_list(slv_system_t sys);
717  /**< Returns the most recently set discrete variable list (never NULL) from the system.  /**< Returns the most recently set discrete variable list (never NULL) from the system.
718      @see slv_get_master_disunatt_list()      @ref solverslists
719  */  */
720  extern struct dis_discrete **slv_get_solvers_disunatt_list(slv_system_t sys);  extern struct dis_discrete **slv_get_solvers_disunatt_list(slv_system_t sys);
721  /**< Returns the most recently set unattached discrete variable list (never NULL)  from the system.  /**< Returns the most recently set unattached discrete variable list (never NULL)  from the system.
722      @see slv_get_master_disunatt_list()      @ref solverslists
723  */  */
724  ASC_DLLSPEC struct var_variable **slv_get_master_var_list(slv_system_t sys);  ASC_DLLSPEC struct var_variable **slv_get_master_var_list(slv_system_t sys);
725  /**< Returns the most recently set master variable list (never NULL) from the system.  /**< Returns the most recently set master variable list (never NULL) from the system.
726      @see slv_get_master_disunatt_list()      @ref masterlists
727  */  */
728  ASC_DLLSPEC struct var_variable **slv_get_master_par_list(slv_system_t sys);  ASC_DLLSPEC struct var_variable **slv_get_master_par_list(slv_system_t sys);
729  /**< Returns the most recently set master par list (never NULL) from the system.  /**< Returns the most recently set master par list (never NULL) from the system.
730      @see slv_get_master_disunatt_list()      @ref masterlists
731  */  */
732  ASC_DLLSPEC struct var_variable **slv_get_master_unattached_list(slv_system_t sys);  ASC_DLLSPEC struct var_variable **slv_get_master_unattached_list(slv_system_t sys);
733  /**< Returns the most recently set master unattached variable list (never NULL) from the system.  /**< Returns the most recently set master unattached variable list (never NULL) from the system.
734      @see slv_get_master_disunatt_list()      @ref masterlists
735  */  */
736  extern struct dis_discrete **slv_get_master_dvar_list(slv_system_t sys);  extern struct dis_discrete **slv_get_master_dvar_list(slv_system_t sys);
737  /**< Returns the most recently set master discrete variable list (never NULL) from the system.  /**< Returns the most recently set master discrete variable list (never NULL) from the system.
738      @see slv_get_master_disunatt_list()      @ref masterlists
739  */  */
740  extern struct dis_discrete **slv_get_master_disunatt_list(slv_system_t sys);  extern struct dis_discrete **slv_get_master_disunatt_list(slv_system_t sys);
741  /** Returns the most recently set master unattached discrete variable list  /** Returns the most recently set master unattached discrete variable list
742      (never NULL) for the convenience of those who need it.<br><br>      (never NULL) for the convenience of those who need it.<br><br>
743        @ref masterlists
     @NOTE  
         There are now 2 var lists: the master var list pulled of the instance  
         tree, and the solvers var list to be handed to the solvers.  
         Eventually the solvers_varlist will only include those vars the specific  
         solver needs to know about.  
         For the moment, the content of the two lists is the same, but the ordering  
         is not. The master list is in the order collected. The solvers list  
         is reordered in some useful fashion defined by a client.  
         Solver clients don't need to know about the master list. UI clients may.<br><br>  
   
     Parameters are problem invariant constants that the GUI  
     user might change before solving another problem using the  
     same MODEL.  
744  */  */
745    
746  ASC_DLLSPEC struct rel_relation**slv_get_solvers_rel_list(slv_system_t sys);  ASC_DLLSPEC struct rel_relation**slv_get_solvers_rel_list(slv_system_t sys);
747  /**<  Returns the (NULL-terminated) list of solver relations. */  /**<
748        Returns the (NULL-terminated) list of solver relations.
749        @ref solverslists
750    */
751    
752  extern struct rel_relation **slv_get_solvers_condrel_list(slv_system_t sys);  extern struct rel_relation **slv_get_solvers_condrel_list(slv_system_t sys);
753  /**<  Returns the (NULL-terminated) list of solver conditional relations. */  /**<
754        Returns the (NULL-terminated) list of solver conditional relations.
755        @ref solverslists
756    */
757    
758  ASC_DLLSPEC struct rel_relation **slv_get_solvers_obj_list(slv_system_t sys);  ASC_DLLSPEC struct rel_relation **slv_get_solvers_obj_list(slv_system_t sys);
759  /**<  Returns the (NULL-terminated) list of solver objective relations. */  /**<
760        Returns the (NULL-terminated) list of solver objective relations.
761        @ref solverslists
762    */
763    
764  extern struct logrel_relation **slv_get_solvers_logrel_list(slv_system_t sys);  extern struct logrel_relation **slv_get_solvers_logrel_list(slv_system_t sys);
765  /**<  Returns the (NULL-terminated) list of solver logical relations. */  /**<
766        Returns the (NULL-terminated) list of solver logical relations.
767        @ref solverslists
768    */
769    
770  extern struct logrel_relation **slv_get_solvers_condlogrel_list(slv_system_t sys);  extern struct logrel_relation **slv_get_solvers_condlogrel_list(slv_system_t sys);
771  /**<  Returns the (NULL-terminated) list of solver conditional relations. */  /**<
772        Returns the (NULL-terminated) list of solver conditional relations.
773        @ref solverslists
774    */
775    
776  extern struct w_when **slv_get_solvers_when_list(slv_system_t sys);  extern struct w_when **slv_get_solvers_when_list(slv_system_t sys);
777  /**<  Returns the (NULL-terminated) list of solver whens. */  /**<
778        Returns the (NULL-terminated) list of solver whens.
779        @ref solverslists
780    */
781    
782  extern struct bnd_boundary **slv_get_solvers_bnd_list(slv_system_t sys);  extern struct bnd_boundary **slv_get_solvers_bnd_list(slv_system_t sys);
783  /**<  Returns the (NULL-terminated) list of solver boundaries. */  /**<
784        Returns the (NULL-terminated) list of solver boundaries.
785        @ref solverslists
786    */
787    
788  ASC_DLLSPEC struct rel_relation **slv_get_master_rel_list(slv_system_t sys);  ASC_DLLSPEC struct rel_relation **slv_get_master_rel_list(slv_system_t sys);
789  /**<  Returns the (NULL-terminated) list of master relations. */  /**<
790        Returns the (NULL-terminated) list of master relations.
791        @ref masterlists
792    */
793    
794  extern struct rel_relation **slv_get_master_condrel_list(slv_system_t sys);  extern struct rel_relation **slv_get_master_condrel_list(slv_system_t sys);
795  /**<  Returns the (NULL-terminated) list of master conditional relations. */  /**<
796        Returns the (NULL-terminated) list of master conditional relations.
797        @ref masterlists
798    */
799    
800  extern struct rel_relation **slv_get_master_obj_list(slv_system_t sys);  extern struct rel_relation **slv_get_master_obj_list(slv_system_t sys);
801  /**<  Returns the (NULL-terminated) list of master objective relations. */  /**<
802        Returns the (NULL-terminated) list of master objective relations.
803        @ref masterlists
804    */
805    
806  extern struct logrel_relation **slv_get_master_logrel_list(slv_system_t sys);  extern struct logrel_relation **slv_get_master_logrel_list(slv_system_t sys);
807  /**<  Returns the (NULL-terminated) list of master logical relations. */  /**<
808        Returns the (NULL-terminated) list of master logical relations.
809        @ref masterlists
810    */
811    
812  extern struct logrel_relation **slv_get_master_condlogrel_list(slv_system_t sys);  extern struct logrel_relation **slv_get_master_condlogrel_list(slv_system_t sys);
813  /**<  Returns the (NULL-terminated) list of master conditional relations. */  /**<
814        Returns the (NULL-terminated) list of master conditional relations.
815        @ref masterlists
816    */
817    
818  extern struct w_when **slv_get_master_when_list(slv_system_t sys);  extern struct w_when **slv_get_master_when_list(slv_system_t sys);
819  /**<  Returns the (NULL-terminated) list of master whens. */  /**<
820        Returns the (NULL-terminated) list of master whens.
821        @ref masterlists
822    */
823    
824  extern struct bnd_boundary **slv_get_master_bnd_list(slv_system_t sys);  extern struct bnd_boundary **slv_get_master_bnd_list(slv_system_t sys);
825  /**<  Returns the (NULL-terminated) list of master boundaries. */  /**<
826        Returns the (NULL-terminated) list of master boundaries.
827        @ref masterlists
828    */
829    
830  extern struct gl_list_t *slv_get_symbol_list(slv_system_t sys);  extern struct gl_list_t *slv_get_symbol_list(slv_system_t sys);
831  /**< Returns the list of SymbolValues struct of a solver system. */  /**<
832        Returns the list of SymbolValues struct of a solver system.
833        @ref varlists
834    */
835    
836  extern int32 slv_need_consistency(slv_system_t sys);  extern int32 slv_need_consistency(slv_system_t sys);
837  /**< Gets the int need_consitency associated with the system. */  /**< Gets the int need_consistency associated with the system. */
838    
839  ASC_DLLSPEC int32 slv_get_num_solvers_vars(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_solvers_vars(slv_system_t sys);
840  /**< Returns the length of the solver variable list.  /**< Returns the length of the solver variable list.
841      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
842        @ref solverslists
843  */  */
844    
845  extern int32 slv_get_num_solvers_pars(slv_system_t sys);  extern int32 slv_get_num_solvers_pars(slv_system_t sys);
846  /**< Returns the length of the solver parameters list.  /**< Returns the length of the solver parameters list.
847      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
848        @ref solverslists
849  */  */
850    
851  ASC_DLLSPEC int32 slv_get_num_solvers_unattached(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_solvers_unattached(slv_system_t sys);
852  /**< Returns the length of the solver unsattached variable list.  /**< Returns the length of the solver unsattached variable list.
853      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
854        @ref solverslists
855  */  */
856    
857  extern int32 slv_get_num_solvers_dvars(slv_system_t sys);  extern int32 slv_get_num_solvers_dvars(slv_system_t sys);
858  /**< Returns the length of the solver discrete variables list.  /**< Returns the length of the solver discrete variables list.
859      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
860        @ref solverslists
861  */  */
862    
863  extern int32 slv_get_num_solvers_disunatt(slv_system_t sys);  extern int32 slv_get_num_solvers_disunatt(slv_system_t sys);
864  /**< Returns the length of the solver unattached discrete variables list.  /**< Returns the length of the solver unattached discrete variables list.
865      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
866        @ref solverslists
867  */  */
868    
869  ASC_DLLSPEC int32 slv_get_num_solvers_rels(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_solvers_rels(slv_system_t sys);
870  /**< Returns the length of the solver relations list.  /**< Returns the length of the solver relations list.
871      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
872        @ref solverslists
873  */  */
874    
875  extern int32 slv_get_num_solvers_condrels(slv_system_t sys);  extern int32 slv_get_num_solvers_condrels(slv_system_t sys);
876  /**< Returns the length of the solver conditional relations list.  /**< Returns the length of the solver conditional relations list.
877      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
878        @ref solverslists
879  */  */
880    
881  ASC_DLLSPEC int32 slv_get_num_solvers_objs(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_solvers_objs(slv_system_t sys);
882  /**< Returns the length of the solver objective relations list.  /**< Returns the length of the solver objective relations list.
883      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
884  */      @ref solverslists*/
885    
886  extern int32 slv_get_num_solvers_logrels(slv_system_t sys);  extern int32 slv_get_num_solvers_logrels(slv_system_t sys);
887  /**< Returns the length of the solver logical relations list.  /**< Returns the length of the solver logical relations list.
888      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
889  */      @ref solverslists*/
890    
891  extern int32 slv_get_num_solvers_condlogrels(slv_system_t sys);  extern int32 slv_get_num_solvers_condlogrels(slv_system_t sys);
892  /**< Returns the length of the solver conditional relations list.  /**< Returns the length of the solver conditional relations list.
893      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
894        @ref solverslists
895  */  */
896    
897  extern int32 slv_get_num_solvers_whens(slv_system_t sys);  extern int32 slv_get_num_solvers_whens(slv_system_t sys);
898  /**< Returns the length of the solver whens list.  /**< Returns the length of the solver whens list.
899      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
900        @ref solverslists
901  */  */
902    
903  extern int32 slv_get_num_solvers_bnds(slv_system_t sys);  extern int32 slv_get_num_solvers_bnds(slv_system_t sys);
904  /**<  /**<
905   ***  Returns the length of the solver boundaries list.      Returns the length of the solver boundaries list.
906   ***  The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
907   **/      @ref solverslists
908    */
909    
910  ASC_DLLSPEC int32 slv_get_num_master_vars(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_master_vars(slv_system_t sys);
911  /**<  /**<
912   ***  Returns the length of the master variables list.      Returns the length of the master variables list.
913   ***  The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
914   **/      @ref masterlists
915    */
916    
917  ASC_DLLSPEC int32 slv_get_num_master_pars(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_master_pars(slv_system_t sys);
918  /**< Returns the length of the master parameters list.  /**< Returns the length of the master parameters list.
919      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
920        @ref masterlists
921  */  */
922    
923  ASC_DLLSPEC int32 slv_get_num_master_unattached(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_master_unattached(slv_system_t sys);
924  /**< Returns the length of the master unattached variables list.  /**< Returns the length of the master unattached variables list.
925      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
926        @ref masterlists
927  */  */
928    
929  extern int32 slv_get_num_master_dvars(slv_system_t sys);  extern int32 slv_get_num_master_dvars(slv_system_t sys);
930  /**< Returns the length of the master discrete variables list.  /**< Returns the length of the master discrete variables list.
931      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
932        @ref masterlists
933  */  */
934    
935  extern int32 slv_get_num_master_disunatt(slv_system_t sys);  extern int32 slv_get_num_master_disunatt(slv_system_t sys);
936  /**< Returns the length of the master unattached discrete variables list.  /**< Returns the length of the master unattached discrete variables list.
937      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
938        @ref masterlists
939  */  */
940    
941  ASC_DLLSPEC int32 slv_get_num_master_rels(slv_system_t sys);  ASC_DLLSPEC int32 slv_get_num_master_rels(slv_system_t sys);
942  /**< Returns the length of the master relations list.  /**< Returns the length of the master relations list.
943      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
944        @ref masterlists
945  */  */
946    
947  extern int32 slv_get_num_master_condrels(slv_system_t sys);  extern int32 slv_get_num_master_condrels(slv_system_t sys);
948  /**< Returns the length of the master conditional relations list.  /**< Returns the length of the master conditional relations list.
949      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
950        @ref masterlists
951  */  */
952    
953  extern int32 slv_get_num_master_objs(slv_system_t sys);  extern int32 slv_get_num_master_objs(slv_system_t sys);
954  /**< Returns the length of the master objective relations list.  /**< Returns the length of the master objective relations list.
955      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
956        @ref masterlists
957  */  */
958    
959  extern int32 slv_get_num_master_logrels(slv_system_t sys);  extern int32 slv_get_num_master_logrels(slv_system_t sys);
960  /**< Returns the length of the master logical relations list.  /**< Returns the length of the master logical relations list.
961      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
962        @ref masterlists
963  */  */
964    
965  extern int32 slv_get_num_master_condlogrels(slv_system_t sys);  extern int32 slv_get_num_master_condlogrels(slv_system_t sys);
966  /**< Returns the length of the master conditional relations list.  /**< Returns the length of the master conditional relations list.
967      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
968        @ref masterlists
969  */  */
970    
971  extern int32 slv_get_num_master_whens(slv_system_t sys);  extern int32 slv_get_num_master_whens(slv_system_t sys);
972  /**< Returns the length of the master whens list.  /**< Returns the length of the master whens list.
973      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
974        @ref masterlists
975  */  */
976    
977  extern int32 slv_get_num_master_bnds(slv_system_t sys);  extern int32 slv_get_num_master_bnds(slv_system_t sys);
978  /**<  Returns the length of the master boundaries list.  /**<  Returns the length of the master boundaries list.
979      The length does NOT include the terminating NULL.      The length does NOT include the terminating NULL.
980        @ref masterlists
981  */  */
982    
983  extern int32 slv_get_num_models(slv_system_t sys);  extern int32 slv_get_num_models(slv_system_t sys);
984  /**< Returns the number of models found in the tree the  /**< Returns the number of models found in the tree the
985      problem was constructed from. There is no corresponding list.      problem was constructed from. There is no corresponding list.
986      Rel_relations will know which of these models they came from.      Rel_relations will know which of these models they came from.
987        @ref masterlists
988  */  */
989    
990  ASC_DLLSPEC int32 slv_count_solvers_vars(slv_system_t sys, var_filter_t *vfilter);  ASC_DLLSPEC int32 slv_count_solvers_vars(slv_system_t sys, var_filter_t *vfilter);
991  /**< Returns the number of solver variables matching the specified filter. */  /**<
992        Returns the number of solver variables matching the specified filter.
993        @ref solverslists
994    */
995    
996  extern int32 slv_count_solvers_pars(slv_system_t sys, var_filter_t *vfilter);  extern int32 slv_count_solvers_pars(slv_system_t sys, var_filter_t *vfilter);
997  /**< Returns the number of solver parameters matching the specified filter. */  /**<
998        Returns the number of solver parameters matching the specified filter.
999        @ref solverslists
1000    */
1001    
1002  ASC_DLLSPEC int32 slv_count_solvers_unattached(slv_system_t sys, var_filter_t *vfilter);  ASC_DLLSPEC int32 slv_count_solvers_unattached(slv_system_t sys, var_filter_t *vfilter);
1003  /**< Returns the number of solver unattached variables matching the specified filter. */  /**<
1004        Returns the number of solver unattached variables matching the specified filter.
1005        @ref solverslists
1006    */
1007    
1008  extern int32 slv_count_solvers_dvars(slv_system_t sys, dis_filter_t *dfilter);  extern int32 slv_count_solvers_dvars(slv_system_t sys, dis_filter_t *dfilter);
1009  /**< Returns the number of solver discrete variables matching the specified filter. */  /**<
1010        Returns the number of solver discrete variables matching the specified filter.
1011        @ref solverslists
1012    */
1013    
1014  extern int32 slv_count_solvers_disunatt(slv_system_t sys, dis_filter_t *dfilter);  extern int32 slv_count_solvers_disunatt(slv_system_t sys, dis_filter_t *dfilter);
1015  /**< Returns the number of solver unattached discrete variables matching the specified filter. */  /**<
1016        Returns the number of solver unattached discrete variables matching the specified filter.
1017        @ref varlists
1018    */
1019    
1020  ASC_DLLSPEC int32 slv_count_solvers_rels(slv_system_t sys, rel_filter_t *rfilter);  ASC_DLLSPEC int32 slv_count_solvers_rels(slv_system_t sys, rel_filter_t *rfilter);
1021  /**< Returns the number of solver relations matching the specified filter. */  /**<
1022        Returns the number of solver relations matching the specified filter.
1023        @ref solverslists
1024    */
1025    
1026  extern int32 slv_count_solvers_condrels(slv_system_t sys, rel_filter_t *rfilter);  extern int32 slv_count_solvers_condrels(slv_system_t sys, rel_filter_t *rfilter);
1027  /**< Returns the number of solver conditional relations matching the specified filter. */  /**<
1028        Returns the number of solver conditional relations matching the specified filter.
1029        @ref solverslists
1030    */
1031    
1032  extern int32 slv_count_solvers_objs(slv_system_t sys, rel_filter_t *rfilter);  extern int32 slv_count_solvers_objs(slv_system_t sys, rel_filter_t *rfilter);
1033  /**< Returns the number of solver objective relations matching the specified filter. */  /**<
1034        Returns the number of solver objective relations matching the specified filter.
1035        @ref solverslists
1036    */
1037    
1038  extern int32 slv_count_solvers_logrels(slv_system_t sys, logrel_filter_t *lrfilter);  extern int32 slv_count_solvers_logrels(slv_system_t sys, logrel_filter_t *lrfilter);
1039  /**< Returns the number of solver logical relations matching the specified filter. */  /**<
1040        Returns the number of solver logical relations matching the specified filter.
1041        @ref solverslists
1042    */
1043    
1044  extern int32 slv_count_solvers_condlogrels(slv_system_t sys, logrel_filter_t *lrfilter);  extern int32 slv_count_solvers_condlogrels(slv_system_t sys, logrel_filter_t *lrfilter);
1045  /**< Returns the number of solver conditional logical relations matching the specified filter. */  /**<
1046        Returns the number of solver conditional logical relations matching the specified filter.
1047        @ref solverslists
1048    */
1049    
1050  extern int32 slv_count_solvers_whens(slv_system_t sys, when_filter_t *wfilter);  extern int32 slv_count_solvers_whens(slv_system_t sys, when_filter_t *wfilter);
1051  /**< Returns the number of solver whens matching the specified filter. */  /**<
1052        Returns the number of solver whens matching the specified filter.
1053        @ref solverslists
1054    */
1055    
1056  extern int32 slv_count_solvers_bnds(slv_system_t sys, bnd_filter_t *bfilter);  extern int32 slv_count_solvers_bnds(slv_system_t sys, bnd_filter_t *bfilter);
1057  /**< Returns the number of solver boundaries matching the specified filter. */  /**<
1058        Returns the number of solver boundaries matching the specified filter.
1059        @ref solverslists
1060    */
1061    
1062  extern int32 slv_count_master_vars(slv_system_t sys, var_filter_t *vfilter);  extern int32 slv_count_master_vars(slv_system_t sys, var_filter_t *vfilter);
1063  /**< Returns the number of master variables matching the specified filter. */  /**<
1064        Returns the number of master variables matching the specified filter.
1065        @ref masterlists
1066    */
1067    
1068  extern int32 slv_count_master_pars(slv_system_t sys, var_filter_t *vfilter);  extern int32 slv_count_master_pars(slv_system_t sys, var_filter_t *vfilter);
1069  /**< Returns the number of master parameters matching the specified filter. */  /**<
1070        Returns the number of master parameters matching the specified filter.
1071        @ref masterlists
1072    */
1073    
1074  extern int32 slv_count_master_unattached(slv_system_t sys, var_filter_t *vfilter);  extern int32 slv_count_master_unattached(slv_system_t sys, var_filter_t *vfilter);
1075  /**< Returns the number of master unattached variables matching the specified filter. */  /**<
1076        Returns the number of master unattached variables matching the specified filter.
1077        @ref masterlists
1078    */
1079    
1080  extern int32 slv_count_master_dvars(slv_system_t sys, dis_filter_t *dfilter);  extern int32 slv_count_master_dvars(slv_system_t sys, dis_filter_t *dfilter);
1081  /**< Returns the number of master discrete variables matching the specified filter. */  /**<
1082        Returns the number of master discrete variables matching the specified filter.
1083        @ref masterlists
1084    */
1085    
1086  extern int32 slv_count_master_disunatt(slv_system_t sys, dis_filter_t *dfilter);  extern int32 slv_count_master_disunatt(slv_system_t sys, dis_filter_t *dfilter);
1087  /**< Returns the number of master unattached discrete variables matching the specified filter. */  /**<
1088        Returns the number of master unattached discrete variables matching the specified filter.
1089        @ref masterlists
1090    */
1091    
1092  extern int32 slv_count_master_rels(slv_system_t sys, rel_filter_t *rfilter);  extern int32 slv_count_master_rels(slv_system_t sys, rel_filter_t *rfilter);
1093  /**< Returns the number of master relations matching the specified filter. */  /**<
1094        Returns the number of master relations matching the specified filter.
1095        @ref masterlists
1096    */
1097    
1098  extern int32 slv_count_master_condrels(slv_system_t sys, rel_filter_t *rfilter);  extern int32 slv_count_master_condrels(slv_system_t sys, rel_filter_t *rfilter);
1099  /**< Returns the number of master conditional relations matching the specified filter. */  /**<
1100        Returns the number of master conditional relations matching the specified filter.
1101        @ref masterlists
1102    */
1103    
1104  extern int32 slv_count_master_objs(slv_system_t sys, rel_filter_t *rfilter);  extern int32 slv_count_master_objs(slv_system_t sys, rel_filter_t *rfilter);
1105  /**< Returns the number of master objective relations matching the specified filter. */  /**<
1106        Returns the number of master objective relations matching the specified filter.
1107        @ref masterlists
1108    */
1109    
1110  extern int32 slv_count_master_logrels(slv_system_t sys, logrel_filter_t *lrfilter);  extern int32 slv_count_master_logrels(slv_system_t sys, logrel_filter_t *lrfilter);
1111  /**< Returns the number of master logical relations matching the specified filter. */  /**<
1112        Returns the number of master logical relations matching the specified filter.
1113        @ref masterlists
1114    */
1115    
1116  extern int32 slv_count_master_condlogrels(slv_system_t sys, logrel_filter_t *lrfilter);  extern int32 slv_count_master_condlogrels(slv_system_t sys, logrel_filter_t *lrfilter);
1117  /**< Returns the number of master conditional logical relations matching the specified filter. */  /**<
1118        Returns the number of master conditional logical relations matching the specified filter.
1119        @ref masterlists
1120    */
1121    
1122  extern int32 slv_count_master_whens(slv_system_t sys, when_filter_t *wfilter);  extern int32 slv_count_master_whens(slv_system_t sys, when_filter_t *wfilter);
1123  /**< Returns the number of master whens matching the specified filter. */  /**<
1124        Returns the number of master whens matching the specified filter.
1125        @ref masterlists
1126    */
1127    
1128  extern int32 slv_count_master_bnds(slv_system_t sys, bnd_filter_t *bfilter);  extern int32 slv_count_master_bnds(slv_system_t sys, bnd_filter_t *bfilter);
1129  /**< Returns the number of master boundaries matching the specified filter. */  /**<
1130        Returns the number of master boundaries matching the specified filter.
1131  /** @file slv_client.h      @ref masterlists
     @NOTE  
         Efficiency note relating to slv_count_master_*: if you are using this with a match anything  
         filter, you would be better off just calling the slv_get_num_*  
         function for the list in question.  
1132  */  */
1133    
   
1134  /*-----------------------------------------------------------------------  /*-----------------------------------------------------------------------
1135      Registered client queries.      Registered client queries.
1136  */  */

Legend:
Removed from v.1067  
changed lines
  Added in v.1068

john.pye@anu.edu.au
ViewVC Help
Powered by ViewVC 1.1.22