def METHOD_NAME(readcsv=read_csv, method="defaultDense"):
    # read data from file
    file = os.path.join("..", "data", "batch", "covcormoments_dense.csv")
    data = readcsv(file, range(10), t=np.float32)
    # Using of the classic way (computations on CPU)
    result_classic = compute(data, method)
    data = to_numpy(data)
    # It is possible to specify to make the computations on GPU
    if gpu_available:
        with sycl_context("gpu"):
            sycl_data = sycl_buffer(data)
            result_gpu = compute(sycl_data, "defaultDense")
        for name in [
            "minimum",
            "maximum",
            "sum",
            "sumSquares",
            "sumSquaresCentered",
            "mean",
            "secondOrderRawMoment",
            "variance",
            "standardDeviation",
            "variation",
        ]:
            assert np.allclose(getattr(result_classic, name), getattr(result_gpu, name))
    # It is possible to specify to make the computations on CPU
    with sycl_context("cpu"):
        sycl_data = sycl_buffer(data)
        result_cpu = compute(sycl_data, "defaultDense")
    # result provides minimum, maximum, sum, sumSquares, sumSquaresCentered,
    # mean, secondOrderRawMoment, variance, standardDeviation, variation
    assert all(
        getattr(result_classic, name).shape == (1, data.shape[1])
        for name in [
            "minimum",
            "maximum",
            "sum",
            "sumSquares",
            "sumSquaresCentered",
            "mean",
            "secondOrderRawMoment",
            "variance",
            "standardDeviation",
            "variation",
        ]
    )
    for name in [
        "minimum",
        "maximum",
        "sum",
        "sumSquares",
        "sumSquaresCentered",
        "mean",
        "secondOrderRawMoment",
        "variance",
        "standardDeviation",
        "variation",
    ]:
        assert np.allclose(getattr(result_classic, name), getattr(result_cpu, name))
    return result_classic