mirror of
https://github.com/fjosw/pyerrors.git
synced 2025-03-15 14:50:25 +01:00
48 lines
1.1 KiB
Python
48 lines
1.1 KiB
Python
import numpy as np
|
|
import pyerrors as pe
|
|
import pytest
|
|
|
|
np.random.seed(0)
|
|
|
|
length = 1000
|
|
|
|
def mul(x, y):
|
|
return x * y
|
|
|
|
|
|
def test_b_mul(benchmark):
|
|
my_obs = pe.Obs([np.random.rand(length)], ['t1'])
|
|
|
|
benchmark(mul, my_obs, my_obs)
|
|
|
|
|
|
def test_b_cmul(benchmark):
|
|
my_obs = pe.CObs(pe.Obs([np.random.rand(length)], ['t1']),
|
|
pe.Obs([np.random.rand(length)], ['t1']))
|
|
|
|
benchmark(mul, my_obs, my_obs)
|
|
|
|
|
|
def test_b_matmul(benchmark):
|
|
dim = 4
|
|
my_list = []
|
|
for i in range(dim ** 2):
|
|
my_list.append(pe.Obs([np.random.rand(length)], ['t1']))
|
|
my_array = np.array(my_list).reshape((dim, dim))
|
|
|
|
benchmark(pe.linalg.matmul, my_array, my_array)
|
|
|
|
def test_b_cmatmul(benchmark):
|
|
dim = 4
|
|
my_list = []
|
|
for i in range(dim ** 2):
|
|
my_list.append(pe.CObs(pe.Obs([np.random.rand(length)], ['t1']),
|
|
pe.Obs([np.random.rand(length)], ['t1'])))
|
|
my_array = np.array(my_list).reshape((dim, dim))
|
|
|
|
benchmark(pe.linalg.matmul, my_array, my_array)
|
|
|
|
|
|
def test_b_gamma(benchmark):
|
|
my_obs = pe.Obs([np.random.rand(length)], ['t1'])
|
|
benchmark(my_obs.gamma_method)
|