Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 21 additions & 23 deletions ordmmd.c
Original file line number Diff line number Diff line change
Expand Up @@ -48,12 +48,12 @@

/* *********************************************************************** */

/* Subroutine */ int ordmmd_(neqns, xadj, adjncy, invp, perm, iwsiz, iwork,
nofsub, iflag)
integer *neqns, *xadj, *adjncy, *invp, *perm, *iwsiz, *iwork, *nofsub, *iflag;
/* Subroutine */ int ordmmd_(integer *neqns, integer *xadj, integer *adjncy, integer *invp, integer *perm, integer *iwsiz, integer *iwork,
integer *nofsub, integer *iflag)
{
static integer delta;
extern /* Subroutine */ int genmmd_();
extern int genmmd_(integer *neqns, integer *xadj, integer *adjncy, integer *invp, integer *perm, integer *delta, integer *dhead,
integer *qsize, integer *llist, integer *marker, integer *maxint, integer *nofsub);
static integer maxint;


Expand Down Expand Up @@ -149,17 +149,22 @@ integer *neqns, *xadj, *adjncy, *invp, *perm, *iwsiz, *iwork, *nofsub, *iflag;

/* *********************************************************************** */

/* Subroutine */ int genmmd_(neqns, xadj, adjncy, invp, perm, delta, dhead,
qsize, llist, marker, maxint, nofsub)
integer *neqns, *xadj, *adjncy, *invp, *perm, *delta, *dhead, *qsize, *llist,
*marker, *maxint, *nofsub;
/* Subroutine */ int genmmd_(integer *neqns, integer *xadj, integer *adjncy, integer *invp, integer *perm, integer *delta, integer *dhead,
integer *qsize, integer *llist, integer *marker, integer *maxint, integer *nofsub)
{
/* System generated locals */
integer i__1;

/* Local variables */
static integer mdeg, ehead, i__, mdlmt, mdnode;
extern /* Subroutine */ int mmdelm_(), mmdupd_(), mmdint_(), mmdnum_();
extern int mmdelm_(integer *mdnode, integer *xadj, integer *adjncy, integer *dhead, integer *dforw, integer *dbakw, integer *qsize,
integer *llist, integer *marker, integer *maxint, integer *tag);
extern int mmdupd_(integer *ehead, integer *neqns, integer *xadj, integer *adjncy, integer *delta, integer *mdeg, integer *dhead,
integer *dforw, integer *dbakw, integer *qsize, integer *llist, integer *marker, integer *maxint, integer *tag);
extern int mmdint_(integer *neqns, integer *xadj, integer *adjncy, integer *dhead, integer *dforw, integer *dbakw, integer *qsize,
integer *llist, integer *marker);

extern int mmdnum_(integer *neqns, integer *perm, integer *invp, integer *qsize);
static integer nextmd, tag, num;


Expand Down Expand Up @@ -341,10 +346,8 @@ integer *neqns, *xadj, *adjncy, *invp, *perm, *delta, *dhead, *qsize, *llist,

/* *********************************************************************** */

/* Subroutine */ int mmdint_(neqns, xadj, adjncy, dhead, dforw, dbakw, qsize,
llist, marker)
integer *neqns, *xadj, *adjncy, *dhead, *dforw, *dbakw, *qsize, *llist, *
marker;
/* Subroutine */ int mmdint_(integer *neqns, integer *xadj, integer *adjncy, integer *dhead, integer *dforw, integer *dbakw, integer *qsize,
integer *llist, integer *marker)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -438,10 +441,8 @@ integer *neqns, *xadj, *adjncy, *dhead, *dforw, *dbakw, *qsize, *llist, *

/* *********************************************************************** */

/* Subroutine */ int mmdelm_(mdnode, xadj, adjncy, dhead, dforw, dbakw, qsize,
llist, marker, maxint, tag)
integer *mdnode, *xadj, *adjncy, *dhead, *dforw, *dbakw, *qsize, *llist, *
marker, *maxint, *tag;
/* Subroutine */ int mmdelm_(integer *mdnode, integer *xadj, integer *adjncy, integer *dhead, integer *dforw, integer *dbakw, integer *qsize,
integer *llist, integer *marker, integer *maxint, integer *tag)
{
/* System generated locals */
integer i__1, i__2;
Expand Down Expand Up @@ -696,8 +697,7 @@ integer *mdnode, *xadj, *adjncy, *dhead, *dforw, *dbakw, *qsize, *llist, *

/* *********************************************************************** */

/* Subroutine */ int mmdnum_(neqns, perm, invp, qsize)
integer *neqns, *perm, *invp, *qsize;
/* Subroutine */ int mmdnum_(integer *neqns, integer *perm, integer *invp, integer *qsize)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -827,10 +827,8 @@ integer *neqns, *perm, *invp, *qsize;

/* *********************************************************************** */

/* Subroutine */ int mmdupd_(ehead, neqns, xadj, adjncy, delta, mdeg, dhead,
dforw, dbakw, qsize, llist, marker, maxint, tag)
integer *ehead, *neqns, *xadj, *adjncy, *delta, *mdeg, *dhead, *dforw, *dbakw,
*qsize, *llist, *marker, *maxint, *tag;
/* Subroutine */ int mmdupd_(integer *ehead, integer *neqns, integer *xadj, integer *adjncy, integer *delta, integer *mdeg, integer *dhead,
integer *dforw, integer *dbakw, integer *qsize, integer *llist, integer *marker, integer *maxint, integer *tag)
{
/* System generated locals */
integer i__1, i__2;
Expand Down
2 changes: 1 addition & 1 deletion sedumi_version.m
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
function v = sedumi_version ()
v = '1.3.7';
v = '1.3.8';
end
95 changes: 42 additions & 53 deletions symfct.c
Original file line number Diff line number Diff line change
Expand Up @@ -74,18 +74,23 @@

/* *********************************************************************** */

/* Subroutine */ int sfinit_(neqns, nnza, xadj, adjncy, perm, invp, colcnt,
nnzl, nsub, nsuper, snode, xsuper, iwsiz, iwork, iflag)
integer *neqns, *nnza, *xadj, *adjncy, *perm, *invp, *colcnt, *nnzl, *nsub,
*nsuper, *snode, *xsuper, *iwsiz, *iwork, *iflag;
/* Subroutine */ int sfinit_(integer *neqns, integer *nnza, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *colcnt,
integer *nnzl, integer *nsub, integer *nsuper, integer *snode, integer *xsuper, integer *iwsiz, integer *iwork, integer *iflag)
{
/* System generated locals */
integer i__1;

/* Local variables */
extern /* Subroutine */ int fsup1_(), fsup2_();
extern int fsup1_(integer *neqns, integer *etpar, integer *colcnt, integer *nofsub, integer *nsuper, integer *snode);
extern int fsup2_(integer *neqns, integer *nsuper, integer *etpar, integer *snode, integer *xsuper);
static integer i__;
extern /* Subroutine */ int fcnthn_(), chordr_(), etordr_();
extern int fcnthn_(integer *neqns, integer *adjlen, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *etpar,
integer *rowcnt, integer *colcnt, integer *nlnz, integer *set, integer *prvlf, integer *level, integer *weight, integer *fdesc, integer *nchild,
integer *prvnbr);
extern int chordr_(integer *neqns, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *colcnt, integer *parent,
integer *fson, integer *brothr, integer *invpos);
extern int etordr_(integer *neqns, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *parent, integer *fson,
integer *brothr, integer *invpos);


/* ----------- */
Expand Down Expand Up @@ -217,13 +222,13 @@ integer *neqns, *nnza, *xadj, *adjncy, *perm, *invp, *colcnt, *nnzl, *nsub,

/* *********************************************************************** */

/* Subroutine */ int etordr_(neqns, xadj, adjncy, perm, invp, parent, fson,
brothr, invpos)
integer *neqns, *xadj, *adjncy, *perm, *invp, *parent, *fson, *brothr, *
invpos;
/* Subroutine */ int etordr_(integer *neqns, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *parent, integer *fson,
integer *brothr, integer *invpos)
{
extern /* Subroutine */ int etree_(), betree_(), invinv_(), etpost_();

extern int etree_(integer *neqns, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *parent, integer *ancstr);
extern int betree_(integer *neqns, integer *parent, integer *fson, integer *brothr);
extern int invinv_(integer *neqns, integer *invp, integer *invp2, integer *perm);
extern int etpost_(integer *root, integer *fson, integer *brothr, integer *invpos, integer *parent, integer *stack);

/* ***********************************************************************
*/
Expand Down Expand Up @@ -302,8 +307,7 @@ integer *neqns, *xadj, *adjncy, *perm, *invp, *parent, *fson, *brothr, *

/* *********************************************************************** */

/* Subroutine */ int etree_(neqns, xadj, adjncy, perm, invp, parent, ancstr)
integer *neqns, *xadj, *adjncy, *perm, *invp, *parent, *ancstr;
/* Subroutine */ int etree_(integer *neqns, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *parent, integer *ancstr)
{
/* System generated locals */
integer i__1, i__2;
Expand Down Expand Up @@ -425,8 +429,7 @@ EE. MAKE I */

/* *********************************************************************** */

/* Subroutine */ int betree_(neqns, parent, fson, brothr)
integer *neqns, *parent, *fson, *brothr;
/* Subroutine */ int betree_(integer *neqns, integer *parent, integer *fson, integer *brothr)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -537,8 +540,7 @@ integer *neqns, *parent, *fson, *brothr;

/* *********************************************************************** */

/* Subroutine */ int etpost_(root, fson, brothr, invpos, parent, stack)
integer *root, *fson, *brothr, *invpos, *parent, *stack;
/* Subroutine */ int etpost_(integer *root, integer *fson, integer *brothr, integer *invpos, integer *parent, integer *stack)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -664,8 +666,7 @@ integer *root, *fson, *brothr, *invpos, *parent, *stack;

/* *********************************************************************** */

/* Subroutine */ int invinv_(neqns, invp, invp2, perm)
integer *neqns, *invp, *invp2, *perm;
/* Subroutine */ int invinv_(integer *neqns, integer *invp, integer *invp2, integer *perm)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -757,13 +758,12 @@ integer *neqns, *invp, *invp2, *perm;

/* *********************************************************************** */

/* Subroutine */ int chordr_(neqns, xadj, adjncy, perm, invp, colcnt, parent,
fson, brothr, invpos)
integer *neqns, *xadj, *adjncy, *perm, *invp, *colcnt, *parent, *fson, *
brothr, *invpos;
/* Subroutine */ int chordr_(integer *neqns, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *colcnt, integer *parent,
integer *fson, integer *brothr, integer *invpos)
{
extern /* Subroutine */ int btree2_(), epost2_(), invinv_();

extern int invinv_(integer *neqns, integer *invp, integer *invp2, integer *perm);
extern int btree2_(integer *neqns, integer *parent, integer *colcnt, integer *fson, integer *brothr, integer *lson);
extern int epost2_(integer *root, integer *fson, integer *brothr, integer *invpos, integer *parent, integer *colcnt, integer *stack);

/* ***********************************************************************
*/
Expand Down Expand Up @@ -845,8 +845,7 @@ integer *neqns, *xadj, *adjncy, *perm, *invp, *colcnt, *parent, *fson, *

/* *********************************************************************** */

/* Subroutine */ int btree2_(neqns, parent, colcnt, fson, brothr, lson)
integer *neqns, *parent, *colcnt, *fson, *brothr, *lson;
/* Subroutine */ int btree2_(integer *neqns, integer *parent, integer *colcnt, integer *fson, integer *brothr, integer *lson)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -970,9 +969,8 @@ integer *neqns, *parent, *colcnt, *fson, *brothr, *lson;

/* *********************************************************************** */

/* Subroutine */ int epost2_(root, fson, brothr, invpos, parent, colcnt,
stack)
integer *root, *fson, *brothr, *invpos, *parent, *colcnt, *stack;
/* Subroutine */ int epost2_(integer *root, integer *fson, integer *brothr, integer *invpos, integer *parent, integer *colcnt,
integer *stack)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -1151,12 +1149,9 @@ integer *root, *fson, *brothr, *invpos, *parent, *colcnt, *stack;
/* the matrix is purely diagonal, then "segment violation" *) */
/* *********************************************************************** */

/* Subroutine */ int fcnthn_(neqns, adjlen, xadj, adjncy, perm, invp, etpar,
rowcnt, colcnt, nlnz, set, prvlf, level, weight, fdesc, nchild,
prvnbr)
integer *neqns, *adjlen, *xadj, *adjncy, *perm, *invp, *etpar, *rowcnt, *
colcnt, *nlnz, *set, *prvlf, *level, *weight, *fdesc, *nchild, *
prvnbr;
/* Subroutine */ int fcnthn_(integer *neqns, integer *adjlen, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *etpar,
integer *rowcnt, integer *colcnt, integer *nlnz, integer *set, integer *prvlf, integer *level, integer *weight, integer *fdesc, integer *nchild,
integer *prvnbr)
{
/* System generated locals */
integer i__1, i__2;
Expand Down Expand Up @@ -1392,8 +1387,7 @@ OF HINBR. */

/* *********************************************************************** */

/* Subroutine */ int fsup1_(neqns, etpar, colcnt, nofsub, nsuper, snode)
integer *neqns, *etpar, *colcnt, *nofsub, *nsuper, *snode;
/* Subroutine */ int fsup1_(integer *neqns, integer *etpar, integer *colcnt, integer *nofsub, integer *nsuper, integer *snode)
{
/* System generated locals */
integer i__1;
Expand Down Expand Up @@ -1490,8 +1484,7 @@ integer *neqns, *etpar, *colcnt, *nofsub, *nsuper, *snode;

/* *********************************************************************** */

/* Subroutine */ int fsup2_(neqns, nsuper, etpar, snode, xsuper)
integer *neqns, *nsuper, *etpar, *snode, *xsuper;
/* Subroutine */ int fsup2_(integer *neqns, integer *nsuper, integer *etpar, integer *snode, integer *xsuper)
{
static integer kcol, ksup, lstsup;

Expand Down Expand Up @@ -1591,13 +1584,12 @@ integer *neqns, *nsuper, *etpar, *snode, *xsuper;

/* *********************************************************************** */

/* Subroutine */ int symfct_(neqns, adjlen, xadj, adjncy, perm, invp, colcnt,
nsuper, xsuper, snode, nofsub, xlindx, lindx, xlnz, iwsiz, iwork, flag__)
integer *neqns, *adjlen, *xadj, *adjncy, *perm, *invp, *colcnt, *nsuper,
*xsuper, *snode, *nofsub, *xlindx, *lindx, *xlnz, *iwsiz, *iwork, *flag__;
/* Subroutine */ int symfct_(integer *neqns, integer *adjlen, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *colcnt,
integer *nsuper, integer *xsuper, integer *snode, integer *nofsub, integer *xlindx, integer *lindx, integer *xlnz, integer *iwsiz, integer *iwork, integer *flag__)
{
extern /* Subroutine */ int symfc2_();

extern int symfc2_(integer *neqns, integer *adjlen, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *colcnt,
integer *nsuper, integer *xsuper, integer *snode, integer *nofsub, integer *xlindx, integer *lindx, integer *xlnz, integer *mrglnk, integer *rchlnk,
integer *marker, integer *flag__);

/* ***********************************************************************
*/
Expand Down Expand Up @@ -1700,12 +1692,9 @@ integer *neqns, *adjlen, *xadj, *adjncy, *perm, *invp, *colcnt, *nsuper,

/* *********************************************************************** */

/* Subroutine */ int symfc2_(neqns, adjlen, xadj, adjncy, perm, invp, colcnt,
nsuper, xsuper, snode, nofsub, xlindx, lindx, xlnz, mrglnk, rchlnk,
marker, flag__)
integer *neqns, *adjlen, *xadj, *adjncy, *perm, *invp, *colcnt, *nsuper, *
xsuper, *snode, *nofsub, *xlindx, *lindx, *xlnz, *mrglnk, *rchlnk, *
marker, *flag__;
/* Subroutine */ int symfc2_(integer *neqns, integer *adjlen, integer *xadj, integer *adjncy, integer *perm, integer *invp, integer *colcnt,
integer *nsuper, integer *xsuper, integer *snode, integer *nofsub, integer *xlindx, integer *lindx, integer *xlnz, integer *mrglnk, integer *rchlnk,
integer *marker, integer *flag__)
{
/* System generated locals */
integer i__1, i__2;
Expand Down
Loading