feat: adds methods for better creation of input lists, including pairs
This commit is contained in:
4
pdme/inputs/__init__.py
Normal file
4
pdme/inputs/__init__.py
Normal file
@@ -0,0 +1,4 @@
|
||||
from pdme.inputs.dot_inputs import inputs_with_frequency_range, input_pairs_with_frequency_range
|
||||
|
||||
|
||||
__all__ = ['inputs_with_frequency_range', 'input_pairs_with_frequency_range']
|
||||
13
pdme/inputs/dot_inputs.py
Normal file
13
pdme/inputs/dot_inputs.py
Normal file
@@ -0,0 +1,13 @@
|
||||
import numpy
|
||||
import numpy.typing
|
||||
import itertools
|
||||
from typing import Sequence, Tuple
|
||||
|
||||
|
||||
def inputs_with_frequency_range(dots: Sequence[numpy.typing.ArrayLike], frequency_range: Sequence[float]) -> Sequence[Tuple[numpy.typing.ArrayLike, float]]:
|
||||
return list(itertools.chain(*[[(dot, f) for f in frequency_range] for dot in dots]))
|
||||
|
||||
|
||||
def input_pairs_with_frequency_range(dots: Sequence[numpy.typing.ArrayLike], frequency_range: Sequence[float]) -> Sequence[Tuple[numpy.typing.ArrayLike, numpy.typing.ArrayLike, float]]:
|
||||
all_pairs = itertools.combinations(dots, 2)
|
||||
return list(itertools.chain(*[[(dot1, dot2, f) for f in frequency_range] for (dot1, dot2) in all_pairs]))
|
||||
Reference in New Issue
Block a user