Source: python-questplus Version: 2023.1-2 Severity: normal python-questplus is failing tests on arm64 with scipy 1.14 (from experimental)
71s ____________________________ test_thurstone_scaling ____________________________ 71s 71s def test_thurstone_scaling(): 71s """ 71s Watson 2017, Example 6: 71s "Thurstone scaling {2, 3, 2}" 71s """ 71s stim_magnitudes = np.arange(0, 1+0.1, 0.1) 71s perceptual_scale_maxs = np.arange(1, 10+1) 71s thresholds = np.arange(0, 0.9+0.1, 0.1) 71s powers = np.arange(0.1, 1+0.1, 0.1) 71s 71s # Due to differences in rounding, the order of stimuli (1 or 2) is swapped on some trials 71s # compared to the paper. We therefore have to swap the example response as well. 71s # 71s # We're only testing the first 22 trials here. 71s responses = ['Second'] * 6 71s responses.extend(['Second']) # rounding difference 71s responses.extend(['Second'] * 13) 71s responses.extend(['Second']) # rounding difference 71s responses.extend(['First']) 71s 71s expected_stims = [ 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.7}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.6}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.5}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.4}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.0}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.4}, 71s {'physical_magnitude_stim_1': 0.0, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.5, 'physical_magnitude_stim_2': 1.0}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.5, 'physical_magnitude_stim_2': 1.0}, 71s {'physical_magnitude_stim_1': 0.5, 'physical_magnitude_stim_2': 1.0}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.5, 'physical_magnitude_stim_2': 1.0}, 71s {'physical_magnitude_stim_1': 0.6, 'physical_magnitude_stim_2': 1.0}, 71s {'physical_magnitude_stim_1': 0.2, 'physical_magnitude_stim_2': 0.3}, 71s {'physical_magnitude_stim_1': 0.6, 'physical_magnitude_stim_2': 1.0}, 71s ] 71s 71s qp = QuestPlusThurstone( 71s physical_magnitudes_stim_1=stim_magnitudes, 71s physical_magnitudes_stim_2=stim_magnitudes, 71s thresholds=thresholds, 71s powers=powers, 71s perceptual_scale_maxs=perceptual_scale_maxs 71s ) 71s 71s for trial_idx, x in enumerate(zip(expected_stims, responses)): 71s expected_stim, response = x 71s 71s expected_stim_1 = expected_stim['physical_magnitude_stim_1'] 71s expected_stim_2 = expected_stim['physical_magnitude_stim_2'] 71s 71s next_stim_1 = qp.next_stim['physical_magnitude_stim_1'] 71s next_stim_2 = qp.next_stim['physical_magnitude_stim_2'] 71s 71s if trial_idx in (6, 20): 71s # Rounding errors make the algorithm behave differently on different platforms. 71s if ( 71s expected_stim_1 == next_stim_2 and 71s expected_stim_2 == next_stim_1 71s ): 71s expected_stim_1, expected_stim_2 = expected_stim_2, expected_stim_1 71s response = 'First' if response == 'Second' else 'Second' 71s 71s > assert np.isclose(next_stim_1, expected_stim_1) 71s E assert False 71s E + where False = <function isclose at 0xffffb425d470>(1.0, 0.6) 71s E + where <function isclose at 0xffffb425d470> = np.isclose 71s 71s questplus/test_qp.py:447: AssertionError Full test log at https://ci.debian.net/packages/p/python-questplus/unstable/arm64/51054054/