Checking in a new is_valid function which will return false for out of range indices...
authorIsaac Dooley <idooley2@illinois.edu>
Sat, 17 Feb 2007 18:55:21 +0000 (18:55 +0000)
committerIsaac Dooley <idooley2@illinois.edu>
Sat, 17 Feb 2007 18:55:21 +0000 (18:55 +0000)
src/libs/ck-libs/ParFUM/ParFUM_internals.h
src/libs/ck-libs/ParFUM/mesh.C

index 188350b2bcc6a21e198733a1298ad6de376026d5..5c910b73d00ad82ba1baa0a43239b04089b4d46c 100644 (file)
@@ -868,7 +868,8 @@ class FEM_Entity {
   void allocateValid();
   void set_valid(int idx, bool isNode);
   void set_invalid(int idx, bool isNode);
-  int is_valid(int idx);
+  int is_valid(int idx);         // will fail assertions for out of range indices
+  int is_valid_any_idx(int idx); // will not fail assertions for out of range indices
   int count_valid();
   int get_next_invalid(FEM_Mesh *m, bool isNode, bool isGhost);
   virtual bool hasConn(int idx)=0;
index 2d2739f3934ca6b812390a76abfdd454f01b0850..a0a9aebfe6db394e946d7bd6762238818d4d15b1 100644 (file)
@@ -1328,13 +1328,15 @@ void FEM_Entity::set_invalid(int idx, bool isNode){
 }
 
 int FEM_Entity::is_valid(int idx){
-  if(true) { //maintains a list of invalid elements. FASTER
     CkAssert(idx < size() && idx >=0);
     return valid->getChar()(idx,0);
-  } else {
-    CkAssert(idx < size() && idx >=0 && first_invalid<=last_invalid);
+}
+
+int FEM_Entity::is_valid_any_idx(int idx){
+  if(idx >= size() || idx < 0)
+       return false;
+  else 
     return valid->getChar()(idx,0);
-  }
 }
 
 int FEM_Entity::count_valid(){