void generateDot () { int FD; SmallString<128> Filename; if (std::error_code EC = llvm::sys::fs::createTemporaryFile("my", "dot", FD, Filename)) { llvm::errs() << "Error: " << EC.message() << "\n"; return; } llvm::errs() << "Writing '" << Filename << "'... "; llvm::raw_fd_ostream O(FD, true); raw_ostream& Out = O; Out << "digraph \"" << llvm::DOT::EscapeString("MyDiagram") << "\" {\n"; for (auto i : classes) { Out << " "; Out << nameToId(i.first); Out << " [ shape=\"box\", label=\"" << llvm::DOT::EscapeString(i.second); Out << "\"];\n"; } for (auto i : inheritance) { Out << " "; Out << llvm::DOT::EscapeString(nameToId(i.first)); Out << " -> "; Out << llvm::DOT::EscapeString(nameToId(i.second)); Out << ";\n"; } Out << "}\n"; llvm::errs() << " done. \n"; O.close(); }
/* * ======== Comm_create ======== */ Comm_Handle Comm_create(String queueName, Comm_Attrs *attrs) { Comm_Obj *comm; UInt32 commId; Char commName[ MAXCOMMNAMELEN ]; key_t key; Assert_isTrue(curInit > 0, (Assert_Id)NULL); Log_print2(Diags_ENTRY, "[+E] Comm_create> " "Enter(queueName='%s', attrs=0x%x)", (IArg)queueName, (IArg)attrs); if (attrs == NULL) { attrs = &Comm_ATTRS; } if (queueName == NULL) { /* Generate a name to use */ // TODO: Increment curCommId atomically commId = curCommId++; sprintf(commName, "queue_%lu_%u", Global_getProcessId(), (Uns)commId); key = nameToId(commName); } else { key = nameToId(queueName); } comm = (Comm_Obj *)Memory_alloc(NULL, sizeof(Comm_Obj), 0, NULL); if (comm == NULL) { return (NULL); } comm->type = attrs->type; if (comm->type == Comm_PEND) { ; } else if (comm->type == Comm_CALL) { comm->callHandle = attrs->callHandle; comm->callFxn = attrs->callFxn; } else { Assert_isTrue(FALSE, (Assert_Id)NULL); /* unknown Comm type */ } /* * Create a new message queue id for the "name" key */ if ((comm->id = msgget(key, IPC_CREAT | 0644)) < 0) { fprintf(stderr, "msgget key = 0x%x\n", key); perror("Comm_create:msgget"); Memory_free(NULL, comm, sizeof(Comm_Obj)); return (NULL); } Log_print1(Diags_EXIT, "[+X] Comm_create> return (0x%x)", (IArg)comm); return (comm); }
int main(void) { int info = 0 ; printf("Test on ./data/relay_simple2.dat\n"); FILE * finput = fopen("./data/relay_simple2.dat", "r"); char solvername[20] = "RELAY_LEMKE"; info = relay_test_function(finput, nameToId(solvername)); fclose(finput); return info; }
int main(void) { int info = 0 ; char filename[50] = "./data/step_2x2.dat"; printf("Test on %s\n", filename); FILE * finput = fopen(filename, "r"); char solvername[20] = "RELAY_LEMKE"; info = relay_test_function(finput, nameToId(solvername)); fclose(finput); printf("End of test on %s\n", filename); return info; }
/* * ======== Comm_locate ======== */ Int Comm_locate(String queueName, Comm_Id *msgqId) { key_t key = nameToId(queueName); Int qid; Int i; Assert_isTrue(curInit > 0, (Assert_Id)NULL); Log_print2(Diags_ENTRY, "[+E] Comm_locate> " "Enter(queueName='%s', msgqId=0x%x)", (IArg)queueName, (IArg)msgqId); for (i = 0; (qid = msgget(key, 0644)) < 0; i++) { if (i >= MAXRETRY) { perror("Comm_locate:msgget"); return (Comm_EFAIL); } sleep(1); } *msgqId = qid; return (Comm_EOK); }
void readSolverOptions(int driverType, SolverOptions* options) { /* To each problem, corresponds a XXX_parameters.opt file where default parameters can be read, XXX being the problem name (LCP, FrictionContact3D ...) */ if (verbose > 0) printf("\n ========== Numerics Non Smooth Solver - Read default parameters for the solver.\n =========="); // Checks if NUMERICSSPATH is set. if (getenv("SICONOSPATH") == NULL) { fprintf(stderr, "Numerics, readSolverOptions error, SICONOSPATH environment variable not set. Can not find default solver options file.\n"); return; //exit(EXIT_FAILURE); } FILE * ficin; /* Name of the default parameters file */ char name[MAX_ENV_SIZE]; char nameSuffix[] = "/include/siconos"; strncpy(name, getenv("SICONOSPATH"), MAX_ENV_SIZE - sizeof(nameSuffix)); strcat(name, nameSuffix); char buffer[64]; char bufferName[64]; /* Return value for reading */ int nval; // set default size to 4 ... if (options->iparam == NULL) options->iparam = (int*)malloc(4 * sizeof(*options->iparam)); if (options->dparam == NULL) options->dparam = (double*)malloc(4 * sizeof(*options->dparam)); switch (driverType) { case 0: strcat(name, "LCP_parameters.opt"); break; case 1: strcat(name, "dfc2D_parameters.opt"); break; case 2: strcat(name, "FrictionContact2D_parameters.opt"); break; case 3: strcat(name, "FrictionContact3D_parameters.opt"); ficin = fopen(name, "r"); if (verbose > 0) printf("The default-parameters file is: %s\n", name); if (!ficin) { printf("Numerics, readSolverOptions error. Can not open file %60s", name); exit(-1); } //nval = fscanf(ficin, "%c", &(options->solverName)); CHECK_IO(fgets(buffer, 64, ficin)); CHECK_IO(fgets(buffer, 64, ficin)); CHECK_IO(fgets(buffer, 64, ficin)); /* Solver name */ CHECK_IO(fgets(bufferName , 64, ficin)); options->solverId = nameToId(bufferName); CHECK_IO(fgets(buffer, 64, ficin)); /* iparam */ nval = fscanf(ficin, "%d%d", &(options->iparam[0]), &(options->iparam[1])); if (nval != 4) { fprintf(stderr, "Numerics, readSolverOptions error, wrong number of parameters for iparam.\n"); exit(EXIT_FAILURE); } /* dparam */ nval = fscanf(ficin, "%lf%lf%lf", &(options->dparam[0]), &(options->dparam[1]), &(options->dparam[2])); if (nval != 3) { fprintf(stderr, "Numerics, readSolverOptions error, wrong number of parameters for dparam.\n"); exit(EXIT_FAILURE); } fclose(ficin); break; default: fprintf(stderr, "Numerics, readSolverOptions error, unknown problem type.\n"); exit(EXIT_FAILURE); } }
QString CsvUtil::feeId(const QString& name) { MyMoneyAccount parent = MyMoneyFile::instance()->expense(); return nameToId(name, parent); }
QString CsvUtil::interestId(const QString& name) { MyMoneyAccount parent = MyMoneyFile::instance()->income(); return nameToId(name, parent); }