- //if isize are 0 then that branch is to be ignored
- if (iSize == 0) { }
- else if ((rcSize == 0) || (lcSize == 0)) { }
- //if you have more groups than either of your kids then theres been a change.
- else if(iSize > rcSize || iSize > lcSize){
- score++;
- }
- }
+ return data;
+
+ }
+ catch(exception& e) {
+ m->errorOut(e, "Parsimony", "getValues");
+ exit(1);
+ }
+}
+/**************************************************************************************************/
+
+EstOutput Parsimony::createProcesses(Tree* t, vector< vector<string> > namesOfGroupCombos, CountTable* ct) {
+ try {
+#if defined (__APPLE__) || (__MACH__) || (linux) || (__linux) || (__linux__) || (__unix__) || (__unix)
+ int process = 1;
+ vector<int> processIDS;
+
+ EstOutput results;
+
+ //loop through and create all the processes you want
+ while (process != processors) {
+ int pid = fork();
+
+ if (pid > 0) {
+ processIDS.push_back(pid); //create map from line number to pid so you can append files in correct order later
+ process++;
+ }else if (pid == 0){
+ EstOutput myresults;
+ myresults = driver(t, namesOfGroupCombos, lines[process].start, lines[process].num, ct);
+
+ if (m->control_pressed) { exit(0); }