Example #1
0
  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);
}
Example #3
0
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;
}
Example #4
0
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);
}
Example #6
0
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);
  }
}
Example #7
0
QString CsvUtil::feeId(const QString& name)
{
  MyMoneyAccount parent = MyMoneyFile::instance()->expense();
  return nameToId(name, parent);
}
Example #8
0
QString CsvUtil::interestId(const QString& name)
{
  MyMoneyAccount parent = MyMoneyFile::instance()->income();
  return nameToId(name, parent);
}