if( (_op == DataGenMethod.RAND || _op == DataGenMethod.SINIT ) &&
OptimizerUtils.ALLOW_WORSTCASE_SIZE_EXPRESSION_EVALUATION )
{
long dim1 = computeDimParameterInformation(getInput().get(_paramIndexMap.get(DataExpression.RAND_ROWS)), memo);
long dim2 = computeDimParameterInformation(getInput().get(_paramIndexMap.get(DataExpression.RAND_COLS)), memo);
<BUG>long nnz = (long)(_sparsity * dim1 * dim2);
</BUG>
if( dim1>0 && dim2>0 )
return new long[]{ dim1, dim2, nnz };
}

if( (_op == DataGenMethod.RAND || _op == DataGenMethod.SINIT ) &&
OptimizerUtils.ALLOW_WORSTCASE_SIZE_EXPRESSION_EVALUATION )
{
long dim1 = computeDimParameterInformation(getInput().get(_paramIndexMap.get(DataExpression.RAND_ROWS)), memo);
long dim2 = computeDimParameterInformation(getInput().get(_paramIndexMap.get(DataExpression.RAND_COLS)), memo);
long nnz = _sparsity >= 0 ? (long)(_sparsity * dim1 * dim2) : -1;
if( dim1>0 && dim2>0 )
return new long[]{ dim1, dim2, nnz };
}
