def as_list(value, size, ids=None): if isinstance(value, RandomDistribution): return value.next(n=size) return RangedList.as_list(value, size, ids)
# This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see <http://www.gnu.org/licenses/>. from spinn_utilities.ranged.ranged_list import RangedList import numpy import pytest @pytest.mark.parametrize( "ranged_list, range_based", [(RangedList(10, numpy.arange(10), use_list_as_value=True), True), (RangedList(10, [numpy.arange(10) for _ in range(10)]), False)]) def test_list_of_numpy_list(ranged_list, range_based): assert ranged_list.range_based() == range_based assert numpy.array_equal(ranged_list, [numpy.arange(10) for _ in range(10)]) assert numpy.array_equal(ranged_list.get_single_value_all(), numpy.arange(10)) result_div = ranged_list / 2 assert result_div == [numpy.arange(10) / 2 for _ in range(10)] ranged_list[5] = 5 assert ranged_list[5] == 5 ranged_list[7:9] = 10
def is_list(value, size): if isinstance(value, RandomDistribution): return True return RangedList.is_list(value, size)
def is_list(value, size): if globals_variables.get_simulator().is_a_pynn_random(value): return True return RangedList.is_list(value, size)
def as_list(value, size, ids=None): if globals_variables.get_simulator().is_a_pynn_random(value): return value.next(n=size) return RangedList.as_list(value, size, ids)