protected static FrameBlock createOutputFrameBlock(ValueType[] schema,String[] names,long nrow) throws IOException, DMLRuntimeException {
  if (!OptimizerUtils.isValidCPDimensions(schema,names))   throw new DMLRuntimeException("Schema and names to be define with equal size.");
  FrameBlock ret=new FrameBlock(schema,names);
  ret.ensureAllocatedColumns((int)nrow);
  return ret;
}

protected static FrameBlock createOutputFrameBlock ( ValueType [ ] schema , String [ ] names , long nrow ) throws IOException , DMLRuntimeException { if ( ! OptimizerUtils . isValidCPDimensions ( schema , names ) ) throw new DMLRuntimeException ( "Schema and names to be define with equal size." ) ; FrameBlock ret = new FrameBlock ( schema , names ) ; ret . ensureAllocatedColumns ( ( int ) nrow ) ; return ret ; }
note : mallocdense controls if the output matrix blocks is fully allocated , this can be redundant if binary block read and single block .
