Commit Graph

6293 Commits (e46a8b05eb31d8a46ebbc53fac5b251aeb0916d4)

Author SHA1 Message Date
dellaert e46a8b05eb Some mode readable matrix types 2014-10-11 23:06:57 +02:00
dellaert c776e87f78 Refactoring for readability/sanity 2014-10-11 21:33:07 +02:00
dellaert 1bac83381f Merge remote-tracking branch 'origin/feature/BAD_meta' into feature/BAD: Now the Record structures are recursively generated using template meta-programming, basically mpl::fold
Conflicts:
	gtsam_unstable/nonlinear/Expression-inl.h
2014-10-11 15:20:12 +02:00
dellaert 88f9a423c5 Numbered types avoid ambiguity 2014-10-11 14:19:39 +02:00
dellaert 252024cc9b Merge branch 'feature/BAD_raw' into feature/BAD: the entire allocation tree is now allocated all at once, in Expression::reverse, on the stack. the traceExecution method then takes a raw pointer, and the "placement new" is used to grab that existing memory, avoiding all mallocs altogether. The only mallocs that still happen - that are responsible for almost all time within reverse - are the leaves inserting general matrices into a map to pass back to linearize. 2014-10-11 13:50:49 +02:00
dellaert ecf6462a25 Victory!! Unit tests work! 2014-10-11 13:07:58 +02:00
dellaert 599e232d1d traceSize, two tests work 2014-10-11 12:11:22 +02:00
dellaert 9585823d5d ...but works with correct size ! 2014-10-11 11:32:52 +02:00
dellaert deed7b8018 Unary prints, but still-faults downstream 2014-10-11 11:30:06 +02:00
dellaert 05f78b6dca Re-factor, allow traceExecution 2014-10-11 11:29:42 +02:00
dellaert 1f692638f5 Accessing matrices works 2014-10-11 11:04:39 +02:00
dellaert 69b69a0bc8 placement new works! And sophisticated Trace::print 2014-10-11 11:03:35 +02:00
dellaert eef2d49e8d First prototype, segfaults 2014-10-11 10:27:30 +02:00
dellaert e09e24964a No need to have all of T as template parameter 2014-10-11 09:00:03 +02:00
dellaert 820988b04e Do casting inside Trace 2014-10-11 08:52:24 +02:00
dellaert 52fc6f2db4 Testing old trace 2014-10-11 08:41:39 +02:00
dellaert 820e9553ee TestBinaryExpression friend 2014-10-11 08:17:46 +02:00
dellaert a2d2d82e0e some namespace management 2014-10-11 07:39:13 +02:00
dellaert 23485a0e71 New and consistent naming: ExecutionTrace = whole tree, CallRecord = local information left by the function. 2014-10-10 17:45:39 +02:00
dellaert 5cfe761f27 Timing multi-threaded code 2014-10-10 17:17:20 +02:00
dellaert ae93dd9869 Commented out repeated arguments 2014-10-10 13:57:37 +02:00
dellaert 58bbce482d Ternary works, same caveat 2014-10-10 13:33:13 +02:00
dellaert 406467e341 Binary works, but it's ugly and does not work for repeated types 2014-10-10 13:29:56 +02:00
dellaert 24714e48c5 Works for Unary ! 2014-10-10 12:38:26 +02:00
dellaert f8468bd596 Recursion done 2014-10-10 12:31:40 +02:00
dellaert 40fc6f5c03 Working prototype 2014-10-10 12:29:01 +02:00
dellaert dd1b931802 Successfully defined Jacobian 2014-10-10 12:03:13 +02:00
dellaert 732ff54b83 More experiments 2014-10-10 11:41:01 +02:00
dellaert 8e264f4289 Attempt at defining Trace recursively 2014-10-09 14:38:16 +02:00
dellaert 5e5457b390 Renamed entry point to startReverseAD to emphasize it is only called once 2014-10-09 13:42:43 +02:00
dellaert 563c4d214c Renamed BADFactor -> ExpressionFactor 2014-10-09 13:00:56 +02:00
dellaert 7e069191e5 Slight refactor 2014-10-09 10:58:46 +02:00
dellaert a38a0ae9e1 Some comments 2014-10-09 00:21:10 +02:00
dellaert 9ebe1e6d10 Super-speedup by specializing to 2-dimensional output (for now). Using some template magic. 2014-10-08 23:50:17 +02:00
dellaert 31c138d0d6 Profile Bin(Leaf,Un(Bin(Leaf,Leaf))) by default 2014-10-08 17:52:46 +02:00
dellaert abb92632b8 Empty derived destructors are not needed 2014-10-08 17:32:46 +02:00
dellaert 6a1bc6e242 Documentation 2014-10-08 17:28:33 +02:00
dellaert 4ac065fab4 Show explanation of timing 2014-10-08 17:27:46 +02:00
dellaert ce2dcaeb3b Tagged union, lightweight 2014-10-08 15:39:59 +02:00
dellaert 390842e1f7 Put Trace in front 2014-10-08 13:58:15 +02:00
dellaert ba9faa68b6 New Leaf/noise tests 2014-10-08 13:56:54 +02:00
dellaert d38bcf1805 Merge remote-tracking branch 'origin/feature/BAD_FixedJacobians' into feature/BAD
Conflicts:
	gtsam_unstable/nonlinear/tests/testBADFactor.cpp
2014-10-07 20:59:09 +02:00
dellaert d7022a21c7 More samples to average 2014-10-07 20:11:19 +02:00
dellaert c4a92acde1 Avoid argument temporaries 2014-10-07 19:35:44 +02:00
dellaert 84987aa351 Deal with Rot3 changes 2014-10-07 19:35:20 +02:00
dellaert e1c9ae95cb Some fixed matrices 2014-10-07 19:35:06 +02:00
dellaert b704b7b1a1 Faster versions 2014-10-07 19:34:45 +02:00
dellaert 3c1c9c6d12 Switch to pointers - nice improvement 2014-10-07 18:11:12 +02:00
dellaert 982dc29d2f Time ternary version as well 2014-10-07 18:10:53 +02:00
dellaert e4392c0a3b JacobianTrace no longer templated 2014-10-07 16:11:55 +02:00