Ejemplo n.º 1
0
/*-------------------------------------------------------------*/
int AzDvect::next(AzCursor &cursor, double &out_val) const
{
  int nonzero_ex = MAX(cursor.get(), 0); 
  for ( ; nonzero_ex < num; ++nonzero_ex) {
    if (elm[nonzero_ex] != 0) {
      break;
    }
  }

  cursor.set(nonzero_ex + 1);  /* prepare for next "next" */

  if (nonzero_ex < num) {
    out_val = elm[nonzero_ex]; 
    return nonzero_ex; 
  }

  /*---  end of the elements  ---*/
  out_val = 0; 
  return AzNone; 
}