From 44cb2c1855f81135a2b38ecb3ff8a3928bc65274 Mon Sep 17 00:00:00 2001 From: John Lin Date: Sat, 23 Mar 2019 13:39:46 +0800 Subject: [PATCH] add float part --- lib/autodiff/numeric.rb | 6 ++++++ test/autodiff_test.rb | 4 ++++ 2 files changed, 10 insertions(+) diff --git a/lib/autodiff/numeric.rb b/lib/autodiff/numeric.rb index f961468..1cc2c62 100644 --- a/lib/autodiff/numeric.rb +++ b/lib/autodiff/numeric.rb @@ -17,3 +17,9 @@ class Integer dual_op(:+) dual_op(:-) end + +class Float + extend DualNumConvertible + dual_op(:+) + dual_op(:-) +end diff --git a/test/autodiff_test.rb b/test/autodiff_test.rb index b5917cc..a20431d 100644 --- a/test/autodiff_test.rb +++ b/test/autodiff_test.rb @@ -21,6 +21,10 @@ def test_gradient_can_do_1_minus_x assert_equal -1, Autodiff.gradient(0) { |x| 1 - x } end + def test_gradient_can_do_1_point_5_minus_x + assert_equal -1, Autodiff.gradient(0) { |x| 1.5 - x } + end + def test_gradient_can_handle_x_square assert_equal 2, Autodiff.gradient(1) { |x| x*x} end