I thought the purpose of this function was to avoid calling VecGetArray multiple times on identical arguments. In particular, consider a Vec implementation that was not backed by a contiguous array. Must these implementations keep a reference count of how many times the same array was checked out? This violates the present API implied by VecGetArray_Seq:<div>
<br></div><div>if (vin->array_gotten) SETERRQ(PETSC_COMM_SELF,PETSC_ERR_ORDER,"Array has already been gotten for this vector,you may\nhave forgotten a call to VecRestoreArray()");</div><div><br></div><div>Do you want to relax this restriction on the API (placing extra burden on the implementation), or revert the patch?</div>
<div><br></div><div>Jed</div>