parameters: (C)
return_statement: return D,E,A,B
docstring: \n        Read a PNG file and decode it into a single array of values.\n        Returns (*width*, *height*, *values*, *info*).\n\n        May use excessive memory.\n\n        `values` is a single array.\n\n        The :meth:`read` method is more stream-friendly than this,\n        because it returns a sequence of rows.\n
docstring_summary: \n        Read a PNG file and decode it into a single array of values.\n        Returns (*width*, *height*, *values*, *info*).\n\n        May use excessive memory.\n\n        `values` is a single array.\n\n        The :meth:`read` method is more stream-friendly than this,\n        because it returns a sequence of rows.\n
docstring_tokens: \ n Read a PNG file and decode it into a single array of values . \ n Returns ( * width * * height * * values * * info * ) . \ n \ n May use excessive memory . \ n \ n values is a single array . \ n \ n The : meth : read method is more stream - friendly than this \ n because it returns a sequence of rows . \ n
function: def read_flat(C):'\n        Read a PNG file and decode it into a single array of values.\n        Returns (*width*, *height*, *values*, *info*).\n\n        May use excessive memory.\n\n        `values` is a single array.\n\n        The :meth:`read` method is more stream-friendly than this,\n        because it returns a sequence of rows.\n        ';D,E,A,B=C.read();F=_F[B[_B]>8];A=array(F,itertools.chain(*(A)));return D,E,A,B
function_tokens: def read_flat ( C ) : D , E , A , B = C . read ( ) F = _F [ B [ _B ] > 8 ] A = array ( F , itertools . chain ( * ( A ) ) ) return D , E , A , B