Commit graph

843 commits

Author SHA1 Message Date
790deb19ff Add relative error closedness check in tests 2022-01-23 19:36:55 +03:00
7040faecd4 Add identity activation function to ml 2022-01-23 19:36:38 +03:00
3dbbcadfe3 Add generic backpropagation (supporting any loss function, not only l2) 2022-01-21 18:42:48 +03:00
8630525dcf Add ml::neural_net_learner implementation with backpropagation, gradient descent, and tests 2022-01-21 12:12:38 +03:00
def0615baa Add ml::activation_type::count 2022-01-21 12:12:08 +03:00
d410c970e6 Add an utility function to compute l2 loss in ml 2022-01-21 12:11:38 +03:00
6d40e4dd98 Add some empty lines 2022-01-21 12:11:14 +03:00
b47b6aa224 Fix ml::unknown_activation_type overriding what() 2022-01-21 12:10:51 +03:00
c6f01aad81 Support logging in tests 2022-01-21 12:10:12 +03:00
454d975ba6 Make tests expect_close macro show actual values of compared expressions 2022-01-21 12:09:53 +03:00
73820d4844 Support custom sinks in logging 2022-01-21 12:09:10 +03:00
88fa197f8c Add log::level comparison operators 2022-01-21 12:07:53 +03:00
134ec550f5 Add util::span::front,back 2022-01-20 20:32:38 +03:00
e5ba642c5d Fix util::ecs tests 2022-01-20 20:32:22 +03:00
11b2d002ba Move neural net errors to a separate file 2022-01-20 20:07:36 +03:00
2f1afc368e Rename evaluate -> apply 2022-01-20 14:19:10 +03:00
3a3fffa232 Add neural net random initialization 2022-01-20 14:16:54 +03:00
587a80b0de Move neural net stuff to a separate subdirectory of ml 2022-01-20 14:16:22 +03:00
d37edd207b Make ml::neural_net return spans 2022-01-20 13:52:13 +03:00
0ab0ce9134 Remove unused include 2022-01-20 13:48:25 +03:00
434c327a9d Throw an exception if number of neural net layer sizes & activation types do not match 2022-01-20 13:46:09 +03:00
b2fea97c8f Add new library for ML stuff & a neural net implementation 2022-01-19 20:12:15 +03:00
889fce973b Make pcg not depend on boost random 2022-01-19 15:46:58 +03:00
fdaaf58d20 Add geom::quaternion::i,j,k 2022-01-12 19:22:10 +03:00
7babed1c57 Fix geom::acos_over_sqrt_1_minus_x2 to allow arguments slightly larger than 1 to prevent NaNs 2022-01-12 19:18:24 +03:00
efc22a5bd7 Add stable implementation of acos(x)/sqrt(1-x*x) 2022-01-10 17:45:43 +03:00
23551f681d Add geom::log(quaternion) 2022-01-09 19:21:35 +03:00
ae4ee3488a Replace cg::body_traits::dimension with constexpr dimension template variable 2022-01-08 15:44:57 +03:00
eff7f397b4 Add default implementation of cg::vertices 2022-01-08 15:44:28 +03:00
4c48790497 Add quaternion/scalar operator & rename quaternion norm -> length 2022-01-07 23:51:34 +03:00
1f0e4e545e Add quaternion derivative to angular momentum transform matrix 2022-01-07 23:49:14 +03:00
385efe5ff9 Fix cg::edges 2022-01-07 23:48:43 +03:00
29e62192ce Add begin(simplex) & end(simplex) 2022-01-07 23:48:30 +03:00
cae538d7a5 Add geom::matrix::diagonal 2021-12-30 17:21:10 +03:00
64b3e876ad Add rotate(quat,vector,quat) 2021-12-27 15:14:23 +03:00
36854905fc Add quaternion += and -= 2021-12-27 11:49:12 +03:00
0a2cfda21f Use conjugate instead of inverse in quaternion rotation 2021-12-26 10:46:37 +03:00
f9e6a6e37e Add homogeneous matrix to affine/linear matrix conversion 2021-12-25 14:19:34 +03:00
9a50990c5c Add geom::submatrix 2021-12-25 14:19:22 +03:00
2d05fe9ea9 Add smooth_updater::value 2021-12-24 21:01:16 +03:00
12b6b3169c Implement ray-cylinder intersection 2021-12-23 10:57:11 +03:00
e0312b66b1 Fix ray-sphere intersection: return an interval 2021-12-23 10:56:58 +03:00
8eae072ec1 Add geom::cylinder primitive 2021-12-23 10:56:11 +03:00
ec08a4a281 Add util::updater and smooth_updater 2021-12-22 20:35:21 +03:00
8d0440926f Shallow water steady state solver (wip) 2021-12-01 21:23:25 +03:00
93f4147941 Add n-dimensional dual numbers implementation 2021-12-01 21:23:13 +03:00
ec86b0c0aa Add geom::signed_distance 2021-12-01 21:22:00 +03:00
a397a21628 Add array::assign 2021-12-01 21:20:21 +03:00
35de0993d2 Support getting current vsync status in app 2021-10-31 13:18:32 +03:00
249ca33aab Support indexing util::array with arbitrary array-like types 2021-10-30 22:04:50 +03:00