Title: [266261] trunk
Revision
266261
Author
cdu...@apple.com
Date
2020-08-27 16:43:34 -0700 (Thu, 27 Aug 2020)

Log Message

Fix AudioParam.linearRampToValueAtTime() formula to match specification
https://bugs.webkit.org/show_bug.cgi?id=215904

Reviewed by Darin Adler.

LayoutTests/imported/w3c:

Rebaseline WPT tests now that more checks are passing or now that they keep passing/failing with
slightly different values.

* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt:
* web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt:

Source/WebCore:

Fix AudioParam.linearRampToValueAtTime() formula to match specification:
- https://www.w3.org/TR/webaudio/#dom-audioparam-linearramptovalueattime

We were using a different formula to compute the value and this was causing us
to fail some web platform tests.

No new tests, rebaselined existing tests.

* Modules/webaudio/AudioParamTimeline.cpp:
(WebCore::AudioParamTimeline::valuesForTimeRangeImpl):

Modified Paths

Diff

Modified: trunk/LayoutTests/imported/w3c/ChangeLog (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/ChangeLog	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/ChangeLog	2020-08-27 23:43:34 UTC (rev 266261)
@@ -1,3 +1,22 @@
+2020-08-27  Chris Dumez  <cdu...@apple.com>
+
+        Fix AudioParam.linearRampToValueAtTime() formula to match specification
+        https://bugs.webkit.org/show_bug.cgi?id=215904
+
+        Reviewed by Darin Adler.
+
+        Rebaseline WPT tests now that more checks are passing or now that they keep passing/failing with
+        slightly different values.
+
+        * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt:
+        * web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt:
+
 2020-08-27  Joonghun Park  <jh718.p...@samsung.com>
 
         Implement @supports selector().

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/audioparam-linearRampToValueAtTime-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -4,106 +4,106 @@
 PASS Audit report 
 PASS > [test] AudioParam linearRampToValueAtTime() functionality 
 PASS   Number of tests started and ended at the correct time is equal to 100. 
-PASS   Max error for test 0 at offset 428 is less than or equal to 0.000001865. 
-PASS   Max error for test 1 at offset 1866 is less than or equal to 0.000001865. 
-PASS   Max error for test 2 at offset 3120 is less than or equal to 0.000001865. 
-PASS   Max error for test 3 at offset 4455 is less than or equal to 0.000001865. 
-PASS   Max error for test 4 at offset 5463 is less than or equal to 0.000001865. 
-PASS   Max error for test 5 at offset 6922 is less than or equal to 0.000001865. 
-PASS   Max error for test 6 at offset 8129 is less than or equal to 0.000001865. 
-PASS   Max error for test 7 at offset 9856 is less than or equal to 0.000001865. 
-PASS   Max error for test 8 at offset 10979 is less than or equal to 0.000001865. 
-PASS   Max error for test 9 at offset 12388 is less than or equal to 0.000001865. 
-PASS   Max error for test 10 at offset 13275 is less than or equal to 0.000001865. 
-PASS   Max error for test 11 at offset 14939 is less than or equal to 0.000001865. 
-PASS   Max error for test 12 at offset 16387 is less than or equal to 0.000001865. 
-PASS   Max error for test 13 at offset 17752 is less than or equal to 0.000001865. 
-PASS   Max error for test 14 at offset 19053 is less than or equal to 0.000001865. 
-PASS   Max error for test 15 at offset 20388 is less than or equal to 0.000001865. 
-PASS   Max error for test 16 at offset 21673 is less than or equal to 0.000001865. 
-PASS   Max error for test 17 at offset 22798 is less than or equal to 0.000001865. 
-PASS   Max error for test 18 at offset 24256 is less than or equal to 0.000001865. 
-PASS   Max error for test 19 at offset 25601 is less than or equal to 0.000001865. 
-PASS   Max error for test 20 at offset 27117 is less than or equal to 0.000001865. 
-PASS   Max error for test 21 at offset 28257 is less than or equal to 0.000001865. 
-PASS   Max error for test 22 at offset 29569 is less than or equal to 0.000001865. 
-PASS   Max error for test 23 at offset 30741 is less than or equal to 0.000001865. 
-PASS   Max error for test 24 at offset 32393 is less than or equal to 0.000001865. 
-PASS   Max error for test 25 at offset 33470 is less than or equal to 0.000001865. 
-PASS   Max error for test 26 at offset 34432 is less than or equal to 0.000001865. 
-PASS   Max error for test 27 at offset 36217 is less than or equal to 0.000001865. 
-PASS   Max error for test 28 at offset 37349 is less than or equal to 0.000001865. 
-PASS   Max error for test 29 at offset 38637 is less than or equal to 0.000001865. 
-PASS   Max error for test 30 at offset 40279 is less than or equal to 0.000001865. 
-PASS   Max error for test 31 at offset 41366 is less than or equal to 0.000001865. 
-PASS   Max error for test 32 at offset 42449 is less than or equal to 0.000001865. 
-PASS   Max error for test 33 at offset 43854 is less than or equal to 0.000001865. 
-PASS   Max error for test 34 at offset 45031 is less than or equal to 0.000001865. 
-PASS   Max error for test 35 at offset 46445 is less than or equal to 0.000001865. 
-PASS   Max error for test 36 at offset 48259 is less than or equal to 0.000001865. 
-PASS   Max error for test 37 at offset 49505 is less than or equal to 0.000001865. 
-PASS   Max error for test 38 at offset 50350 is less than or equal to 0.000001865. 
-PASS   Max error for test 39 at offset 51809 is less than or equal to 0.000001865. 
-PASS   Max error for test 40 at offset 53033 is less than or equal to 0.000001865. 
-PASS   Max error for test 41 at offset 54839 is less than or equal to 0.000001865. 
-PASS   Max error for test 42 at offset 55569 is less than or equal to 0.000001865. 
-PASS   Max error for test 43 at offset 57034 is less than or equal to 0.000001865. 
-PASS   Max error for test 44 at offset 58325 is less than or equal to 0.000001865. 
-PASS   Max error for test 45 at offset 59858 is less than or equal to 0.000001865. 
-PASS   Max error for test 46 at offset 61097 is less than or equal to 0.000001865. 
-PASS   Max error for test 47 at offset 62718 is less than or equal to 0.000001865. 
-PASS   Max error for test 48 at offset 64162 is less than or equal to 0.000001865. 
-PASS   Max error for test 49 at offset 65495 is less than or equal to 0.000001865. 
-PASS   Max error for test 50 at offset 67468 is less than or equal to 0.000001865. 
-PASS   Max error for test 51 at offset 68093 is less than or equal to 0.000001865. 
-PASS   Max error for test 52 at offset 69359 is less than or equal to 0.000001865. 
-PASS   Max error for test 53 at offset 70573 is less than or equal to 0.000001865. 
-PASS   Max error for test 54 at offset 71518 is less than or equal to 0.000001865. 
-PASS   Max error for test 55 at offset 72894 is less than or equal to 0.000001865. 
-PASS   Max error for test 56 at offset 74526 is less than or equal to 0.000001865. 
-PASS   Max error for test 57 at offset 76068 is less than or equal to 0.000001865. 
-PASS   Max error for test 58 at offset 76925 is less than or equal to 0.000001865. 
-PASS   Max error for test 59 at offset 78458 is less than or equal to 0.000001865. 
-PASS   Max error for test 60 at offset 79429 is less than or equal to 0.000001865. 
-PASS   Max error for test 61 at offset 80795 is less than or equal to 0.000001865. 
-PASS   Max error for test 62 at offset 82459 is less than or equal to 0.000001865. 
-PASS   Max error for test 63 at offset 83969 is less than or equal to 0.000001865. 
-PASS   Max error for test 64 at offset 84737 is less than or equal to 0.000001865. 
-PASS   Max error for test 65 at offset 86517 is less than or equal to 0.000001865. 
-PASS   Max error for test 66 at offset 87436 is less than or equal to 0.000001865. 
-PASS   Max error for test 67 at offset 88816 is less than or equal to 0.000001865. 
-PASS   Max error for test 68 at offset 90192 is less than or equal to 0.000001865. 
-PASS   Max error for test 69 at offset 91897 is less than or equal to 0.000001865. 
-PASS   Max error for test 70 at offset 92685 is less than or equal to 0.000001865. 
-PASS   Max error for test 71 at offset 94035 is less than or equal to 0.000001865. 
-PASS   Max error for test 72 at offset 95326 is less than or equal to 0.000001865. 
-PASS   Max error for test 73 at offset 97864 is less than or equal to 0.000001865. 
-PASS   Max error for test 74 at offset 99194 is less than or equal to 0.000001865. 
-PASS   Max error for test 75 at offset 99753 is less than or equal to 0.000001865. 
-PASS   Max error for test 76 at offset 100598 is less than or equal to 0.000001865. 
-PASS   Max error for test 77 at offset 102434 is less than or equal to 0.000001865. 
-PASS   Max error for test 78 at offset 103679 is less than or equal to 0.000001865. 
-PASS   Max error for test 79 at offset 104688 is less than or equal to 0.000001865. 
-PASS   Max error for test 80 at offset 106309 is less than or equal to 0.000001865. 
-PASS   Max error for test 81 at offset 107691 is less than or equal to 0.000001865. 
-PASS   Max error for test 82 at offset 108787 is less than or equal to 0.000001865. 
-PASS   Max error for test 83 at offset 110845 is less than or equal to 0.000001865. 
-PASS   Max error for test 84 at offset 112173 is less than or equal to 0.000001865. 
-PASS   Max error for test 85 at offset 112572 is less than or equal to 0.000001865. 
-PASS   Max error for test 86 at offset 114394 is less than or equal to 0.000001865. 
-PASS   Max error for test 87 at offset 115130 is less than or equal to 0.000001865. 
-PASS   Max error for test 88 at offset 116684 is less than or equal to 0.000001865. 
-PASS   Max error for test 89 at offset 118294 is less than or equal to 0.000001865. 
-PASS   Max error for test 90 at offset 119888 is less than or equal to 0.000001865. 
-PASS   Max error for test 91 at offset 120753 is less than or equal to 0.000001865. 
-PASS   Max error for test 92 at offset 121761 is less than or equal to 0.000001865. 
-PASS   Max error for test 93 at offset 123539 is less than or equal to 0.000001865. 
-PASS   Max error for test 94 at offset 125648 is less than or equal to 0.000001865. 
-PASS   Max error for test 95 at offset 126171 is less than or equal to 0.000001865. 
-PASS   Max error for test 96 at offset 127079 is less than or equal to 0.000001865. 
-PASS   Max error for test 97 at offset 128470 is less than or equal to 0.000001865. 
-PASS   Max error for test 98 at offset 129751 is less than or equal to 0.000001865. 
-PASS   Max error for test 99 at offset 131346 is less than or equal to 0.000001865. 
+PASS   Max error for test 0 at offset 1254 is less than or equal to 0.000001865. 
+PASS   Max error for test 1 at offset 2561 is less than or equal to 0.000001865. 
+PASS   Max error for test 2 at offset 2731 is less than or equal to 0.000001865. 
+PASS   Max error for test 3 at offset 3980 is less than or equal to 0.000001865. 
+PASS   Max error for test 4 at offset 6599 is less than or equal to 0.000001865. 
+PASS   Max error for test 5 at offset 6700 is less than or equal to 0.000001865. 
+PASS   Max error for test 6 at offset 9245 is less than or equal to 0.000001865. 
+PASS   Max error for test 7 at offset 10568 is less than or equal to 0.000001865. 
+PASS   Max error for test 8 at offset 10669 is less than or equal to 0.000001865. 
+PASS   Max error for test 9 at offset 13219 is less than or equal to 0.000001865. 
+PASS   Max error for test 10 at offset 14468 is less than or equal to 0.000001865. 
+PASS   Max error for test 11 at offset 14638 is less than or equal to 0.000001865. 
+PASS   Max error for test 12 at offset 17114 is less than or equal to 0.000001865. 
+PASS   Max error for test 13 at offset 18437 is less than or equal to 0.000001865. 
+PASS   Max error for test 14 at offset 18607 is less than or equal to 0.000001865. 
+PASS   Max error for test 15 at offset 21083 is less than or equal to 0.000001865. 
+PASS   Max error for test 16 at offset 22480 is less than or equal to 0.000001865. 
+PASS   Max error for test 17 at offset 22576 is less than or equal to 0.000001865. 
+PASS   Max error for test 18 at offset 25121 is less than or equal to 0.000001865. 
+PASS   Max error for test 19 at offset 26444 is less than or equal to 0.000001865. 
+PASS   Max error for test 20 at offset 26545 is less than or equal to 0.000001865. 
+PASS   Max error for test 21 at offset 29090 is less than or equal to 0.000001865. 
+PASS   Max error for test 22 at offset 29117 is less than or equal to 0.000001865. 
+PASS   Max error for test 23 at offset 30514 is less than or equal to 0.000001865. 
+PASS   Max error for test 24 at offset 32990 is less than or equal to 0.000001865. 
+PASS   Max error for test 25 at offset 34313 is less than or equal to 0.000001865. 
+PASS   Max error for test 26 at offset 34483 is less than or equal to 0.000001865. 
+PASS   Max error for test 27 at offset 36959 is less than or equal to 0.000001865. 
+PASS   Max error for test 28 at offset 37129 is less than or equal to 0.000001865. 
+PASS   Max error for test 29 at offset 38452 is less than or equal to 0.000001865. 
+PASS   Max error for test 30 at offset 40997 is less than or equal to 0.000001865. 
+PASS   Max error for test 31 at offset 42320 is less than or equal to 0.000001865. 
+PASS   Max error for test 32 at offset 42421 is less than or equal to 0.000001865. 
+PASS   Max error for test 33 at offset 44966 is less than or equal to 0.000001865. 
+PASS   Max error for test 34 at offset 45067 is less than or equal to 0.000001865. 
+PASS   Max error for test 35 at offset 46390 is less than or equal to 0.000001865. 
+PASS   Max error for test 36 at offset 48866 is less than or equal to 0.000001865. 
+PASS   Max error for test 37 at offset 49036 is less than or equal to 0.000001865. 
+PASS   Max error for test 38 at offset 50359 is less than or equal to 0.000001865. 
+PASS   Max error for test 39 at offset 52835 is less than or equal to 0.000001865. 
+PASS   Max error for test 40 at offset 53005 is less than or equal to 0.000001865. 
+PASS   Max error for test 41 at offset 54328 is less than or equal to 0.000001865. 
+PASS   Max error for test 42 at offset 56873 is less than or equal to 0.000001865. 
+PASS   Max error for test 43 at offset 56974 is less than or equal to 0.000001865. 
+PASS   Max error for test 44 at offset 59519 is less than or equal to 0.000001865. 
+PASS   Max error for test 45 at offset 60842 is less than or equal to 0.000001865. 
+PASS   Max error for test 46 at offset 60943 is less than or equal to 0.000001865. 
+PASS   Max error for test 47 at offset 62266 is less than or equal to 0.000001865. 
+PASS   Max error for test 48 at offset 64742 is less than or equal to 0.000001865. 
+PASS   Max error for test 49 at offset 64912 is less than or equal to 0.000001865. 
+PASS   Max error for test 50 at offset 67388 is less than or equal to 0.000001865. 
+PASS   Max error for test 51 at offset 68703 is less than or equal to 0.000001865. 
+PASS   Max error for test 52 at offset 70111 is less than or equal to 0.000001865. 
+PASS   Max error for test 53 at offset 71434 is less than or equal to 0.000001865. 
+PASS   Max error for test 54 at offset 71519 is less than or equal to 0.000001865. 
+PASS   Max error for test 55 at offset 72842 is less than or equal to 0.000001865. 
+PASS   Max error for test 56 at offset 75318 is less than or equal to 0.000001865. 
+PASS   Max error for test 57 at offset 76641 is less than or equal to 0.000001865. 
+PASS   Max error for test 58 at offset 78049 is less than or equal to 0.000001865. 
+PASS   Max error for test 59 at offset 78134 is less than or equal to 0.000001865. 
+PASS   Max error for test 60 at offset 79457 is less than or equal to 0.000001865. 
+PASS   Max error for test 61 at offset 80780 is less than or equal to 0.000001865. 
+PASS   Max error for test 62 at offset 83256 is less than or equal to 0.000001865. 
+PASS   Max error for test 63 at offset 84579 is less than or equal to 0.000001865. 
+PASS   Max error for test 64 at offset 84749 is less than or equal to 0.000001865. 
+PASS   Max error for test 65 at offset 86072 is less than or equal to 0.000001865. 
+PASS   Max error for test 66 at offset 87395 is less than or equal to 0.000001865. 
+PASS   Max error for test 67 at offset 89956 is less than or equal to 0.000001865. 
+PASS   Max error for test 68 at offset 91194 is less than or equal to 0.000001865. 
+PASS   Max error for test 69 at offset 92517 is less than or equal to 0.000001865. 
+PASS   Max error for test 70 at offset 92687 is less than or equal to 0.000001865. 
+PASS   Max error for test 71 at offset 94010 is less than or equal to 0.000001865. 
+PASS   Max error for test 72 at offset 96571 is less than or equal to 0.000001865. 
+PASS   Max error for test 73 at offset 97894 is less than or equal to 0.000001865. 
+PASS   Max error for test 74 at offset 99132 is less than or equal to 0.000001865. 
+PASS   Max error for test 75 at offset 100536 is less than or equal to 0.000001865. 
+PASS   Max error for test 76 at offset 100552 is less than or equal to 0.000001865. 
+PASS   Max error for test 77 at offset 103190 is less than or equal to 0.000001865. 
+PASS   Max error for test 78 at offset 104505 is less than or equal to 0.000001865. 
+PASS   Max error for test 79 at offset 104598 is less than or equal to 0.000001865. 
+PASS   Max error for test 80 at offset 105921 is less than or equal to 0.000001865. 
+PASS   Max error for test 81 at offset 108474 is less than or equal to 0.000001865. 
+PASS   Max error for test 82 at offset 108567 is less than or equal to 0.000001865. 
+PASS   Max error for test 83 at offset 111112 is less than or equal to 0.000001865. 
+PASS   Max error for test 84 at offset 112443 is less than or equal to 0.000001865. 
+PASS   Max error for test 85 at offset 112459 is less than or equal to 0.000001865. 
+PASS   Max error for test 86 at offset 115081 is less than or equal to 0.000001865. 
+PASS   Max error for test 87 at offset 115182 is less than or equal to 0.000001865. 
+PASS   Max error for test 88 at offset 116426 is less than or equal to 0.000001865. 
+PASS   Max error for test 89 at offset 119064 is less than or equal to 0.000001865. 
+PASS   Max error for test 90 at offset 120375 is less than or equal to 0.000001865. 
+PASS   Max error for test 91 at offset 120395 is less than or equal to 0.000001865. 
+PASS   Max error for test 92 at offset 121718 is less than or equal to 0.000001865. 
+PASS   Max error for test 93 at offset 124251 is less than or equal to 0.000001865. 
+PASS   Max error for test 94 at offset 125671 is less than or equal to 0.000001865. 
+PASS   Max error for test 95 at offset 126989 is less than or equal to 0.000001865. 
+PASS   Max error for test 96 at offset 128330 is less than or equal to 0.000001865. 
+PASS   Max error for test 97 at offset 129581 is less than or equal to 0.000001865. 
+PASS   Max error for test 98 at offset 129709 is less than or equal to 0.000001865. 
+PASS   Max error for test 99 at offset 132209 is less than or equal to 0.000001865. 
 PASS   Number of failed tests with an acceptable relative tolerance of 0.000001865 is equal to 0. 
 PASS < [test] All assertions passed. (total 102 assertions) 
 PASS # AUDIT TASK RUNNER FINISHED: 1 tasks ran successfully. 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-audiobuffersource-connections-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -14,20 +14,8 @@
 PASS   playbackRate: mod.connect(tstNode[playbackRate]) did not throw an exception. 
 PASS   Expected k-rate playbackRate AudioParam with input is not constantly 0 (contains 1491 different values). 
 PASS   Actual k-rate playbackRate AudioParam with input is not constantly 0 (contains 1491 different values). 
-FAIL X k-rate playbackRate AudioParam with input does not equal [0,0.0005000000237487257,0.0010000000474974513,0.001500000013038516,0.0020000000949949026,0.0024999999441206455,0.003000000026077032,0.0035000001080334187,0.004000000189989805,0.0044999998062849045,0.004999999888241291,0.005499999970197678,0.006000000052154064,0.006500000134110451,0.007000000216066837,0.007499999832361937...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[396]	2.1144001185894012e-1	2.1143999695777893e-1	1.4901161193847656e-8	7.0474656679186259e-8	0.0000000000000000e+0
-	[401]	2.1442000567913055e-1	2.1441999077796936e-1	1.4901161193847656e-8	6.9495204900357086e-8	0.0000000000000000e+0
-	[412]	2.2097600996494293e-1	2.2097599506378174e-1	1.4901161193847656e-8	6.7433393340062290e-8	0.0000000000000000e+0
-	[420]	2.2574400901794434e-1	2.2574399411678314e-1	1.4901161193847656e-8	6.6009114670571945e-8	0.0000000000000000e+0
-	[421]	2.2634001076221466e-1	2.2633999586105347e-1	1.4901161193847656e-8	6.5835298516994066e-8	0.0000000000000000e+0
-	...and 203 more errors.
-	Max AbsError of 5.9604644775390625e-8 at index of 851.
-	[851]	5.0287604331970215e-1	5.0287598371505737e-1	5.9604644775390625e-8	1.1852752309834739e-7	0.0000000000000000e+0
-	Max RelError of 1.1852752309834739e-7 at index of 851.
-	[851]	5.0287604331970215e-1	5.0287598371505737e-1	5.9604644775390625e-8	1.1852752309834739e-7	0.0000000000000000e+0
- assert_true: expected true got false
-FAIL < [playbackRate] 1 out of 11 assertions were failed. assert_true: expected true got false
+PASS   k-rate playbackRate AudioParam with input equals [0,0.0005000000237487257,0.0010000000474974513,0.001500000013038516,0.0020000000949949026,0.0024999999441206455,0.003000000026077032,0.0035000001080334187,0.004000000189989805,0.0044999998062849045,0.004999999888241291,0.005499999970197678,0.006000000052154064,0.006500000134110451,0.007000000216066837,0.007499999832361937...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 
+PASS < [playbackRate] All assertions passed. (total 11 assertions) 
 PASS > [detune] AudioBufferSource detune 
 PASS   detune: refNode = new AudioBufferSourceNode(context, {"buffer":{}}) did not throw an exception. 
 PASS   detune: tstNode = new AudioBufferSourceNode(context, {"buffer":{}}) did not throw an exception. 
@@ -41,5 +29,5 @@
 PASS   Actual k-rate detune AudioParam with input is not constantly 0 (contains 1961 different values). 
 PASS   k-rate detune AudioParam with input equals [0,0.0002500000118743628,0.0005000000237487257,0.000750000006519258,0.0010000000474974513,0.0012499999720603228,0.001500000013038516,0.0017500000540167093,0.0020000000949949026,0.0022499999031424522,0.0024999999441206455,0.002749999985098839,0.003000000026077032,0.0032500000670552254,0.0035000001080334187,0.003750000149011612...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 
 PASS < [detune] All assertions passed. (total 11 assertions) 
-FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 2 tasks were failed. assert_true: expected true got false
+PASS # AUDIT TASK RUNNER FINISHED: 2 tasks ran successfully. 
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-dynamics-compressor-connections-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -59,19 +59,7 @@
 PASS   threshold: mod.offset.setValueAtTime(0, 0) did not throw an exception. 
 PASS   threshold: mod.offset.linearRampToValueAtTime(100, 0.25) did not throw an exception. 
 PASS   threshold: mod.connect(tstNode[threshold]) did not throw an exception. 
-FAIL X k-rate threshold AudioParam with input does not equal [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
-	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[512]	2.5821279268711805e-3	2.5818899739533663e-3	2.3795291781425476e-7	9.2162299793861248e-5	0.0000000000000000e+0
-	[513]	3.0495987739413977e-3	3.0491708312183619e-3	4.2794272303581238e-7	1.4034724412761702e-4	0.0000000000000000e+0
-	[514]	3.5930690355598927e-3	3.5924615804105997e-3	6.0745514929294586e-7	1.6909162024316400e-4	0.0000000000000000e+0
-	[515]	3.7539361510425806e-3	3.7532504647970200e-3	6.8568624556064606e-7	1.8269131037001784e-4	0.0000000000000000e+0
-	[516]	4.4603729620575905e-3	4.4594961218535900e-3	8.7684020400047302e-7	1.9662315652738236e-4	0.0000000000000000e+0
-	...and 11482 more errors.
-	Max AbsError of 1.6735866665840149e-5 at index of 1323.
-	[1323]	2.1656326949596405e-2	2.1673062816262245e-2	1.6735866665840149e-5	7.7219665756159291e-4	0.0000000000000000e+0
-	Max RelError of 6.6227941484679545e-3 at index of 9997.
-	[9997]	-3.4486583899706602e-6	-3.4716504160314798e-6	2.2992026060819626e-8	6.6227941484679545e-3	0.0000000000000000e+0
- assert_true: expected true got false
-FAIL < [threshold] 1 out of 9 assertions were failed. assert_true: expected true got false
-FAIL # AUDIT TASK RUNNER FINISHED: 1 out of 5 tasks were failed. assert_true: expected true got false
+PASS   k-rate threshold AudioParam with input equals [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}. 
+PASS < [threshold] All assertions passed. (total 9 assertions) 
+PASS # AUDIT TASK RUNNER FINISHED: 5 tasks ran successfully. 
 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-connections-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -28,10 +28,10 @@
 	[3]	1.7888545989990234e-2	1.7871389165520668e-2	1.7156824469566345e-5	9.6001627577262235e-4	0.0000000000000000e+0
 	[4]	1.7888545989990234e-2	1.7871389165520668e-2	1.7156824469566345e-5	9.6001627577262235e-4	0.0000000000000000e+0
 	...and 635 more errors.
-	Max AbsError of 1.0607887059450150e-2 at index of 639.
-	[639]	1.7888545989990234e-2	7.2806589305400848e-3	1.0607887059450150e-2	1.4569954671208927e+0	0.0000000000000000e+0
-	Max RelError of 1.4569954671208927e+0 at index of 639.
-	[639]	1.7888545989990234e-2	7.2806589305400848e-3	1.0607887059450150e-2	1.4569954671208927e+0	0.0000000000000000e+0
+	Max AbsError of 1.0607888456434011e-2 at index of 639.
+	[639]	1.7888545989990234e-2	7.2806575335562229e-3	1.0607888456434011e-2	1.4569959385594957e+0	0.0000000000000000e+0
+	Max RelError of 1.4569959385594957e+0 at index of 639.
+	[639]	1.7888545989990234e-2	7.2806575335562229e-3	1.0607888456434011e-2	1.4569959385594957e+0	0.0000000000000000e+0
  assert_true: expected true got false
 FAIL X Panner: positionX: Actual output channel 1 does not equal [0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389,0.03648621588945389...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
@@ -41,10 +41,10 @@
 	[3]	3.5777088254690170e-2	3.6486215889453888e-2	7.0912763476371765e-4	1.9435494130502214e-2	0.0000000000000000e+0
 	[4]	3.5777088254690170e-2	3.6486215889453888e-2	7.0912763476371765e-4	1.9435494130502214e-2	0.0000000000000000e+0
 	...and 635 more errors.
-	Max AbsError of 3.2140947878360748e-3 at index of 639.
-	[639]	3.5777088254690170e-2	3.2562993466854095e-2	3.2140947878360748e-3	9.8703910348651003e-2	0.0000000000000000e+0
-	Max RelError of 9.8703910348651003e-2 at index of 639.
-	[639]	3.5777088254690170e-2	3.2562993466854095e-2	3.2140947878360748e-3	9.8703910348651003e-2	0.0000000000000000e+0
+	Max AbsError of 3.2140985131263733e-3 at index of 639.
+	[639]	3.5777088254690170e-2	3.2562989741563797e-2	3.2140985131263733e-3	9.8704036043221755e-2	0.0000000000000000e+0
+	Max RelError of 9.8704036043221755e-2 at index of 639.
+	[639]	3.5777088254690170e-2	3.2562989741563797e-2	3.2140985131263733e-3	9.8704036043221755e-2	0.0000000000000000e+0
  assert_true: expected true got false
 FAIL < [Panner x] 2 out of 14 assertions were failed. assert_true: expected true got false
 PASS > [Panner y] k-rate input 

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/k-rate-panner-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -101,28 +101,28 @@
 PASS   k-rate orientationX: a-rate node:orientationX.linearRampToValueAtTime(10,0.08) did not throw an exception. 
 PASS   k-rate orientationX: Output of k-rate PannerNode is identical to the array [0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766...]. 
 PASS   k-rate orientationX: Output of a-rate PannerNode is identical to the array [0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766,0.000041451945435255766...]. 
-PASS   k-rate orientationX: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 320 different values). 
+PASS   k-rate orientationX: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 319 different values). 
 PASS   k-rate orientationX k-rate output [0: 127] contains only the constant 0.000041451945435255766. 
-FAIL X k-rate orientationX k-rate output [128: 255]: Expected 0.0003339551039971411 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationX k-rate output [128: 255]: Expected 0.0003339550457894802 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.0006249957368709147
-	[2]	0.0009145812364295125
-	[3]	0.001202718704007566
-	[4]	0.0014894155319780111
+	[1]	0.0006249956204555929
+	[2]	0.0009145809453912079
+	[3]	0.0012027183547616005
+	[4]	0.0014894150663167238
 	...and 123 more errors. assert_true: expected true got false
-FAIL X k-rate orientationX k-rate output [256: 383]: Expected 0.028000328689813614 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationX k-rate output [256: 383]: Expected 0.028000321239233017 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.02825474739074707
-	[2]	0.028507892042398453
-	[3]	0.028759770095348358
-	[4]	0.029010390862822533
+	[1]	0.028254739940166473
+	[2]	0.028507884591817856
+	[3]	0.02875976264476776
+	[4]	0.029010385274887085
 	...and 123 more errors. assert_true: expected true got false
-FAIL X k-rate orientationX k-rate output [384: 511]: Expected 0.05214492604136467 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationX k-rate output [384: 511]: Expected 0.05214492976665497 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.05232711881399155
-	[2]	0.0525084063410759
-	[3]	0.052688777446746826
-	[4]	0.052868250757455826
+	[1]	0.052327126264572144
+	[2]	0.052508410066366196
+	[3]	0.05268878489732742
+	[4]	0.052868254482746124
 	...and 123 more errors. assert_true: expected true got false
 FAIL X k-rate orientationX k-rate output [512: 639]: Expected 0.06942851841449738 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -140,7 +140,7 @@
 PASS   k-rate orientationY: a-rate node:orientationY.linearRampToValueAtTime(10,0.08) did not throw an exception. 
 PASS   k-rate orientationY: Output of k-rate PannerNode is identical to the array [0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607...]. 
 PASS   k-rate orientationY: Output of a-rate PannerNode is identical to the array [0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607...]. 
-PASS   k-rate orientationY: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 174 different values). 
+PASS   k-rate orientationY: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 169 different values). 
 PASS   k-rate orientationY k-rate output [0: 127] contains only the constant 0.07389305531978607. 
 FAIL X k-rate orientationY k-rate output [128: 255]: Expected 0.0739683136343956 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -156,19 +156,19 @@
 	[3]	0.0813513994216919
 	[4]	0.08143308758735657
 	...and 123 more errors. assert_true: expected true got false
-FAIL X k-rate orientationY k-rate output [384: 511]: Expected 0.08898043632507324 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationY k-rate output [384: 511]: Expected 0.08898045122623444 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.08904612064361572
-	[2]	0.08911147713661194
-	[3]	0.08917650580406189
-	[4]	0.08924121409654617
+	[1]	0.08904612809419632
+	[2]	0.08911148458719254
+	[3]	0.08917652070522308
+	[4]	0.08924122154712677
 	...and 123 more errors. assert_true: expected true got false
-FAIL X k-rate orientationY k-rate output [512: 639]: Expected 0.09521431475877762 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationY k-rate output [512: 639]: Expected 0.09521432965993881 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.09526193141937256
-	[2]	0.0953093022108078
+	[1]	0.09526193886995316
+	[2]	0.095309317111969
 	[3]	0.09535645693540573
-	[4]	0.09540335834026337
+	[4]	0.09540336579084396
 	...and 123 more errors. assert_true: expected true got false
 FAIL < [Panner k-rate orientationY] 4 out of 13 assertions were failed. assert_true: expected true got false
 PASS > [Panner k-rate orientationZ]  
@@ -179,7 +179,7 @@
 PASS   k-rate orientationZ: a-rate node:orientationZ.linearRampToValueAtTime(10,0.08) did not throw an exception. 
 PASS   k-rate orientationZ: Output of k-rate PannerNode is identical to the array [0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607...]. 
 PASS   k-rate orientationZ: Output of a-rate PannerNode is identical to the array [0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607,0.07389305531978607...]. 
-PASS   k-rate orientationZ: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 174 different values). 
+PASS   k-rate orientationZ: Difference between a-rate and k-rate PannerNode is not constantly 0 (contains 169 different values). 
 PASS   k-rate orientationZ k-rate output [0: 127] contains only the constant 0.07389305531978607. 
 FAIL X k-rate orientationZ k-rate output [128: 255]: Expected 0.0739683136343956 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -195,19 +195,19 @@
 	[3]	0.0813513994216919
 	[4]	0.08143308758735657
 	...and 123 more errors. assert_true: expected true got false
-FAIL X k-rate orientationZ k-rate output [384: 511]: Expected 0.08898043632507324 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationZ k-rate output [384: 511]: Expected 0.08898045122623444 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.08904612064361572
-	[2]	0.08911147713661194
-	[3]	0.08917650580406189
-	[4]	0.08924121409654617
+	[1]	0.08904612809419632
+	[2]	0.08911148458719254
+	[3]	0.08917652070522308
+	[4]	0.08924122154712677
 	...and 123 more errors. assert_true: expected true got false
-FAIL X k-rate orientationZ k-rate output [512: 639]: Expected 0.09521431475877762 for all values but found 127 unexpected values: 
+FAIL X k-rate orientationZ k-rate output [512: 639]: Expected 0.09521432965993881 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.09526193141937256
-	[2]	0.0953093022108078
+	[1]	0.09526193886995316
+	[2]	0.095309317111969
 	[3]	0.09535645693540573
-	[4]	0.09540335834026337
+	[4]	0.09540336579084396
 	...and 123 more errors. assert_true: expected true got false
 FAIL < [Panner k-rate orientationZ] 4 out of 13 assertions were failed. assert_true: expected true got false
 PASS > [Listener k-rate positionX]  
@@ -223,12 +223,12 @@
 	[3]	0.0015640419442206621
 	[4]	0.0016313435044139624
 	...and 123 more errors. assert_true: expected true got false
-FAIL X Listener k-rate positionX: Output [256, 383]: Expected 0.0075418963097035885 for all values but found 127 unexpected values: 
+FAIL X Listener k-rate positionX: Output [256, 383]: Expected 0.007541896775364876 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.007567490451037884
+	[1]	0.007567491382360458
 	[2]	0.007592945359647274
-	[3]	0.007618260569870472
-	[4]	0.007643437944352627
+	[3]	0.007618261501193047
+	[4]	0.007643438875675201
 	...and 123 more errors. assert_true: expected true got false
 FAIL X Listener k-rate positionX: Output [384, 511]: Expected 0.009286546148359776 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -237,9 +237,9 @@
 	[3]	0.009284080937504768
 	[4]	0.009283263236284256
 	...and 123 more errors. assert_true: expected true got false
-FAIL X Listener k-rate positionX: Output [512, 639]: Expected 0.009185688570141792 for all values but found 127 unexpected values: 
+FAIL X Listener k-rate positionX: Output [512, 639]: Expected 0.009185689501464367 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.00917465053498745
+	[1]	0.009174649603664875
 	[2]	0.009163666516542435
 	[3]	0.009152737446129322
 	[4]	0.009141862392425537
@@ -276,8 +276,8 @@
 	Index	Actual
 	[1]	0.009748218581080437
 	[2]	0.009737721644341946
-	[3]	0.009727276861667633
-	[4]	0.009716883301734924
+	[3]	0.009727275930345058
+	[4]	0.00971688237041235
 	...and 123 more errors. assert_true: expected true got false
 FAIL < [Listener k-rate positionY] 4 out of 9 assertions were failed. assert_true: expected true got false
 PASS > [Listener k-rate positionZ]  
@@ -293,12 +293,12 @@
 	[3]	0.001496181939728558
 	[4]	0.0015605594962835312
 	...and 123 more errors. assert_true: expected true got false
-FAIL X Listener k-rate positionZ: Output [256, 383]: Expected 0.007213293109089136 for all values but found 127 unexpected values: 
+FAIL X Listener k-rate positionZ: Output [256, 383]: Expected 0.007213293574750423 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.007238386198878288
-	[2]	0.007263348437845707
-	[3]	0.007288181222975254
-	[4]	0.007312883157283068
+	[1]	0.007238386664539576
+	[2]	0.0072633493691682816
+	[3]	0.007288181688636541
+	[4]	0.007312883622944355
 	...and 123 more errors. assert_true: expected true got false
 FAIL X Listener k-rate positionZ: Output [384, 511]: Expected 0.008966494351625443 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -328,7 +328,7 @@
 	[3]	0.0011163937160745263
 	[4]	0.0011163906892761588
 	...and 123 more errors. assert_true: expected true got false
-FAIL X Listener k-rate forwardX: Output [256, 383]: Expected 0.0011160604190081358 for all values but found 127 unexpected values: 
+FAIL X Listener k-rate forwardX: Output [256, 383]: Expected 0.001116060302592814 for all values but found 127 unexpected values: 
 	Index	Actual
 	[1]	0.001116054831072688
 	[2]	0.0011160492431372404
@@ -337,12 +337,12 @@
 	...and 123 more errors. assert_true: expected true got false
 FAIL X Listener k-rate forwardX: Output [384, 511]: Expected 0.0011154523817822337 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.0011154449312016368
+	[1]	0.0011154450476169586
 	[2]	0.0011154375970363617
 	[3]	0.0011154301464557648
 	[4]	0.0011154228122904897
 	...and 123 more errors. assert_true: expected true got false
-FAIL X Listener k-rate forwardX: Output [512, 639]: Expected 0.0011146317701786757 for all values but found 127 unexpected values: 
+FAIL X Listener k-rate forwardX: Output [512, 639]: Expected 0.0011146318865939975 for all values but found 127 unexpected values: 
 	Index	Actual
 	[1]	0.001114622806198895
 	[2]	0.0011146137258037925
@@ -449,7 +449,7 @@
 	...and 123 more errors. assert_true: expected true got false
 FAIL X Listener k-rate upX: Output [512, 639]: Expected 0.001009229919873178 for all values but found 127 unexpected values: 
 	Index	Actual
-	[1]	0.0010092257289215922
+	[1]	0.001009225845336914
 	[2]	0.0010092216543853283
 	[3]	0.0010092175798490644
 	[4]	0.0010092135053128004
@@ -480,7 +480,7 @@
 	[1]	0.0010836053406819701
 	[2]	0.0010838257148861885
 	[3]	0.0010840455070137978
-	[4]	0.0010842647170647979
+	[4]	0.001084264600649476
 	...and 123 more errors. assert_true: expected true got false
 FAIL X Listener k-rate upY: Output [512, 639]: Expected 0.0011076105292886496 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -508,7 +508,7 @@
 	[1]	0.0010070401476696134
 	[2]	0.0010070443386211991
 	[3]	0.001007048529572785
-	[4]	0.0010070528369396925
+	[4]	0.0010070527205243707
 	...and 123 more errors. assert_true: expected true got false
 FAIL X Listener k-rate upZ: Output [384, 511]: Expected 0.0010074966121464968 for all values but found 127 unexpected values: 
 	Index	Actual
@@ -520,7 +520,7 @@
 FAIL X Listener k-rate upZ: Output [512, 639]: Expected 0.0010074147721752524 for all values but found 127 unexpected values: 
 	Index	Actual
 	[1]	0.001007412443868816
-	[2]	0.0010074101155623794
+	[2]	0.0010074099991470575
 	[3]	0.0010074077872559428
 	[4]	0.0010074054589495063
 	...and 123 more errors. assert_true: expected true got false

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-audioparam-interface/retrospective-linearRampToValueAtTime-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -5,8 +5,8 @@
 PASS > [test] Test linearRampToValue with end time in the past 
 FAIL X Test[0:127]: Expected 1 for all values but found 128 unexpected values: 
 	Index	Actual
-	[0]	0.10313726216554642
-	[1]	0.10318627208471298
+	[0]	0.10313725471496582
+	[1]	0.10318627953529358
 	[2]	0.10323529690504074
 	[3]	0.1032843142747879
 	...and 124 more errors. assert_true: expected true got false
@@ -14,14 +14,14 @@
 	Index	Actual
 	[0]	0.10000000149011612
 	[1]	0.1000492125749588
-	[2]	0.10009843111038208
+	[2]	0.10009842365980148
 	[3]	0.10014764219522476
 	...and 124 more errors. assert_true: expected true got false
-FAIL X Test[128:] expected to be equal to the array [0.10629921406507492,0.1063484251499176,0.10639764368534088,0.10644685477018356,0.10649606585502625,0.10654528439044952,0.10659448802471161,0.10664370656013489,0.10669291019439697,0.10674212872982025,0.10679133981466293,0.10684055089950562,0.1068897619843483,0.10693897306919098,0.10698819160461426,0.10703740268945694...] but differs in 16128 places:
+FAIL X Test[128:] expected to be equal to the array [0.10629921406507492,0.1063484251499176,0.10639763623476028,0.10644685477018356,0.10649606585502625,0.10654527693986893,0.10659448802471161,0.10664369910955429,0.10669291764497757,0.10674212872982025,0.10679133981466293,0.10684055089950562,0.1068897619843483,0.10693898051977158,0.10698819160461426,0.10703740268945694...] but differs in 16128 places:
 	Index	Actual			Expected
 	[0]	1.0941176861524582e-1	1.0629921406507492e-1
 	[1]	1.0946078598499298e-1	1.0634842514991760e-1
-	[2]	1.0950980335474014e-1	1.0639764368534088e-1
+	[2]	1.0950980335474014e-1	1.0639763623476028e-1
 	[3]	1.0955882817506790e-1	1.0644685477018356e-1
 	...and 16124 more errors. assert_true: expected true got false
 FAIL < [test] 3 out of 3 assertions were failed. assert_true: expected true got false

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-biquadfilternode-interface/biquad-automation-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -16,8 +16,8 @@
 	[4]	-2.8035214543342590e-1	-2.7884376049041748e-1	1.5083849430084229e-3	5.4094269147552214e-3	4.6454999999999998e-6
 	[5]	3.9142531156539917e-1	3.9570569992065430e-1	4.2803883552551270e-3	1.0817100577811786e-2	4.6454999999999998e-6
 	...and 2072 more errors.
-	Max AbsError of 2.1190066635608673e-1 at index of 1149.
-	[1149]	-1.1468800902366638e-1	9.7212657332420349e-2	2.1190066635608673e-1	2.1797641600464512e+0	4.6454999999999998e-6
+	Max AbsError of 2.1190106123685837e-1 at index of 1149.
+	[1149]	-1.1468840390443802e-1	9.7212657332420349e-2	2.1190106123685837e-1	2.1797682220768748e+0	4.6454999999999998e-6
 	Max RelError of 9.6699462879811648e+1 at index of 1000.
 	[1000]	-1.7538917064666748e-1	-1.7951907357200980e-3	1.7359397991094738e-1	9.6699462879811648e+1	4.6454999999999998e-6
  assert_true: expected true got false
@@ -76,8 +76,8 @@
 	[700]	-5.5879793522430055e-14	-3.7726949900388718e-2	3.7726949900332839e-2	9.9999999999851885e-1	6.2907000000000002e-4
 	[701]	-9.8768836259841919e-1	-9.7246229648590088e-1	1.5226066112518311e-2	1.5657230277759220e-2	6.2907000000000002e-4
 	...and 3290 more errors.
-	Max AbsError of 1.0000780463218689e+1 at index of 2030.
-	[2030]	1.2776085138320923e+0	1.1278388977050781e+1	1.0000780463218689e+1	8.8672065519004839e-1	6.2907000000000002e-4
+	Max AbsError of 1.0000782489776611e+1 at index of 2030.
+	[2030]	1.2776064872741699e+0	1.1278388977050781e+1	1.0000782489776611e+1	8.8672083487510156e-1	6.2907000000000002e-4
 	Max RelError of 7.2626818157373165e+1 at index of 898.
 	[898]	-2.0910628139972687e-1	-2.8400830924510956e-3	2.0626619830727577e-1	7.2626818157373165e+1	6.2907000000000002e-4
  assert_true: expected true got false

Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt (266260 => 266261)


--- trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/webaudio/the-audio-api/the-pannernode-interface/panner-automation-position-expected.txt	2020-08-27 23:43:34 UTC (rev 266261)
@@ -10,84 +10,84 @@
 PASS Executing "3: 2-channel linear rolloff: 1" 
 PASS Audit report 
 PASS > [0: 1-channel inverse rolloff: 1]  
-FAIL X 1-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, left channel does not equal [0.7071067690849304,0.013321998529136181,0.006724343169480562,0.004497151356190443,0.0033782345708459616,0.002705172635614872,0.0022557489573955536,0.0019343807362020016,0.001693161902949214,0.0015054333489388227,0.0013551785377785563,0.0012321951799094677,0.0011296762386336923,0.0010429061949253082,0.0009685151162557304,0.0009040298755280674...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
+FAIL X 1-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, left channel does not equal [0.7071067690849304,0.013321999460458755,0.0067243436351418495,0.004497151356190443,0.0033782348036766052,0.002705172635614872,0.0022557489573955536,0.0019343806197866797,0.0016931620193645358,0.0015054333489388227,0.0013551785377785563,0.0012321951799094677,0.0011296762386336923,0.0010429064277559519,0.0009685150580480695,0.0009040298755280674...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[1]	7.0710676908493042e-1	1.3321998529136181e-2	6.9378477055579424e-1	5.2078129947127408e+1	0.0000000000000000e+0
-	[2]	7.0710676908493042e-1	6.7243431694805622e-3	7.0038242591544986e-1	1.0415625857618932e+2	0.0000000000000000e+0
+	[1]	7.0710676908493042e-1	1.3321999460458755e-2	6.9378476962447166e-1	5.2078126236508687e+1	0.0000000000000000e+0
+	[2]	7.0710676908493042e-1	6.7243436351418495e-3	7.0038242544978857e-1	1.0415625129411073e+2	0.0000000000000000e+0
 	[3]	7.0710676908493042e-1	4.4971513561904430e-3	7.0260961772873998e-1	1.5623437195672324e+2	0.0000000000000000e+0
-	[4]	7.0710676908493042e-1	3.3782345708459616e-3	7.0372853451408446e-1	2.0831251346109460e+2	0.0000000000000000e+0
+	[4]	7.0710676908493042e-1	3.3782348036766052e-3	7.0372853428125381e-1	2.0831249903510880e+2	0.0000000000000000e+0
 	[5]	7.0710676908493042e-1	2.7051726356148720e-3	7.0440159644931555e-1	2.6039062615654791e+2	0.0000000000000000e+0
 	...and 249 more errors.
-	Max AbsError of 7.0699987337138737e-1 at index of 127.
-	[127]	7.0710676908493042e-1	1.0689571354305372e-4	7.0699987337138737e-1	6.6139216432343983e+3	0.0000000000000000e+0
-	Max RelError of 6.6139216432343983e+3 at index of 127.
-	[127]	7.0710676908493042e-1	1.0689571354305372e-4	7.0699987337138737e-1	6.6139216432343983e+3	0.0000000000000000e+0
+	Max AbsError of 7.0699987337866332e-1 at index of 127.
+	[127]	7.0710676908493042e-1	1.0689570626709610e-4	7.0699987337866332e-1	6.6139220934853129e+3	0.0000000000000000e+0
+	Max RelError of 6.6139220934853129e+3 at index of 127.
+	[127]	7.0710676908493042e-1	1.0689570626709610e-4	7.0699987337866332e-1	6.6139220934853129e+3	0.0000000000000000e+0
  assert_true: expected true got false
-FAIL X 1-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, right channel does not equal [0.7071067690849304,0.013321998529136181,0.006724343169480562,0.004497151356190443,0.0033782345708459616,0.002705172635614872,0.0022557489573955536,0.0019343807362020016,0.001693161902949214,0.0015054333489388227,0.0013551785377785563,0.0012321951799094677,0.0011296762386336923,0.0010429061949253082,0.0009685151162557304,0.0009040298755280674...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
+FAIL X 1-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, right channel does not equal [0.7071067690849304,0.013321999460458755,0.0067243436351418495,0.004497151356190443,0.0033782348036766052,0.002705172635614872,0.0022557489573955536,0.0019343806197866797,0.0016931620193645358,0.0015054333489388227,0.0013551785377785563,0.0012321951799094677,0.0011296762386336923,0.0010429064277559519,0.0009685150580480695,0.0009040298755280674...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[1]	7.0710676908493042e-1	1.3321998529136181e-2	6.9378477055579424e-1	5.2078129947127408e+1	0.0000000000000000e+0
-	[2]	7.0710676908493042e-1	6.7243431694805622e-3	7.0038242591544986e-1	1.0415625857618932e+2	0.0000000000000000e+0
+	[1]	7.0710676908493042e-1	1.3321999460458755e-2	6.9378476962447166e-1	5.2078126236508687e+1	0.0000000000000000e+0
+	[2]	7.0710676908493042e-1	6.7243436351418495e-3	7.0038242544978857e-1	1.0415625129411073e+2	0.0000000000000000e+0
 	[3]	7.0710676908493042e-1	4.4971513561904430e-3	7.0260961772873998e-1	1.5623437195672324e+2	0.0000000000000000e+0
-	[4]	7.0710676908493042e-1	3.3782345708459616e-3	7.0372853451408446e-1	2.0831251346109460e+2	0.0000000000000000e+0
+	[4]	7.0710676908493042e-1	3.3782348036766052e-3	7.0372853428125381e-1	2.0831249903510880e+2	0.0000000000000000e+0
 	[5]	7.0710676908493042e-1	2.7051726356148720e-3	7.0440159644931555e-1	2.6039062615654791e+2	0.0000000000000000e+0
 	...and 249 more errors.
-	Max AbsError of 7.0699987337138737e-1 at index of 127.
-	[127]	7.0710676908493042e-1	1.0689571354305372e-4	7.0699987337138737e-1	6.6139216432343983e+3	0.0000000000000000e+0
-	Max RelError of 6.6139216432343983e+3 at index of 127.
-	[127]	7.0710676908493042e-1	1.0689571354305372e-4	7.0699987337138737e-1	6.6139216432343983e+3	0.0000000000000000e+0
+	Max AbsError of 7.0699987337866332e-1 at index of 127.
+	[127]	7.0710676908493042e-1	1.0689570626709610e-4	7.0699987337866332e-1	6.6139220934853129e+3	0.0000000000000000e+0
+	Max RelError of 6.6139220934853129e+3 at index of 127.
+	[127]	7.0710676908493042e-1	1.0689570626709610e-4	7.0699987337866332e-1	6.6139220934853129e+3	0.0000000000000000e+0
  assert_true: expected true got false
 FAIL < [0: 1-channel inverse rolloff: 1] 2 out of 2 assertions were failed. assert_true: expected true got false
 PASS > [0: 2-channel inverse rolloff: 1]  
-FAIL X 2-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, left channel does not equal [1,0.01884015090763569,0.009509657509624958,0.006359932478517294,0.0047775451093912125,0.003825691994279623,0.003190110670402646,0.002735627582296729,0.002394492505118251,0.0021290043368935585,0.0019165119156241417,0.0017425871919840574,0.0015976035501807928,0.0014748921385034919,0.0013696872629225254,0.001278491341508925...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
+FAIL X 2-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, left channel does not equal [1,0.018840152770280838,0.009509658440947533,0.006359932478517294,0.0047775455750525,0.003825691994279623,0.003190110670402646,0.0027356273494660854,0.0023944927379488945,0.0021290043368935585,0.0019165119156241417,0.0017425871919840574,0.0015976035501807928,0.0014748923713341355,0.0013696871465072036,0.001278491341508925...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
 	[0]	1.0000001192092896e+0	1.0000000000000000e+0	1.1920928955078125e-7	1.1920928955078125e-7	0.0000000000000000e+0
-	[1]	1.0000001192092896e+0	1.8840150907635689e-2	9.8115996830165386e-1	5.2078137436999050e+1	0.0000000000000000e+0
-	[2]	1.0000001192092896e+0	9.5096575096249580e-3	9.9049046169966459e-1	1.0415627068558094e+2	0.0000000000000000e+0
+	[1]	1.0000001192092896e+0	1.8840152770280838e-2	9.8115996643900871e-1	5.2078132189391113e+1	0.0000000000000000e+0
+	[2]	1.0000001192092896e+0	9.5096584409475327e-3	9.9049046076834202e-1	1.0415626038716597e+2	0.0000000000000000e+0
 	[3]	1.0000001192092896e+0	6.3599324785172939e-3	9.9364018673077226e-1	1.5623439243845903e+2	0.0000000000000000e+0
-	[4]	1.0000001192092896e+0	4.7775451093912125e-3	9.9522257409989834e-1	2.0831254364162695e+2	0.0000000000000000e+0
+	[4]	1.0000001192092896e+0	4.7775455750524998e-3	9.9522257363423705e-1	2.0831252324019968e+2	0.0000000000000000e+0
 	...and 251 more errors.
-	Max AbsError of 9.9984894583758432e-1 at index of 127.
-	[127]	1.0000001192092896e+0	1.5117337170522660e-4	9.9984894583758432e-1	6.6139223764036478e+3	0.0000000000000000e+0
-	Max RelError of 6.6139223764036478e+3 at index of 127.
-	[127]	1.0000001192092896e+0	1.5117337170522660e-4	9.9984894583758432e-1	6.6139223764036478e+3	0.0000000000000000e+0
+	Max AbsError of 9.9984894585213624e-1 at index of 127.
+	[127]	1.0000001192092896e+0	1.5117335715331137e-4	9.9984894585213624e-1	6.6139230131546701e+3	0.0000000000000000e+0
+	Max RelError of 6.6139230131546701e+3 at index of 127.
+	[127]	1.0000001192092896e+0	1.5117335715331137e-4	9.9984894585213624e-1	6.6139230131546701e+3	0.0000000000000000e+0
  assert_true: expected true got false
-FAIL X 2-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, right channel does not equal [2,0.03768030181527138,0.019019315019249916,0.012719864957034588,0.009555090218782425,0.007651383988559246,0.006380221340805292,0.005471255164593458,0.004788985010236502,0.004258008673787117,0.0038330238312482834,0.003485174383968115,0.0031952071003615856,0.0029497842770069838,0.002739374525845051,0.00255698268301785...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
+FAIL X 2-channel [0, 0, 1] -> [0, 0, 10000]: distanceModel: inverse, rolloff: 1, right channel does not equal [2,0.037680305540561676,0.019019316881895065,0.012719864957034588,0.009555091150105,0.007651383988559246,0.006380221340805292,0.005471254698932171,0.004788985475897789,0.004258008673787117,0.0038330238312482834,0.003485174383968115,0.0031952071003615856,0.002949784742668271,0.002739374293014407,0.00255698268301785...] with an element-wise tolerance of {"absoluteThreshold":0,"relativeThreshold":0}.
 	Index	Actual			Expected		AbsError		RelError		Test threshold
-	[1]	2.0000000000000000e+0	3.7680301815271378e-2	1.9623196981847286e+0	5.2078131109592753e+1	0.0000000000000000e+0
-	[2]	2.0000000000000000e+0	1.9019315019249916e-2	1.9809806849807501e+0	1.0415625814997810e+2	0.0000000000000000e+0
+	[1]	2.0000000000000000e+0	3.7680305540561676e-2	1.9623196944594383e+0	5.2078125861985441e+1	0.0000000000000000e+0
+	[2]	2.0000000000000000e+0	1.9019316881895065e-2	1.9809806831181049e+0	1.0415624785156437e+2	0.0000000000000000e+0
 	[3]	2.0000000000000000e+0	1.2719864957034588e-2	1.9872801350429654e+0	1.5623437369466103e+2	0.0000000000000000e+0
-	[4]	2.0000000000000000e+0	9.5550902187824249e-3	1.9904449097812176e+0	2.0831251868963031e+2	0.0000000000000000e+0
+	[4]	2.0000000000000000e+0	9.5550911501049995e-3	1.9904449088498950e+0	2.0831249828820546e+2	0.0000000000000000e+0
 	[5]	2.0000000000000000e+0	7.6513839885592461e-3	1.9923486160114408e+0	2.6039061939519775e+2	0.0000000000000000e+0
 	...and 249 more errors.
-	Max AbsError of 1.9996976532565895e+0 at index of 127.
-	[127]	2.0000000000000000e+0	3.0234674341045320e-4	1.9996976532565895e+0	6.6139215878435452e+3	0.0000000000000000e+0
-	Max RelError of 6.6139215878435452e+3 at index of 127.
-	[127]	2.0000000000000000e+0	3.0234674341045320e-4	1.9996976532565895e+0	6.6139215878435452e+3	0.0000000000000000e+0
+	Max AbsError of 1.9996976532856934e+0 at index of 127.
+	[127]	2.0000000000000000e+0	3.0234671430662274e-4	1.9996976532856934e+0	6.6139222245944911e+3	0.0000000000000000e+0
+	Max RelError of 6.6139222245944911e+3 at index of 127.
+	[127]	2.0000000000000000e+0	3.0234671430662274e-4	1.9996976532856934e+0	6.6139222245944911e+3	0.0000000000000000e+0
  assert_true: expected true got false
 FAIL < [0: 2-channel inverse rolloff: 1] 2 out of 2 assertions were failed. assert_true: expected true got false
 PASS > [1: 1-channel inverse rolloff: 1]  
-PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, left channel equals [0.7071067690849304,0.001196307479403913,0.0005938085960224271,0.00039490225026383996,0.0002958123222924769,0.00023647479247301817,0.00019696500385180116,0.00016876752488315105,0.00014763246872462332,0.0001312017993768677,0.00011806215479737148,0.00010731472139013931,0.00009836074605118483,0.0000907858629943803,0.00008429430454270914,0.00007866910891607404...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.8124e-7},"relativeThreshold":0}. 
-PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, right channel equals [0.7071067690849304,0.00498276436701417,0.002494250191375613,0.0016634685453027487,0.0012478390708565712,0.0009983853669837117,0.0008320511551573873,0.0007132254540920258,0.0006240976508706808,0.000554771046154201,0.0004993066540919244,0.00045392452739179134,0.00041610468178987503,0.0003841022262349725,0.000356670847395435,0.000332896423060447...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.8124e-7},"relativeThreshold":0}. 
+PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, left channel equals [0.7071067690849304,0.001196307479403913,0.0005938085960224271,0.00039490225026383996,0.0002958122349809855,0.0002364747051615268,0.00019696500385180116,0.00016876752488315105,0.00014763246872462332,0.0001312017993768677,0.00011806214024545625,0.00010731472866609693,0.00009836074605118483,0.00009078587754629552,0.00008429430454270914,0.00007866910891607404...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.8124e-7},"relativeThreshold":0}. 
+PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, right channel equals [0.7071067690849304,0.00498276436701417,0.002494250191375613,0.0016634685453027487,0.001247839187271893,0.00099838525056839,0.0008320511551573873,0.0007132254540920258,0.0006240976508706808,0.000554771046154201,0.0004993065958842635,0.0004539245564956218,0.00041610468178987503,0.0003841022844426334,0.000356670847395435,0.000332896423060447...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.8124e-7},"relativeThreshold":0}. 
 PASS < [1: 1-channel inverse rolloff: 1] All assertions passed. (total 2 assertions) 
 PASS > [1: 2-channel inverse rolloff: 1]  
-PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, left channel equals [1,0.002326501300558448,0.0011553276563063264,0.0007684474694542587,0.000575670157559216,0.0004602163680829108,0.0003833358350675553,0.0003284646081738174,0.0002873351040761918,0.00025535948225297034,0.0002297879836987704,0.00020887165737804025,0.00019144543330185115,0.00017670301895122975,0.00016406884242314845,0.00015312072355300188...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.3267e-7},"relativeThreshold":0}. 
-PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, right channel equals [2,0.014814520254731178,0.007416830863803625,0.004946674220263958,0.003710799152031541,0.002969020279124379,0.002474395092576742,0.0021210394334048033,0.0018559943418949842,0.0016498314216732979,0.0014848907012492418,0.00134993193205446,0.0012374616926535964,0.001142291002906859,0.0010607137810438871,0.0009900116128847003...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.3267e-7},"relativeThreshold":0}. 
+PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, left channel equals [1,0.002326501300558448,0.0011553276563063264,0.0007684474694542587,0.0005756700411438942,0.00046021619345992804,0.0003833358350675553,0.0003284646081738174,0.0002873351040761918,0.00025535948225297034,0.00022978795459493995,0.00020887167192995548,0.00019144543330185115,0.0001767030480550602,0.00016406884242314845,0.00015312072355300188...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.3267e-7},"relativeThreshold":0}. 
+PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: inverse, rolloff: 1, right channel equals [2,0.014814520254731178,0.007416830863803625,0.004946674220263958,0.003710799152031541,0.0029690200462937355,0.002474395092576742,0.0021210394334048033,0.0018559943418949842,0.0016498314216732979,0.0014848904684185982,0.0013499320484697819,0.0012374616926535964,0.0011422911193221807,0.0010607137810438871,0.0009900116128847003...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":4.3267e-7},"relativeThreshold":0}. 
 PASS < [1: 2-channel inverse rolloff: 1] All assertions passed. (total 2 assertions) 
 PASS > [2: 1-channel exponential rolloff: 1.5]  
-PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, left channel equals [0.7071067690849304,0.00008563725714338943,0.000030067831175983883,0.00001632862404221669,0.000010593314073048532,0.000007574611117888708,0.000005759487976320088,0.0000045689607759413775,0.000003738693067134591,0.0000031326046610047342,0.0000026742441150418017,0.0000023176937702373834,0.0000020338857211754657,0.000001803614850359736,0.0000016137381635417114,0.0000014549860907209222...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.0783e-7},"relativeThreshold":0}. 
-PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, right channel equals [0.7071067690849304,0.0003566894738469273,0.0001262977602891624,0.00006878196290927008,0.000044686275941785425,0.000031979649065760896,0.00002433015288261231,0.00001930880534928292,0.00001580485150043387,0.000013245842637843452,0.000011309872206766158,0.00000980348249868257,0.00000860413729242282,0.000007630840627825819,0.0000068281406129244715,0.000006156923518574331...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.0783e-7},"relativeThreshold":0}. 
+PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, left channel equals [0.7071067690849304,0.00008563725714338943,0.000030067831175983883,0.00001632862404221669,0.000010593311344564427,0.000007574608389404602,0.000005759487976320088,0.0000045689607759413775,0.000003738693067134591,0.0000031326046610047342,0.000002674243660294451,0.000002317693997611059,0.0000020338857211754657,0.0000018036150777334115,0.0000016137381635417114,0.0000014549860907209222...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.0783e-7},"relativeThreshold":0}. 
+PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, right channel equals [0.7071067690849304,0.0003566894738469273,0.0001262977602891624,0.00006878196290927008,0.00004468627957976423,0.00003197964542778209,0.00002433015288261231,0.00001930880534928292,0.00001580485150043387,0.000013245842637843452,0.000011309870387776755,0.000009803483408177271,0.00000860413729242282,0.00000763084153732052,0.0000068281406129244715,0.000006156923518574331...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.0783e-7},"relativeThreshold":0}. 
 PASS < [2: 1-channel exponential rolloff: 1.5] All assertions passed. (total 2 assertions) 
 PASS > [2: 2-channel exponential rolloff: 1.5]  
-PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, left channel equals [1,0.00016654179489705712,0.000058500663726590574,0.00003177416874677874,0.00002061528357444331,0.000014741360246262047,0.000011209189324290492,0.000008892362529877573,0.0000072765678851283155,0.000006097022378526162,0.000005204963144933572,0.000004511035513132811,0.000003958673914894462,0.0000035105044844385702,0.0000031409495022671763,0.0000028319695957179647...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.218e-7},"relativeThreshold":0}. 
-PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, right channel equals [2,0.0010604923591017723,0.0003755554207600653,0.00020453766046557575,0.00013288715854287148,0.00009510177915217355,0.00007235421799123287,0.00005742186840507202,0.000047001805796753615,0.00003939175803679973,0.00003363448922755197,0.00002915470213338267,0.000025588007702026516,0.000022693542632623576,0.0000203064064407954,0.000018310278392164037...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.218e-7},"relativeThreshold":0}. 
+PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, left channel equals [1,0.00016654179489705712,0.000058500663726590574,0.00003177416874677874,0.0000206152781174751,0.000014741354789293837,0.000011209189324290492,0.000008892362529877573,0.0000072765678851283155,0.000006097022378526162,0.00000520496223543887,0.0000045110359678801615,0.000003958673914894462,0.000003510504939185921,0.0000031409495022671763,0.0000028319695957179647...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.218e-7},"relativeThreshold":0}. 
+PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: exponential, rolloff: 1.5, right channel equals [2,0.0010604923591017723,0.0003755554207600653,0.00020453766046557575,0.00013288715854287148,0.00009510177915217355,0.00007235421799123287,0.00005742186840507202,0.000047001805796753615,0.00003939175803679973,0.00003363448195159435,0.000029154703952372074,0.000025588007702026516,0.000022693546270602383,0.0000203064064407954,0.000018310278392164037...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":5.218e-7},"relativeThreshold":0}. 
 PASS < [2: 2-channel exponential rolloff: 1.5] All assertions passed. (total 2 assertions) 
 PASS > [3: 1-channel linear rolloff: 1]  
-PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, left channel equals [0.7071067690849304,0.22892199456691742,0.22258761525154114,0.21748939156532288,0.21270129084587097,0.2080373466014862,0.2034355252981186,0.19886919856071472,0.19432516396045685,0.1897958517074585,0.18527695536613464,0.18076558411121368,0.1762598603963852,0.17175845801830292,0.1672605574131012,0.16276535391807556...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065324},"relativeThreshold":0}. 
-PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, right channel equals [0.7071067690849304,0.9534875750541687,0.9349632859230042,0.9161425232887268,0.8972479104995728,0.8783238530158997,0.8593849539756775,0.840437650680542,0.8214850425720215,0.8025290369987488,0.7835704684257507,0.7646101713180542,0.7456485629081726,0.7266858816146851,0.7077224254608154,0.6887583136558533...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065324},"relativeThreshold":0}. 
+PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, left channel equals [0.7071067690849304,0.22892199456691742,0.22258761525154114,0.21748939156532288,0.2127012461423874,0.20803728699684143,0.2034355252981186,0.19886919856071472,0.19432516396045685,0.1897958517074585,0.18527695536613464,0.18076558411121368,0.1762598603963852,0.1717584729194641,0.1672605574131012,0.16276535391807556...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065324},"relativeThreshold":0}. 
+PASS   1-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, right channel equals [0.7071067690849304,0.9534875750541687,0.9349632859230042,0.9161425232887268,0.8972479701042175,0.8783238530158997,0.8593849539756775,0.840437650680542,0.8214850425720215,0.8025290369987488,0.7835704684257507,0.7646101713180542,0.7456485629081726,0.7266859412193298,0.7077224254608154,0.6887583136558533...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065324},"relativeThreshold":0}. 
 PASS < [3: 1-channel linear rolloff: 1] All assertions passed. (total 2 assertions) 
 PASS > [3: 2-channel linear rolloff: 1]  
-PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, left channel equals [1,0.4451926648616791,0.4330716133117676,0.4232165515422821,0.41393065452575684,0.40487271547317505,0.39592882990837097,0.38705015182495117,0.37821245193481445,0.369401752948761,0.3606102168560028,0.35183247923851013,0.34306514263153076,0.3343057632446289,0.3255528211593628,0.31680476665496826...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065756},"relativeThreshold":0}. 
-PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, right channel equals [2,2.834864377975464,2.780179977416992,2.7243428230285645,2.6682181358337402,2.611978530883789,2.5556817054748535,2.499351978302002,2.4430017471313477,2.3866379261016846,2.3302643299102783,2.2738840579986572,2.217498540878296,2.16110897064209,2.1047163009643555,2.048321008682251...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065756},"relativeThreshold":0}. 
+PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, left channel equals [1,0.4451926648616791,0.4330716133117676,0.4232165515422821,0.4139305651187897,0.4048725962638855,0.39592882990837097,0.38705015182495117,0.37821245193481445,0.369401752948761,0.3606102168560028,0.35183247923851013,0.34306514263153076,0.3343057930469513,0.3255528211593628,0.31680476665496826...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065756},"relativeThreshold":0}. 
+PASS   2-channel [0, 0, 1] -> [20000, 30000, 10000]: distanceModel: linear, rolloff: 1, right channel equals [2,2.834864377975464,2.780179977416992,2.7243428230285645,2.6682181358337402,2.611978769302368,2.5556817054748535,2.499351978302002,2.4430017471313477,2.3866379261016846,2.3302643299102783,2.2738840579986572,2.217498540878296,2.16110897064209,2.1047163009643555,2.048321008682251...] with an element-wise tolerance of {"absoluteThreshold":{"relativeThreshold":0.0000065756},"relativeThreshold":0}. 
 PASS < [3: 2-channel linear rolloff: 1] All assertions passed. (total 2 assertions) 
 FAIL # AUDIT TASK RUNNER FINISHED: 2 out of 8 tasks were failed. assert_true: expected true got false
 

