Exemple #1
0
static int serialise_arg(task *tsk, array *arr, int argno, pntr val)
{
  char *str;
  char *escaped;
  sysobject *so;
  switch (pntrtype(val)) {
  case CELL_NUMBER:
    array_printf(arr," %f",pntrdouble(val));
    return 1;
  case CELL_CONS:
  case CELL_AREF:
    if (0 <= array_to_string(val,&str)) {
      escaped = escape(str);
      array_printf(arr," \"%s\"",escaped);
      free(escaped);
      free(str);
      return 1;
    }
    break;
  case CELL_NIL:
    array_printf(arr," nil");
    return 1;
  case CELL_SYSOBJECT:
    so = psysobject(val);
    if (SYSOBJECT_JAVA == so->type) {
      array_printf(arr," @%d",so->jid.jid);
      return 1;
    }
    break;
  }
  return set_error(tsk,"jcall: argument %d invalid (%s)",argno,cell_types[pntrtype(val)]);
}
Exemple #2
0
void BlockMapIO_Printf(const BlockMap *me)
{
    printf("\nBlockMap");
    printf("\n  pixelCount: width=%d, height=%d\n", me->pixelCount.width, me->pixelCount.height);
    printf("\n  blockCount: width=%d, height=%d\n", me->blockCount.width, me->blockCount.height);
    printf("\n  cornerCount: width=%d, height=%d\n", me->cornerCount.width, me->cornerCount.height);

    printf("\n  allBlocks: x=%d, y=%d, width=%d, height=%d\n", me->allBlocks.x, me->allBlocks.y, me->allBlocks.width, me->allBlocks.height);
    printf("\n  allCorners: x=%d, y=%d, width=%d, height=%d\n", me->allCorners.x, me->allCorners.y, me->allCorners.width, me->allCorners.height);

    printf("\n  corners.allX (%dx):", me->corners.allX.size);
    array_printf(me->corners.allX.size, me->corners.allX.data);
    printf("\n  corners.allY (%dx):", me->corners.allY.size);
    array_printf(me->corners.allY.size, me->corners.allY.data);
    printf("\n  blockAreas.corners.allX (%dx):", me->blockAreas.corners.allX.size);
    array_printf(me->blockAreas.corners.allX.size, me->blockAreas.corners.allX.data);
    printf("\n  blockAreas.corners.allY (%dx):", me->blockAreas.corners.allY.size);
    array_printf(me->blockAreas.corners.allY.size, me->blockAreas.corners.allY.data);
    
    
    printf("\n  blockCenters.allX (%dx):", me->blockCenters.allX.size);
    array_printf(me->blockCenters.allX.size, me->blockCenters.allX.data);
    printf("\n  blockCenters.allY (%dx):", me->blockCenters.allY.size);
    array_printf(me->blockCenters.allY.size, me->blockCenters.allY.data);
    printf("\n  cornerAreas.corners.allX (%dx):", me->cornerAreas.corners.allX.size);
    array_printf(me->cornerAreas.corners.allX.size, me->cornerAreas.corners.allX.data);   
    printf("\n  cornerAreas.corners.allY (%dx):", me->cornerAreas.corners.allY.size);
    PrintBlock(me->cornerAreas.corners.allY);
}
Exemple #3
0
END_TEST

START_TEST(test_array_io) {
    printf("Printing data1 array\n");
    size_t chars_printed = array_printf(data1, length, "%f ");
    fail_unless(chars_printed > 0, "An error printing array has occurred");
   
    printf("Saving data1 array to '/tmp/array_fprintf.txt'\n");
    FILE *file = fopen("/tmp/array_fprintf.txt", "w");
    chars_printed = array_fprintf(data1, length, "%f\n", file);
    fclose(file);
    fail_unless(chars_printed > 0, "An error saving array has occurred");
    
    printf("Reading data1 array from '/tmp/array_fprintf.txt'\n");
    file = fopen("/tmp/array_fprintf.txt", "r");
    double *data_file = (double*)malloc(length*sizeof(double));
    array_fread(file, data_file, length);
    fclose(file);
    array_printf(data_file, length, "%f ");
    printf("\n");
}
Exemple #4
0
/* Helper function used by print_inode_blocks */
static void print_blocks(inode *ino, uint32_t blockno, int level, int indent,
                         int *lblock, array *out)
{
  if (0 == blockno)
    return;
  char str[256];
  str[0] = '\0';
  char *s = str;
  int i;
  for (i = 0; i < indent; i++)
    s += sprintf(s,"    ");
  switch (level) {
  case 0:
    s += sprintf(s,"Direct %d",blockno);
    break;
  case 1:
    s += sprintf(s,"Single indirect %d",blockno);
    break;
  case 2:
    s += sprintf(s,"Double indirect %d",blockno);
    break;
  case 3:
    s += sprintf(s,"Triple indirect %d",blockno);
    break;
  }
  if (level == 0) {
    array_printf(out,"%-40s %d\n",str,*lblock);
    (*lblock)++;
  }
  else {
    array_printf(out,"%s\n",str);
  }
  if (level > 0) {
    buffer *table;
    try(bufcache_get(ino->fs->bc,blockno,&table));
    for (i = 0; i < RPB; i++)
      print_blocks(ino,((uint32_t*)table->data)[i],level-1,indent+1,lblock,out);
  }
}
Exemple #5
0
END_TEST

START_TEST(test_array_order) {
    printf("Ordering data1 array\n");
    size_t *indices = (size_t*)malloc(length*sizeof(size_t));
    
    printf("Nominal p-values:\n");
    array_printf(data1, length, "%f ");
    printf("\n");
    BH_correction(data1, length);
    printf("BH p-adjust::\n");
    array_printf(data1, length, "%f ");
    printf("\n\n");
    
    data1[8] = INFINITY;
    data1[4] = NAN;
    array_order(data1, length, 0, indices);
    
    double *double_ordered = (double*)malloc(length*sizeof(double));
    array_ordered(data1, length, indices, double_ordered);
    printf("Original with NaN and INFINITY:\n");
    array_printf(data1, length, "%f ");
    printf("\n");

    printf("Ordered desc:\n");
    array_printf(double_ordered, length, "%f ");
    printf("\n");

    printf("Ordered asc:\n");
    array_order(data1, length, 1, indices);
    array_ordered(data1, length, indices, double_ordered);
    array_printf(double_ordered, length, "%f ");
    printf("\n\n");
    
    free(indices);
    free(double_ordered);
   
}
Exemple #6
0
int
array_check_ascending(struct array* a)
{
  int i;

  for (i = 0; i < a->length - 1; i++)
    {
      if (a->data[i] > a->data[i + 1])
        {
          array_printf(a);
          printf("[ERROR] Inconsistency at index %i: %i followed by %i\n", i,
              a->data[i], a->data[i + 1]);
          assert(a->data[i] <= a->data[i + 1]);
          return -1;
        }
    }

  return a->length;
}
Exemple #7
0
void txt_print(const uint8_t *data, unsigned length)
{
	array_printf(data, length, &printf, 't');
}
Exemple #8
0
void short_hex_print(const uint8_t *data, unsigned length)
{
	array_printf(data, length, &printf, 'x');
}
Exemple #9
0
void hex_print(const uint8_t *data, unsigned length)
{
	array_printf(data, length, &printf, 0);
}