compute($value), 0.001); } public function gaussianProvider(): array { return [ [0.367, 1], [1, 0], [0.367, -1], [0, 3], [0, -3], ]; } /** * @dataProvider gaussianDerivativeProvider * * @param float|int $value */ public function testGaussianDerivative(float $expected, $value): void { $gaussian = new Gaussian(); $activatedValue = $gaussian->compute($value); self::assertEqualsWithDelta($expected, $gaussian->differentiate($value, $activatedValue), 0.001); } public function gaussianDerivativeProvider(): array { return [ [0, -5], [0.735, -1], [0.779, -0.5], [0, 0], [-0.779, 0.5], [-0.735, 1], [0, 5], ]; } }