Example #1
0
bool NConcept::isNumeric(const nvar& v, bool allowNegative){
  if(v.hasVector()){
    for(const nvar& vi : v){
      if(vi == undef){
        return false;
      }
      
      if(!vi.isNumeric()){
        return false;
      }

      if(!allowNegative && vi < 0){
        return false;
      }
    }
      
    return true;
  }

  if(v == undef){
    return false;
  }

  if(v.isNumeric()){
    if(allowNegative){
      return true;
    }
    return v >= 0; 
  }

  return false;
}