{"abstract":"All cutoffs yield the same (full-band) impulse shape.","category":"Digital signal filters","checks":7,"contract":"Input [N, fc, window]; fc is the cutoff as a fraction of Nyquist in (0, 1], window hamming (0.54 - 0.46 cos(2 pi n/(N-1))), hann (0.5 - 0.5 cos(...)) or rect (N = 1 uses 1). Taps h[n] = fc sinc(fc (n - (N-1)/2)) w[n], normalized to unit DC gain and rounded to 8 decimals; \"bad-spec\" for invalid input (Hann needs N != 2).","evaluation_group":"w2-digital_signal_filters-windowed-sinc-lowpass","failed_approach":"The attempted repair halves the argument (fc t / 2), confusing Nyquist-relative and sample-rate-relative cutoffs.","family":"w2-digital_signal_filters-windowed-sinc-lowpass-sinc-argument-scaling","id":"FA-91501","implementations":{"attempt":{"sha256":"a7217c75ad1f752a078ff8159f434107a7259ad768f4b91b80addd7fda6bfee9","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    N, fc_s, win = x\n    fc = float(Fraction(fc_s))\n    if N < 1 or not 0 < fc <= 1:\n        return 'bad-spec'\n    c = (N - 1) / 2\n    taps = []\n    for n in range(N):\n        t = n - c\n        s = 1.0 if t == 0 else math.sin(math.pi * fc * t / 2) / (math.pi * fc * t / 2)\n        if N == 1 or win == 'rect':\n            w = 1.0\n        elif win == 'hann':\n            w = 0.5 - 0.5 * math.cos(2 * math.pi * n / (N - 1))\n        else:\n            w = 0.54 - 0.46 * math.cos(2 * math.pi * n / (N - 1))\n        taps.append(fc * s * w)\n    tot = sum(taps)\n    return [round(v / tot, 8) + 0.0 for v in taps]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: N=4 fc=1/2 hamming', [4, '1/2', 'hamming'], [0.0167364, 0.4832636, 0.4832636, 0.0167364]], ['regression: N=4 fc=1/2 rect', [4, '1/2', 'rect'], [0.125, 0.375, 0.375, 0.125]], ['regression: N=4 fc=1/4 hamming', [4, '1/4', 'hamming'], [0.03857901, 0.46142099, 0.46142099, 0.03857901]], ['control: N=1 fc=1/2 hamming', [1, '1/2', 'hamming'], [1.0]], ['control: N=1 fc=1/2 hann', [1, '1/2', 'hann'], [1.0]], ['control: N=1 fc=1/2 rect', [1, '1/2', 'rect'], [1.0]], ['control: N=1 fc=1/4 hamming', [1, '1/4', 'hamming'], [1.0]]], [['regression: N=4 fc=1/4 rect', [4, '1/4', 'rect'], [0.22295145, 0.27704855, 0.27704855, 0.22295145]], ['regression: N=4 fc=3/5 hamming', [4, '3/5', 'hamming'], [0.00652778, 0.49347222, 0.49347222, 0.00652778]], ['regression: N=4 fc=1/4 hamming', [4, '1/4', 'hamming'], [0.03857901, 0.46142099, 0.46142099, 0.03857901]], ['control: N=1 fc=1/4 hann', [1, '1/4', 'hann'], [1.0]], ['control: N=1 fc=1/4 rect', [1, '1/4', 'rect'], [1.0]], ['control: N=1 fc=3/5 hamming', [1, '3/5', 'hamming'], [1.0]], ['control: N=1 fc=3/5 hann', [1, '3/5', 'hann'], [1.0]]], [['regression: N=5 fc=1/2 hamming', [5, '1/2', 'hamming'], [0.0, 0.20371237, 0.59257526, 0.20371237, 0.0]], ['regression: N=5 fc=1/2 hann', [5, '1/2', 'hann'], [0.0, 0.19449226, 0.61101547, 0.19449226, 0.0]], ['regression: N=4 fc=3/5 hamming', [4, '3/5', 'hamming'], [0.00652778, 0.49347222, 0.49347222, 0.00652778]], ['control: N=1 fc=3/5 rect', [1, '3/5', 'rect'], [1.0]], ['control: N=1 fc=1 hamming', [1, '1', 'hamming'], [1.0]], ['control: N=1 fc=1 hann', [1, '1', 'hann'], [1.0]], ['control: N=1 fc=1 rect', [1, '1', 'rect'], [1.0]]], [['regression: N=5 fc=1/4 hamming', [5, '1/4', 'hamming'], [0.02455383, 0.23438946, 0.4821134, 0.23438946, 0.02455383]], ['regression: N=5 fc=1/4 hann', [5, '1/4', 'hann'], [0.0, 0.23688591, 0.52622818, 0.23688591, 0.0]], ['repair check: N=4 fc=1 hamming', [4, '1', 'hamming'], [-0.01793722, 0.51793722, 0.51793722, -0.01793722]], ['control: N=2 fc=1/2 hamming', [2, '1/2', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1/2 rect', [2, '1/2', 'rect'], [0.5, 0.5]], ['control: N=2 fc=1/4 hamming', [2, '1/4', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1/4 rect', [2, '1/4', 'rect'], [0.5, 0.5]]], [['regression: N=5 fc=3/5 hamming', [5, '3/5', 'hamming'], [-0.00820621, 0.17925211, 0.65790821, 0.17925211, -0.00820621]], ['regression: N=5 fc=3/5 hann', [5, '3/5', 'hann'], [0.0, 0.16767497, 0.66465005, 0.16767497, 0.0]], ['regression: N=5 fc=1/2 hamming', [5, '1/2', 'hamming'], [0.0, 0.20371237, 0.59257526, 0.20371237, 0.0]], ['control: N=2 fc=3/5 hamming', [2, '3/5', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=3/5 rect', [2, '3/5', 'rect'], [0.5, 0.5]], ['control: N=2 fc=1 hamming', [2, '1', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1 rect', [2, '1', 'rect'], [0.5, 0.5]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"8af77cc6c98428fc077a968cebdb6e1efa0f6761e2ccfc67576f14a169c4e82e","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    N, fc_s, win = x\n    fc = float(Fraction(fc_s))\n    if N < 1 or not 0 < fc <= 1:\n        return 'bad-spec'\n    c = (N - 1) / 2\n    taps = []\n    for n in range(N):\n        t = n - c\n        s = 1.0 if t == 0 else math.sin(math.pi * t) / (math.pi * t)\n        if N == 1 or win == 'rect':\n            w = 1.0\n        elif win == 'hann':\n            w = 0.5 - 0.5 * math.cos(2 * math.pi * n / (N - 1))\n        else:\n            w = 0.54 - 0.46 * math.cos(2 * math.pi * n / (N - 1))\n        taps.append(fc * s * w)\n    tot = sum(taps)\n    return [round(v / tot, 8) + 0.0 for v in taps]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: N=4 fc=1/2 hamming', [4, '1/2', 'hamming'], [0.0167364, 0.4832636, 0.4832636, 0.0167364]], ['regression: N=4 fc=1/2 rect', [4, '1/2', 'rect'], [0.125, 0.375, 0.375, 0.125]], ['regression: N=4 fc=1/4 hamming', [4, '1/4', 'hamming'], [0.03857901, 0.46142099, 0.46142099, 0.03857901]], ['control: N=1 fc=1/2 hamming', [1, '1/2', 'hamming'], [1.0]], ['control: N=1 fc=1/2 hann', [1, '1/2', 'hann'], [1.0]], ['control: N=1 fc=1/2 rect', [1, '1/2', 'rect'], [1.0]], ['control: N=1 fc=1/4 hamming', [1, '1/4', 'hamming'], [1.0]]], [['regression: N=4 fc=1/4 rect', [4, '1/4', 'rect'], [0.22295145, 0.27704855, 0.27704855, 0.22295145]], ['regression: N=4 fc=3/5 hamming', [4, '3/5', 'hamming'], [0.00652778, 0.49347222, 0.49347222, 0.00652778]], ['regression: N=4 fc=1/4 hamming', [4, '1/4', 'hamming'], [0.03857901, 0.46142099, 0.46142099, 0.03857901]], ['control: N=1 fc=1/4 hann', [1, '1/4', 'hann'], [1.0]], ['control: N=1 fc=1/4 rect', [1, '1/4', 'rect'], [1.0]], ['control: N=1 fc=3/5 hamming', [1, '3/5', 'hamming'], [1.0]], ['control: N=1 fc=3/5 hann', [1, '3/5', 'hann'], [1.0]]], [['regression: N=5 fc=1/2 hamming', [5, '1/2', 'hamming'], [0.0, 0.20371237, 0.59257526, 0.20371237, 0.0]], ['regression: N=5 fc=1/2 hann', [5, '1/2', 'hann'], [0.0, 0.19449226, 0.61101547, 0.19449226, 0.0]], ['regression: N=4 fc=3/5 hamming', [4, '3/5', 'hamming'], [0.00652778, 0.49347222, 0.49347222, 0.00652778]], ['control: N=1 fc=3/5 rect', [1, '3/5', 'rect'], [1.0]], ['control: N=1 fc=1 hamming', [1, '1', 'hamming'], [1.0]], ['control: N=1 fc=1 hann', [1, '1', 'hann'], [1.0]], ['control: N=1 fc=1 rect', [1, '1', 'rect'], [1.0]]], [['regression: N=5 fc=1/4 hamming', [5, '1/4', 'hamming'], [0.02455383, 0.23438946, 0.4821134, 0.23438946, 0.02455383]], ['regression: N=5 fc=1/4 hann', [5, '1/4', 'hann'], [0.0, 0.23688591, 0.52622818, 0.23688591, 0.0]], ['repair check: N=4 fc=1 hamming', [4, '1', 'hamming'], [-0.01793722, 0.51793722, 0.51793722, -0.01793722]], ['control: N=2 fc=1/2 hamming', [2, '1/2', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1/2 rect', [2, '1/2', 'rect'], [0.5, 0.5]], ['control: N=2 fc=1/4 hamming', [2, '1/4', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1/4 rect', [2, '1/4', 'rect'], [0.5, 0.5]]], [['regression: N=5 fc=3/5 hamming', [5, '3/5', 'hamming'], [-0.00820621, 0.17925211, 0.65790821, 0.17925211, -0.00820621]], ['regression: N=5 fc=3/5 hann', [5, '3/5', 'hann'], [0.0, 0.16767497, 0.66465005, 0.16767497, 0.0]], ['regression: N=5 fc=1/2 hamming', [5, '1/2', 'hamming'], [0.0, 0.20371237, 0.59257526, 0.20371237, 0.0]], ['control: N=2 fc=3/5 hamming', [2, '3/5', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=3/5 rect', [2, '3/5', 'rect'], [0.5, 0.5]], ['control: N=2 fc=1 hamming', [2, '1', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1 rect', [2, '1', 'rect'], [0.5, 0.5]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"8b745303584f8b9e2d164dc3c0f6fe41010b13ebfc0b0702e1b4ef8bcf5c541f","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\nimport math\nfrom fractions import Fraction\nN = 1\nobservations = []\ndef solve(x):\n    N, fc_s, win = x\n    fc = float(Fraction(fc_s))\n    if N < 1 or not 0 < fc <= 1:\n        return 'bad-spec'\n    c = (N - 1) / 2\n    taps = []\n    for n in range(N):\n        t = n - c\n        s = 1.0 if t == 0 else math.sin(math.pi * fc * t) / (math.pi * fc * t)\n        if N == 1 or win == 'rect':\n            w = 1.0\n        elif win == 'hann':\n            w = 0.5 - 0.5 * math.cos(2 * math.pi * n / (N - 1))\n        else:\n            w = 0.54 - 0.46 * math.cos(2 * math.pi * n / (N - 1))\n        taps.append(fc * s * w)\n    tot = sum(taps)\n    return [round(v / tot, 8) + 0.0 for v in taps]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[['regression: N=4 fc=1/2 hamming', [4, '1/2', 'hamming'], [0.0167364, 0.4832636, 0.4832636, 0.0167364]], ['regression: N=4 fc=1/2 rect', [4, '1/2', 'rect'], [0.125, 0.375, 0.375, 0.125]], ['regression: N=4 fc=1/4 hamming', [4, '1/4', 'hamming'], [0.03857901, 0.46142099, 0.46142099, 0.03857901]], ['control: N=1 fc=1/2 hamming', [1, '1/2', 'hamming'], [1.0]], ['control: N=1 fc=1/2 hann', [1, '1/2', 'hann'], [1.0]], ['control: N=1 fc=1/2 rect', [1, '1/2', 'rect'], [1.0]], ['control: N=1 fc=1/4 hamming', [1, '1/4', 'hamming'], [1.0]]], [['regression: N=4 fc=1/4 rect', [4, '1/4', 'rect'], [0.22295145, 0.27704855, 0.27704855, 0.22295145]], ['regression: N=4 fc=3/5 hamming', [4, '3/5', 'hamming'], [0.00652778, 0.49347222, 0.49347222, 0.00652778]], ['regression: N=4 fc=1/4 hamming', [4, '1/4', 'hamming'], [0.03857901, 0.46142099, 0.46142099, 0.03857901]], ['control: N=1 fc=1/4 hann', [1, '1/4', 'hann'], [1.0]], ['control: N=1 fc=1/4 rect', [1, '1/4', 'rect'], [1.0]], ['control: N=1 fc=3/5 hamming', [1, '3/5', 'hamming'], [1.0]], ['control: N=1 fc=3/5 hann', [1, '3/5', 'hann'], [1.0]]], [['regression: N=5 fc=1/2 hamming', [5, '1/2', 'hamming'], [0.0, 0.20371237, 0.59257526, 0.20371237, 0.0]], ['regression: N=5 fc=1/2 hann', [5, '1/2', 'hann'], [0.0, 0.19449226, 0.61101547, 0.19449226, 0.0]], ['regression: N=4 fc=3/5 hamming', [4, '3/5', 'hamming'], [0.00652778, 0.49347222, 0.49347222, 0.00652778]], ['control: N=1 fc=3/5 rect', [1, '3/5', 'rect'], [1.0]], ['control: N=1 fc=1 hamming', [1, '1', 'hamming'], [1.0]], ['control: N=1 fc=1 hann', [1, '1', 'hann'], [1.0]], ['control: N=1 fc=1 rect', [1, '1', 'rect'], [1.0]]], [['regression: N=5 fc=1/4 hamming', [5, '1/4', 'hamming'], [0.02455383, 0.23438946, 0.4821134, 0.23438946, 0.02455383]], ['regression: N=5 fc=1/4 hann', [5, '1/4', 'hann'], [0.0, 0.23688591, 0.52622818, 0.23688591, 0.0]], ['repair check: N=4 fc=1 hamming', [4, '1', 'hamming'], [-0.01793722, 0.51793722, 0.51793722, -0.01793722]], ['control: N=2 fc=1/2 hamming', [2, '1/2', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1/2 rect', [2, '1/2', 'rect'], [0.5, 0.5]], ['control: N=2 fc=1/4 hamming', [2, '1/4', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1/4 rect', [2, '1/4', 'rect'], [0.5, 0.5]]], [['regression: N=5 fc=3/5 hamming', [5, '3/5', 'hamming'], [-0.00820621, 0.17925211, 0.65790821, 0.17925211, -0.00820621]], ['regression: N=5 fc=3/5 hann', [5, '3/5', 'hann'], [0.0, 0.16767497, 0.66465005, 0.16767497, 0.0]], ['regression: N=5 fc=1/2 hamming', [5, '1/2', 'hamming'], [0.0, 0.20371237, 0.59257526, 0.20371237, 0.0]], ['control: N=2 fc=3/5 hamming', [2, '3/5', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=3/5 rect', [2, '3/5', 'rect'], [0.5, 0.5]], ['control: N=2 fc=1 hamming', [2, '1', 'hamming'], [0.5, 0.5]], ['control: N=2 fc=1 rect', [2, '1', 'rect'], [0.5, 0.5]]]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic bounded teaching model with a stipulated toy contract; exact rational arithmetic or fixed-decimal rounding keeps outputs strict JSON. It is not a production DSP library and claims no standards conformance. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-digital_signal_filters-windowed-sinc-lowpass-sinc-argument-scaling","generated_at":"2026-09-29T14:51:36.698016+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"Windowed-sinc design is the default FIR recipe; centre or normalization slips yield non-linear-phase or wrong-gain filters.","repair":"Use sin(pi fc t)/(pi fc t).","root_cause":"The sinc is evaluated at t instead of fc t.","sha256":"cde44a84d96b5280a128e8a9f057535214f5aae5a39961f59e3623bfd4fa094c","title":"Windowed sinc ignores the cutoff in the sinc argument · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.349,"exit_code":1,"observations":[{"actual":[0.03857901,0.46142099,0.46142099,0.03857901],"check":"regression: N=4 fc=1/2 hamming","expected":[0.0167364,0.4832636,0.4832636,0.0167364],"passed":false},{"actual":[0.22295145,0.27704855,0.27704855,0.22295145],"check":"regression: N=4 fc=1/2 rect","expected":[0.125,0.375,0.375,0.125],"passed":false},{"actual":[0.04488511,0.45511489,0.45511489,0.04488511],"check":"regression: N=4 fc=1/4 hamming","expected":[0.03857901,0.46142099,0.46142099,0.03857901],"passed":false},{"actual":[1.0],"check":"control: N=1 fc=1/2 hamming","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 hann","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 rect","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/4 hamming","expected":[1.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: N=4 fc=1/2 hamming\", \"actual\": [0.03857901, 0.46142099, 0.46142099, 0.03857901], \"expected\": [0.0167364, 0.4832636, 0.4832636, 0.0167364], \"passed\": false}, {\"check\": \"regression: N=4 fc=1/2 rect\", \"actual\": [0.22295145, 0.27704855, 0.27704855, 0.22295145], \"expected\": [0.125, 0.375, 0.375, 0.125], \"passed\": false}, {\"check\": \"regression: N=4 fc=1/4 hamming\", \"actual\": [0.04488511, 0.45511489, 0.45511489, 0.04488511], \"expected\": [0.03857901, 0.46142099, 0.46142099, 0.03857901], \"passed\": false}, {\"check\": \"control: N=1 fc=1/2 hamming\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 hann\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 rect\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/4 hamming\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.369,"exit_code":1,"observations":[{"actual":[-0.01793722,0.51793722,0.51793722,-0.01793722],"check":"regression: N=4 fc=1/2 hamming","expected":[0.0167364,0.4832636,0.4832636,0.0167364],"passed":false},{"actual":[-0.25,0.75,0.75,-0.25],"check":"regression: N=4 fc=1/2 rect","expected":[0.125,0.375,0.375,0.125],"passed":false},{"actual":[-0.01793722,0.51793722,0.51793722,-0.01793722],"check":"regression: N=4 fc=1/4 hamming","expected":[0.03857901,0.46142099,0.46142099,0.03857901],"passed":false},{"actual":[1.0],"check":"control: N=1 fc=1/2 hamming","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 hann","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 rect","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/4 hamming","expected":[1.0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: N=4 fc=1/2 hamming\", \"actual\": [-0.01793722, 0.51793722, 0.51793722, -0.01793722], \"expected\": [0.0167364, 0.4832636, 0.4832636, 0.0167364], \"passed\": false}, {\"check\": \"regression: N=4 fc=1/2 rect\", \"actual\": [-0.25, 0.75, 0.75, -0.25], \"expected\": [0.125, 0.375, 0.375, 0.125], \"passed\": false}, {\"check\": \"regression: N=4 fc=1/4 hamming\", \"actual\": [-0.01793722, 0.51793722, 0.51793722, -0.01793722], \"expected\": [0.03857901, 0.46142099, 0.46142099, 0.03857901], \"passed\": false}, {\"check\": \"control: N=1 fc=1/2 hamming\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 hann\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 rect\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/4 hamming\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":43.874,"exit_code":0,"observations":[{"actual":[0.0167364,0.4832636,0.4832636,0.0167364],"check":"regression: N=4 fc=1/2 hamming","expected":[0.0167364,0.4832636,0.4832636,0.0167364],"passed":true},{"actual":[0.125,0.375,0.375,0.125],"check":"regression: N=4 fc=1/2 rect","expected":[0.125,0.375,0.375,0.125],"passed":true},{"actual":[0.03857901,0.46142099,0.46142099,0.03857901],"check":"regression: N=4 fc=1/4 hamming","expected":[0.03857901,0.46142099,0.46142099,0.03857901],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 hamming","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 hann","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/2 rect","expected":[1.0],"passed":true},{"actual":[1.0],"check":"control: N=1 fc=1/4 hamming","expected":[1.0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"regression: N=4 fc=1/2 hamming\", \"actual\": [0.0167364, 0.4832636, 0.4832636, 0.0167364], \"expected\": [0.0167364, 0.4832636, 0.4832636, 0.0167364], \"passed\": true}, {\"check\": \"regression: N=4 fc=1/2 rect\", \"actual\": [0.125, 0.375, 0.375, 0.125], \"expected\": [0.125, 0.375, 0.375, 0.125], \"passed\": true}, {\"check\": \"regression: N=4 fc=1/4 hamming\", \"actual\": [0.03857901, 0.46142099, 0.46142099, 0.03857901], \"expected\": [0.03857901, 0.46142099, 0.46142099, 0.03857901], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 hamming\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 hann\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/2 rect\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}, {\"check\": \"control: N=1 fc=1/4 hamming\", \"actual\": [1.0], \"expected\": [1.0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}