Esempio n. 1
0
 bool BvhPrimitive::intersect(Ray& ray, Intersection& out_isect) const {
   stat_count(COUNTER_BVH_PRIM_INTERSECT);
   bool found = false;
   this->bvh.traverse_elems(ray, [&](const std::unique_ptr<Primitive>& prim) {
     if(prim->intersect(ray, out_isect)) {
       found = true;
     }
     return true;
   });
   if(found) {
     stat_count(COUNTER_BVH_PRIM_INTERSECT_HIT);
   }
   return found;
 }
Esempio n. 2
0
 bool BvhPrimitive::intersect_p(const Ray& ray) const {
   stat_count(COUNTER_BVH_PRIM_INTERSECT_P);
   bool found = false;
   this->bvh.traverse_elems(ray, [&](const std::unique_ptr<Primitive>& prim) {
     if(prim->intersect_p(ray)) {
       found = true;
       return false;
     } else {
       return true;
     }
   });
   if(found) {
     stat_count(COUNTER_BVH_PRIM_INTERSECT_P_HIT);
   }
   return found;
 }
Esempio n. 3
0
void dat_dump(struct index_s *index)
{
    time_info tinfo;
    int time;
    struct datrietree_s* datrie;
    struct stat_info sinfo;

    timestart(&tinfo);
    datrie = loaddatrie_bindict(index->datrie_index_file_name);
    time = timeend(&tinfo);
    printf("Load Datrie Bindict Time: %d\n", time);
    if (!datrie) {
        printf("Load Index Failed: %s\n", index->datrie_index_file_name);
        return;
    }

    printf("Wordimage Size: %lubyte\n", datrie->wordimage->size * sizeof(int));
    printf("Array Size: %lubyte\n", datrie->datrie->size * sizeof(int) * 3);

    stat_count(datrie->datrie, &sinfo);
    printf("Array Total Count: %d Zero Count: %lu Ratio: %.3f%%\n",
           datrie->datrie->size,
           sinfo.zero_count,
           ((double)sinfo.zero_count / (double)datrie->datrie->size)*100);
    printf("Term Total Count: %lu\n",
           sinfo.term_count);
}
Esempio n. 4
0
int main(int argc, char **argv)
{
      Stat_T data;

      stat_init(&data);
      while (--argc)
      {
            double ftmp;

            ftmp = atof(*(++argv));
            stat_add(ftmp, &data);
      }
      puts("\nBefore \"Olympic\" filtering\n");
      printf("Minimum datum             = %g\n", stat_min(&data));
      printf("Maximum datum             = %g\n", stat_max(&data));
      printf("Number of samples         = %d\n", stat_count(&data));
      printf("Arithmetic mean           = %g\n", stat_mean(&data));
      printf("Geometric mean            = %g\n", stat_gmean(&data));
      printf("Harmonic mean             = %g\n", stat_hmean(&data));
      printf("Standard deviation (N)    = %g\n", stat_stddevP(&data));
      printf("Standard deviation (N-1)  = %g\n", stat_stddevS(&data));
      printf("Variance                  = %g\n", stat_var(&data));
      printf("Population coeff. of var. = %g%%\n", stat_varcoeffP(&data));
      printf("Sample coeff. of var.     = %g%%\n", stat_varcoeffS(&data));

      puts("\nAfter \"Olympic\" filtering\n");
      printf("stat_olympic() returned %s\n", stat_olympic(&data) ?
            "ERROR" : "SUCCESS");
      printf("Minimum datum             = %g\n", stat_min(&data));
      printf("Maximum datum             = %g\n", stat_max(&data));
      printf("Number of samples         = %d\n", stat_count(&data));
      printf("Arithmetic mean           = %g\n", stat_mean(&data));
      printf("Geometric mean            = %g\n", stat_gmean(&data));
      printf("Harmonic mean             = %g\n", stat_hmean(&data));
      printf("Standard deviation (N)    = %g\n", stat_stddevP(&data));
      printf("Standard deviation (N-1)  = %g\n", stat_stddevS(&data));
      printf("Variance                  = %g\n", stat_var(&data));
      printf("Population coeff. of var. = %g%%\n", stat_varcoeffP(&data));
      printf("Sample coeff. of var.     = %g%%\n", stat_varcoeffS(&data));

      return EXIT_SUCCESS;
}