Commit e8c9a82ba15e3f8c8d27f9f64d59075a45e1f9a0

Authored by David Mayerich
1 parent 6e9cf1ac

fixed GCC errors and warnings associated with NetMets

Showing 2 changed files with 16 additions and 15 deletions   Show diff stats
stim/biomodels/network.h
@@ -35,7 +35,7 @@ class network{ @@ -35,7 +35,7 @@ class network{
35 // default constructor 35 // default constructor
36 edge() : cylinder<T>() 36 edge() : cylinder<T>()
37 { 37 {
38 - v[1] = -1; v[0] = -1; 38 + v[1] = (unsigned)(-1); v[0] = (unsigned)(-1);
39 } 39 }
40 /// Constructor - creates an edge from a list of points by calling the stim::fiber constructor 40 /// Constructor - creates an edge from a list of points by calling the stim::fiber constructor
41 41
@@ -421,7 +421,7 @@ public: @@ -421,7 +421,7 @@ public:
421 R = (*this); //initialize the result with the current network 421 R = (*this); //initialize the result with the current network
422 422
423 //generate a KD-tree for network A 423 //generate a KD-tree for network A
424 - float metric = 0.0; // initialize metric to be returned after comparing the networks 424 + //float metric = 0.0; // initialize metric to be returned after comparing the networks
425 stim::cuda_kdtree<T, 3> kdt; // initialize a pointer to a kd tree 425 stim::cuda_kdtree<T, 3> kdt; // initialize a pointer to a kd tree
426 size_t MaxTreeLevels = 3; // max tree level 426 size_t MaxTreeLevels = 3; // max tree level
427 427
@@ -447,8 +447,8 @@ public: @@ -447,8 +447,8 @@ public:
447 447
448 stim::vec3<T> p0, p1; 448 stim::vec3<T> p0, p1;
449 float m1; 449 float m1;
450 - float M = 0; //stores the total metric value  
451 - float L = 0; //stores the total network length 450 + //float M = 0; //stores the total metric value
  451 + //float L = 0; //stores the total network length
452 float* queryPt = new float[3]; 452 float* queryPt = new float[3];
453 for(unsigned e = 0; e < R.E.size(); e++){ //for each edge in A 453 for(unsigned e = 0; e < R.E.size(); e++){ //for each edge in A
454 R.E[e].add_mag(0); //add a new magnitude for the metric 454 R.E[e].add_mag(0); //add a new magnitude for the metric
@@ -488,7 +488,7 @@ public: @@ -488,7 +488,7 @@ public:
488 void load_txt(std::string filename) 488 void load_txt(std::string filename)
489 { 489 {
490 std::vector <std::string> file_contents; 490 std::vector <std::string> file_contents;
491 - std::ifstream file(filename); 491 + std::ifstream file(filename.c_str());
492 std::string line; 492 std::string line;
493 std::vector<unsigned> id2vert; //this list stores the vertex ID associated with each network vertex 493 std::vector<unsigned> id2vert; //this list stores the vertex ID associated with each network vertex
494 //for each line in the text file, store them as strings in file_contents 494 //for each line in the text file, store them as strings in file_contents
@@ -553,8 +553,8 @@ public: @@ -553,8 +553,8 @@ public:
553 void 553 void
554 to_txt(std::string filename) 554 to_txt(std::string filename)
555 { 555 {
556 - std::ofstream ofs(filename, std::ofstream::out | std::ofstream::app);  
557 - int num; 556 + std::ofstream ofs(filename.c_str(), std::ofstream::out | std::ofstream::app);
  557 + //int num;
558 ofs << (E.size()).str() << "\n"; 558 ofs << (E.size()).str() << "\n";
559 for(unsigned int i = 0; i < E.size(); i++) 559 for(unsigned int i = 0; i < E.size(); i++)
560 { 560 {
@@ -567,7 +567,8 @@ public: @@ -567,7 +567,8 @@ public:
567 { 567 {
568 std::string str; 568 std::string str;
569 str = V[i].str(); 569 str = V[i].str();
570 - removeCharsFromString(str, "[],"); 570 + char temp[4] = "[],";
  571 + removeCharsFromString(str, temp);
571 ofs << str << "\n"; 572 ofs << str << "\n";
572 } 573 }
573 ofs.close(); 574 ofs.close();
stim/structures/kdtree.cuh
@@ -52,7 +52,7 @@ namespace stim { @@ -52,7 +52,7 @@ namespace stim {
52 int current_axis; // current judging axis 52 int current_axis; // current judging axis
53 int cmps; // count how many time of comparisons (just for cpu-kdtree) 53 int cmps; // count how many time of comparisons (just for cpu-kdtree)
54 int n_id; // store the total number of nodes 54 int n_id; // store the total number of nodes
55 - std::vector <kdtree::point<T, D>> *tmp_points; // transfer or temp points 55 + std::vector < typename kdtree::point<T, D> > *tmp_points; // transfer or temp points
56 kdtree::kdnode<T> *root; // root node 56 kdtree::kdnode<T> *root; // root node
57 static cpu_kdtree<T, D> *cur_tree_ptr; 57 static cpu_kdtree<T, D> *cur_tree_ptr;
58 public: 58 public:
@@ -78,7 +78,7 @@ namespace stim { @@ -78,7 +78,7 @@ namespace stim {
78 } 78 }
79 root = NULL; 79 root = NULL;
80 } 80 }
81 - void Create(std::vector <kdtree::point<T, D>> &reference_points, size_t max_levels) { 81 + void Create(std::vector < typename kdtree::point<T, D> > &reference_points, size_t max_levels) {
82 tmp_points = &reference_points; 82 tmp_points = &reference_points;
83 root = new kdtree::kdnode<T>(); // initializing the root node 83 root = new kdtree::kdnode<T>(); // initializing the root node
84 root->idx = n_id++; // the index of root is 0 84 root->idx = n_id++; // the index of root is 0
@@ -119,11 +119,11 @@ namespace stim { @@ -119,11 +119,11 @@ namespace stim {
119 } 119 }
120 } 120 }
121 static bool SortPoints(const size_t a, const size_t b) { // create functor for std::sort 121 static bool SortPoints(const size_t a, const size_t b) { // create functor for std::sort
122 - std::vector <kdtree::point<T, D>> &pts = *cur_tree_ptr->tmp_points; // put cur_tree_ptr to current input points' pointer 122 + std::vector < typename kdtree::point<T, D> > &pts = *cur_tree_ptr->tmp_points; // put cur_tree_ptr to current input points' pointer
123 return pts[a].dim[cur_tree_ptr->current_axis] < pts[b].dim[cur_tree_ptr->current_axis]; 123 return pts[a].dim[cur_tree_ptr->current_axis] < pts[b].dim[cur_tree_ptr->current_axis];
124 } 124 }
125 void Split(kdtree::kdnode<T> *cur, kdtree::kdnode<T> *left, kdtree::kdnode<T> *right) { 125 void Split(kdtree::kdnode<T> *cur, kdtree::kdnode<T> *left, kdtree::kdnode<T> *right) {
126 - std::vector <kdtree::point<T, D>> &pts = *tmp_points; 126 + std::vector < typename kdtree::point<T, D> > &pts = *tmp_points;
127 current_axis = cur->level % D; // indicate the judicative dimension or axis 127 current_axis = cur->level % D; // indicate the judicative dimension or axis
128 std::sort(cur->indices.begin(), cur->indices.end(), SortPoints); // using SortPoints as comparison function to sort the data 128 std::sort(cur->indices.begin(), cur->indices.end(), SortPoints); // using SortPoints as comparison function to sort the data
129 size_t mid_value = cur->indices[cur->indices.size() / 2]; // odd in the mid_value, even take the floor 129 size_t mid_value = cur->indices[cur->indices.size() / 2]; // odd in the mid_value, even take the floor
@@ -317,7 +317,7 @@ namespace stim { @@ -317,7 +317,7 @@ namespace stim {
317 std::cout<<"The max_tree_levels should be smaller!"<<std::endl; 317 std::cout<<"The max_tree_levels should be smaller!"<<std::endl;
318 exit(1); 318 exit(1);
319 } 319 }
320 - std::vector <kdtree::point<T, D>> reference_points(reference_count); // restore the reference points in particular way 320 + std::vector < typename kdtree::point<T, D> > reference_points(reference_count); // restore the reference points in particular way
321 for (size_t j = 0; j < reference_count; j++) 321 for (size_t j = 0; j < reference_count; j++)
322 for (size_t i = 0; i < dim_count; i++) 322 for (size_t i = 0; i < dim_count; i++)
323 reference_points[j].dim[i] = h_reference_points[j * dim_count + i]; 323 reference_points[j].dim[i] = h_reference_points[j * dim_count + i];
@@ -331,7 +331,7 @@ namespace stim { @@ -331,7 +331,7 @@ namespace stim {
331 HANDLE_ERROR(cudaMalloc((void**)&d_index, sizeof(size_t) * d_reference_count)); 331 HANDLE_ERROR(cudaMalloc((void**)&d_index, sizeof(size_t) * d_reference_count));
332 HANDLE_ERROR(cudaMalloc((void**)&d_reference_points, sizeof(kdtree::point<T, D>) * d_reference_count)); 332 HANDLE_ERROR(cudaMalloc((void**)&d_reference_points, sizeof(kdtree::point<T, D>) * d_reference_count));
333 333
334 - std::vector <cuda_kdnode<T>> tmp_nodes(num_nodes); 334 + std::vector < cuda_kdnode<T> > tmp_nodes(num_nodes);
335 std::vector <size_t> indices(d_reference_count); 335 std::vector <size_t> indices(d_reference_count);
336 std::vector <kdtree::kdnode<T>*> next_nodes; 336 std::vector <kdtree::kdnode<T>*> next_nodes;
337 size_t cur_pos = 0; 337 size_t cur_pos = 0;
@@ -372,7 +372,7 @@ namespace stim { @@ -372,7 +372,7 @@ namespace stim {
372 HANDLE_ERROR(cudaMemcpy(d_reference_points, &reference_points[0], sizeof(kdtree::point<T, D>) * reference_points.size(), cudaMemcpyHostToDevice)); 372 HANDLE_ERROR(cudaMemcpy(d_reference_points, &reference_points[0], sizeof(kdtree::point<T, D>) * reference_points.size(), cudaMemcpyHostToDevice));
373 } 373 }
374 void Search(T *h_query_points, size_t query_count, size_t dim_count, T *dists, size_t *indices) { 374 void Search(T *h_query_points, size_t query_count, size_t dim_count, T *dists, size_t *indices) {
375 - std::vector <kdtree::point<T, D>> query_points(query_count); 375 + std::vector < typename kdtree::point<T, D> > query_points(query_count);
376 for (size_t j = 0; j < query_count; j++) 376 for (size_t j = 0; j < query_count; j++)
377 for (size_t i = 0; i < dim_count; i++) 377 for (size_t i = 0; i < dim_count; i++)
378 query_points[j].dim[i] = h_query_points[j * dim_count + i]; 378 query_points[j].dim[i] = h_query_points[j * dim_count + i];