Commit 7fea5ae4 authored by DeAn Wei's avatar DeAn Wei
Browse files

add private vars in inArgs_t for different types.

parent c05d5593
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
build
bin
+8 −5
Original line number Diff line number Diff line
@@ -17,6 +17,11 @@
#define real8 double
using namespace std;

typedef struct {
    string          name;
    vector<string>  vals;
}Var_t;

/*
 *      Define a structure containing all items corresponding to
 *      all command line options that have associated values.  This
@@ -28,8 +33,8 @@ typedef struct {
        int     seed;
        int     type;

        std::vector<string>      inpFiles;
        std::vector<string>      outFiles;
        vector<string>  inpFiles, outFiles;
        vector<Var_t>   priVars;
}InArgs_t;

/*
@@ -56,6 +61,7 @@ typedef enum{
    OPT_OUTFILE,
    OPT_SEED,
    OPT_TYPE,
    OPT_PRIVATEVALS,
	OPT_MAX
}OPT_t;

@@ -91,7 +97,4 @@ typedef struct {
} Table_t;





#endif 
+1 −1
Original line number Diff line number Diff line
@@ -10,5 +10,5 @@ add_definitions( -DPARALLEL=1)
INCLUDE_DIRECTORIES(../include)    
target_link_libraries(prodata m pthread)
Install(TARGETS prodata
        RUNTIME DESTINATION ${PARADIS_SOURCE_DIR}/bin)
        RUNTIME DESTINATION ${PRODATA_SOURCE_DIR}/bin)
+25 −3
Original line number Diff line number Diff line
@@ -44,7 +44,8 @@ Option_t optList[OPT_MAX] = {
        {OPT_INPFILE,   "inputfile",  	1, 1},
        {OPT_OUTFILE,   "outfile",  	1, 1},
        {OPT_SEED,      "seed",     	3, 1},
        {OPT_TYPE,      "type",     	1, 1}
        {OPT_TYPE,      "type",     	1, 1},
        {OPT_PRIVATEVALS, "d",          1, 1}
};


@@ -169,8 +170,9 @@ static void GetInArgs(int argc, char *argv[], InArgs_t *inArgs)
        int     i, j, k;
        char    *argName;
        char    *token;
        Var_t   var;

        string              argValue;
        string              argValue, arg;
        std::vector<string> argValues;

        for (i = 1; i < argc; i++) {
@@ -200,6 +202,7 @@ static void GetInArgs(int argc, char *argv[], InArgs_t *inArgs)

            if (j == OPT_MAX) {
                Usage(argv[0]);
                printf("1\n");
                exit(1);
            }

@@ -209,6 +212,7 @@ static void GetInArgs(int argc, char *argv[], InArgs_t *inArgs)
 */
            if (optList[j].optPaired) {
                if (i+1 >= argc) {
                printf("2\n");
                    Usage(argv[0]);
                    exit(1);
                } else {
@@ -220,9 +224,9 @@ static void GetInArgs(int argc, char *argv[], InArgs_t *inArgs)
                        if(i >= argc)break;
                        if(argv[i][0] == '-')break;
                    }
                    i--;
                }
            }

/*
 *          Do any option-specific processing...
 */
@@ -242,9 +246,27 @@ static void GetInArgs(int argc, char *argv[], InArgs_t *inArgs)
                case OPT_TYPE:
                    inArgs->type = atoi(argValue.c_str());
                    break;
                case OPT_PRIVATEVALS:
                    var.name = argName;
                    var.name.erase(0,1);
                    swap(var.vals, argValues);
                    inArgs->priVars.push_back(var);
                    break; 
                default:
                    break;
            }

        }
        printf("Private vars for type %d:\n", inArgs->type);

        for(i=0; i<inArgs->priVars.size(); i++){
            printf("%s: ", inArgs->priVars[i].name.c_str());
            for(j=0; j<inArgs->priVars[i].vals.size(); j++){
                printf("%s ", inArgs->priVars[i].vals[j].c_str());
            }
            printf("\n");
        }
        
        return;
}