internal bool SameBounds(uint dims, int[] lbounds, int[] sizs)
{
if (dims != numDims) return false;
if (lowerBounds != null) {
if ((lbounds == null) || (lowerBounds.Length != lbounds.Length)) return false;
for (int i=0; i < lowerBounds.Length; i++)
if (lowerBounds[i] != lbounds[i]) return false;
} else
if (lbounds != null) return false;
if (sizes != null) {
if ((sizs == null) || (sizes.Length != sizs.Length)) return false;
for (int i=0; i < sizes.Length; i++)
if (sizes[i] != sizs[i]) return false;
} else
if (sizs != null) return false;
return true;
}