int main ( int argc , const char* argv[] ) { mcxIO* xf1, *xf2 ; mclx* mx1, *mx2 ; mcxbits modes = 0 ; mcxLogLevel = MCX_LOG_AGGR | MCX_LOG_MODULE | MCX_LOG_IO | MCX_LOG_GAUGE | MCX_LOG_WARN ; mclx_app_init(stdout) ; if (argc < 4) mcxUsage(stdout, me, usagelines) , mcxExit(0) ; modes = atoi(argv[1]) ; xf1 = mcxIOnew(argv[2], "r") ; xf2 = mcxIOnew(argv[3], "r") ; mx1 = mclxRead(xf1, EXIT_ON_FAIL) ; mx2 = mclxRead(xf2, EXIT_ON_FAIL) ; pairwise_setops(mx1, mx2, modes) ; if (modes & MMM_DUMPMX) { mcxIO* xo = mcxIOnew("out.mmm", "w") ; mclxWrite(mx1, xo, MCLXIO_VALUE_GETENV, RETURN_ON_FAIL) ; } mclxFree(&mx1) ; mclxFree(&mx2) ; mcxIOfree(&xf1) ; mcxIOfree(&xf2) ; return 0 ; }
int main ( int argc , const char* argv[] ) { mcxIO *xf_cl = NULL, *xf_mx = NULL ; mclx *cl = NULL, *elcl = NULL ; int a = 1 ; dim i ; mcxLogLevel = MCX_LOG_AGGR | MCX_LOG_MODULE | MCX_LOG_IO | MCX_LOG_GAUGE | MCX_LOG_WARN ; mclxIOsetQMode("MCLXIOVERBOSITY", MCL_APP_VB_YES) ; mclx_app_init(stderr) ; while(a < argc) { if (!strcmp(argv[a], "-icl")) { if (a++ + 1 < argc) xf_cl = mcxIOnew(argv[a], "r") ; else goto arg_missing ; } else if (!strcmp(argv[a], "-h")) { help : mcxUsage(stdout, me, usagelines) ; mcxExit(STATUS_FAIL) ; } else if (!strcmp(argv[a], "--version")) { app_report_version(me) ; exit(0) ; } else if (!strcmp(argv[a], "-imx")) { if (a++ + 1 < argc) xf_mx = mcxIOnew(argv[a], "r") ; else goto arg_missing ; } else if (!strcmp(argv[a], "-h")) { goto help ; } else if (0) { arg_missing: ; mcxErr ( me , "flag <%s> needs argument; see help (-h)" , argv[argc-1] ) ; mcxExit(1) ; } else { mcxErr ( me , "unrecognized flag <%s>; see help (-h)" , argv[a] ) ; mcxExit(1) ; } a++ ; } if (!xf_cl) mcxErr(me, "need cluster file") , mcxExit(1) ; cl = mclxRead(xf_cl, EXIT_ON_FAIL) ; elcl = mclxTranspose(cl) ; for (i=0; i<N_COLS(elcl); i++) { mclv* vec = elcl->cols+i ; if (vec->n_ivps > 1) fprintf(stdout, "%ld\n", (long) vec->vid) ; } return 0 ; }