Modified: trunk/Source/WebCore/ChangeLog (266260 => 266261)


--- trunk/Source/WebCore/ChangeLog	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/Source/WebCore/ChangeLog	2020-08-27 23:43:34 UTC (rev 266261)
@@ -1,3 +1,21 @@
+2020-08-27  Chris Dumez  <cdu...@apple.com>
+
+        Fix AudioParam.linearRampToValueAtTime() formula to match specification
+        https://bugs.webkit.org/show_bug.cgi?id=215904
+
+        Reviewed by Darin Adler.
+
+        Fix AudioParam.linearRampToValueAtTime() formula to match specification:
+        - https://www.w3.org/TR/webaudio/#dom-audioparam-linearramptovalueattime
+
+        We were using a different formula to compute the value and this was causing us
+        to fail some web platform tests.
+
+        No new tests, rebaselined existing tests.
+
+        * Modules/webaudio/AudioParamTimeline.cpp:
+        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl):
+
 2020-08-27  Joonghun Park  <jh718.p...@samsung.com>
 
         Implement @supports selector().

Modified: trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp (266260 => 266261)


--- trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp	2020-08-27 22:18:13 UTC (rev 266260)
+++ trunk/Source/WebCore/Modules/webaudio/AudioParamTimeline.cpp	2020-08-27 23:43:34 UTC (rev 266261)
@@ -223,7 +223,6 @@
         auto time2 = nextEvent ? nextEvent->time() : endTime + 1_s;
 
         auto deltaTime = time2 - time1;
-        float k = deltaTime > 0_s ? 1 / deltaTime.value() : 0.;
         auto sampleFrameTimeIncr = Seconds { 1 / sampleRate };
 
         auto fillToTime = std::min(endTime, time2);
@@ -235,8 +234,12 @@
         // First handle linear and exponential ramps which require looking ahead to the next event.
         if (nextEventType == ParamEvent::LinearRampToValue) {
             for (; writeIndex < fillToFrame; ++writeIndex) {
-                float x = (currentTime - time1).value() * k;
-                value = (1 - x) * value1 + x * value2;
+                // Since deltaTime is a double, 1/deltaTime can easily overflow a float. Thus, if deltaTime
+                // is close enough to zero (less than float min), treat it as zero.
+                float k = deltaTime.value() <= std::numeric_limits<float>::min() ? 0 : 1 / deltaTime.value();
+                float x = static_cast<float>((currentTime - time1).value()) * k;
+                float valueDelta = value2 - value1;
+                value = value1 + valueDelta * x;
                 values[writeIndex] = value;
                 currentTime += sampleFrameTimeIncr;
             }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to