Skip to content

Commit b366e35

Browse files
committed
Add param blocksize
1 parent 969f187 commit b366e35

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

sdp/challenger_sdp.py

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -44,14 +44,16 @@ def _sliding_dot_product_r2c2r(Q, T):
4444
return c2r(False, np.multiply(fft_2d[0], fft_2d[1]), n=next_fast_n)[m - 1 : n]
4545

4646

47-
def _sliding_dot_product(Q, T):
47+
def _sliding_dot_product(Q, T, block_size=None):
4848
m = Q.shape[0]
4949
n = T.shape[0]
5050

51-
# compute optimal block size
5251
overlap = m - 1
53-
opt_size = -overlap * lambertw(-1 / (2 * math.e * overlap), k=-1).real
54-
block_size = next_fast_len(math.ceil(opt_size), real=True)
52+
if block_size is None:
53+
# compute optimal block size
54+
opt_size = -overlap * lambertw(-1 / (2 * math.e * overlap), k=-1).real
55+
block_size = next_fast_len(math.ceil(opt_size), real=True)
56+
5557
if block_size >= n:
5658
return _sliding_dot_product_r2c2r(Q, T)
5759

@@ -70,7 +72,7 @@ def setup(Q, T):
7072
return
7173

7274

73-
def sliding_dot_product(Q, T):
75+
def sliding_dot_product(Q, T, block_size=None):
7476
if len(Q) == len(T):
7577
return np.dot(Q, T)
76-
return _sliding_dot_product(Q, T)
78+
return _sliding_dot_product(Q, T, block_size=block_size)

0 commit comments

Comments
 (0)