def _get_extent(gt, cols, rows):
    """ Return the corner coordinates from a geotransform

    :param gt: geotransform
    :type gt: (float, float, float, float, float, float)
    :param cols: number of columns in the dataset
    :type cols: int
    :param rows: number of rows in the dataset
    :type rows: int
    :rtype: list of (list of float)
    :return: List of four corner coords: ul, ll, lr, ur

    >>> gt = (144.0, 0.00025, 0.0, -36.0, 0.0, -0.00025)
    >>> cols = 4000
    >>> rows = 4000
    >>> _get_extent(gt, cols, rows)
    [[144.0, -36.0], [144.0, -37.0], [145.0, -37.0], [145.0, -36.0]]
    """
    ext = []
    xarr = [0, cols]
    yarr = [0, rows]

    for px in xarr:
        for py in yarr:
            x = gt[0] + (px * gt[1]) + (py * gt[2])
            y = gt[3] + (px * gt[4]) + (py * gt[5])
            ext.append([x, y])
        yarr.reverse()
    return ext