{"action":"created","issue":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4431","repository_url":"https://api.github.com/repos/RobotLocomotion/drake","labels_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4431/labels{/name}","comments_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4431/comments","events_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4431/events","html_url":"https://github.com/RobotLocomotion/drake/pull/4431","id":194462187,"number":4431,"title":"Use NumTraits::Literal rather than ::Real","user":{"login":"sherm1","id":4088016,"avatar_url":"https://avatars.githubusercontent.com/u/4088016?v=3","gravatar_id":"","url":"https://api.github.com/users/sherm1","html_url":"https://github.com/sherm1","followers_url":"https://api.github.com/users/sherm1/followers","following_url":"https://api.github.com/users/sherm1/following{/other_user}","gists_url":"https://api.github.com/users/sherm1/gists{/gist_id}","starred_url":"https://api.github.com/users/sherm1/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sherm1/subscriptions","organizations_url":"https://api.github.com/users/sherm1/orgs","repos_url":"https://api.github.com/users/sherm1/repos","events_url":"https://api.github.com/users/sherm1/events{/privacy}","received_events_url":"https://api.github.com/users/sherm1/received_events","type":"User","site_admin":false},"labels":[{"id":470891318,"url":"https://api.github.com/repos/RobotLocomotion/drake/labels/status:%20curate%20commits%20before%20merging","name":"status: curate commits before merging","color":"d93f0b","default":false}],"state":"open","locked":false,"assignee":{"login":"david-german-tri","id":17437069,"avatar_url":"https://avatars.githubusercontent.com/u/17437069?v=3","gravatar_id":"","url":"https://api.github.com/users/david-german-tri","html_url":"https://github.com/david-german-tri","followers_url":"https://api.github.com/users/david-german-tri/followers","following_url":"https://api.github.com/users/david-german-tri/following{/other_user}","gists_url":"https://api.github.com/users/david-german-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/david-german-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/david-german-tri/subscriptions","organizations_url":"https://api.github.com/users/david-german-tri/orgs","repos_url":"https://api.github.com/users/david-german-tri/repos","events_url":"https://api.github.com/users/david-german-tri/events{/privacy}","received_events_url":"https://api.github.com/users/david-german-tri/received_events","type":"User","site_admin":false},"assignees":[{"login":"david-german-tri","id":17437069,"avatar_url":"https://avatars.githubusercontent.com/u/17437069?v=3","gravatar_id":"","url":"https://api.github.com/users/david-german-tri","html_url":"https://github.com/david-german-tri","followers_url":"https://api.github.com/users/david-german-tri/followers","following_url":"https://api.github.com/users/david-german-tri/following{/other_user}","gists_url":"https://api.github.com/users/david-german-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/david-german-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/david-german-tri/subscriptions","organizations_url":"https://api.github.com/users/david-german-tri/orgs","repos_url":"https://api.github.com/users/david-german-tri/repos","events_url":"https://api.github.com/users/david-german-tri/events{/privacy}","received_events_url":"https://api.github.com/users/david-german-tri/received_events","type":"User","site_admin":false},{"login":"jwnimmer-tri","id":17596505,"avatar_url":"https://avatars.githubusercontent.com/u/17596505?v=3","gravatar_id":"","url":"https://api.github.com/users/jwnimmer-tri","html_url":"https://github.com/jwnimmer-tri","followers_url":"https://api.github.com/users/jwnimmer-tri/followers","following_url":"https://api.github.com/users/jwnimmer-tri/following{/other_user}","gists_url":"https://api.github.com/users/jwnimmer-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/jwnimmer-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwnimmer-tri/subscriptions","organizations_url":"https://api.github.com/users/jwnimmer-tri/orgs","repos_url":"https://api.github.com/users/jwnimmer-tri/repos","events_url":"https://api.github.com/users/jwnimmer-tri/events{/privacy}","received_events_url":"https://api.github.com/users/jwnimmer-tri/received_events","type":"User","site_admin":false}],"milestone":null,"comments":4,"created_at":"2016-12-08T22:30:27Z","updated_at":"2016-12-08T22:46:56Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/RobotLocomotion/drake/pulls/4431","html_url":"https://github.com/RobotLocomotion/drake/pull/4431","diff_url":"https://github.com/RobotLocomotion/drake/pull/4431.diff","patch_url":"https://github.com/RobotLocomotion/drake/pull/4431.patch"},"body":"Replaces two uses of `Eigen::NumTraits<T>::Real with `NumTraits<T>::Literal` where the intention was to get the underlying floating point type. `::Real` actually means \"real part\" (vs. \"imaginary part\"). There are several other uses of `::Real` in Drake that appear to be using it correctly.\r\n\r\nEnables the AutoDiff test that failed in PR #4422. Upgrades the assertion that failed to a demand. \r\n\r\nFixes #4427.\n\n<!-- Reviewable:start -->\n---\nThis change is [<img src=\"https://reviewable.io/review_button.svg\" height=\"34\" align=\"absmiddle\" alt=\"Reviewable\"/>](https://reviewable.io/reviews/robotlocomotion/drake/4431)\n<!-- Reviewable:end -->\n"},"comment":{"url":"https://api.github.com/repos/RobotLocomotion/drake/issues/comments/265878838","html_url":"https://github.com/RobotLocomotion/drake/pull/4431#issuecomment-265878838","issue_url":"https://api.github.com/repos/RobotLocomotion/drake/issues/4431","id":265878838,"user":{"login":"jwnimmer-tri","id":17596505,"avatar_url":"https://avatars.githubusercontent.com/u/17596505?v=3","gravatar_id":"","url":"https://api.github.com/users/jwnimmer-tri","html_url":"https://github.com/jwnimmer-tri","followers_url":"https://api.github.com/users/jwnimmer-tri/followers","following_url":"https://api.github.com/users/jwnimmer-tri/following{/other_user}","gists_url":"https://api.github.com/users/jwnimmer-tri/gists{/gist_id}","starred_url":"https://api.github.com/users/jwnimmer-tri/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jwnimmer-tri/subscriptions","organizations_url":"https://api.github.com/users/jwnimmer-tri/orgs","repos_url":"https://api.github.com/users/jwnimmer-tri/repos","events_url":"https://api.github.com/users/jwnimmer-tri/events{/privacy}","received_events_url":"https://api.github.com/users/jwnimmer-tri/received_events","type":"User","site_admin":false},"created_at":"2016-12-08T22:46:56Z","updated_at":"2016-12-08T22:46:56Z","body":"<img class=\"emoji\" title=\":lgtm:\" alt=\":lgtm:\" align=\"absmiddle\" src=\"https://reviewable.io/lgtm.png\" height=\"20\" width=\"61\"/>\n\n---\n\nReviewed 4 of 4 files at r1.\nReview status: all files reviewed at latest revision, 2 unresolved discussions.\n\n---\n\n*[drake/systems/framework/basic_vector.h, line 32 at r1](https://reviewable.io:443/reviews/robotlocomotion/drake/4431#-KYVbHjQEU-XhYhvc7EJ:-KYVbHjQEU-XhYhvc7EK:bg34jxq) ([raw file](https://github.com/robotlocomotion/drake/blob/7bf8ac9cf4009e95df0ddb40ccd5d5978618d9bf/drake/systems/framework/basic_vector.h#L32)):*\n> ```objc\n>       : values_(VectorX<T>::Constant(\n>             size, std::numeric_limits<\n>                       typename Eigen::NumTraits<T>::Literal>::quiet_NaN())) {}\n> ```\n\nBTW I think the unit test burden for framework code should be the highest in our tree.  Does this deserve unit test coverage?\n\n---\n\n*[drake/systems/framework/leaf_system.h, line 293 at r1](https://reviewable.io:443/reviews/robotlocomotion/drake/4431#-KYVbRSmKFhw3ohygYZl:-KYVbRSmKFhw3ohygYZm:b-51aaqd) ([raw file](https://github.com/robotlocomotion/drake/blob/7bf8ac9cf4009e95df0ddb40ccd5d5978618d9bf/drake/systems/framework/leaf_system.h#L293)):*\n> ```objc\n>       const Context<T1>& context, UpdateActions<T1>* actions) const {\n>     T1 min_time =\n>         std::numeric_limits<typename Eigen::NumTraits<T1>::Literal>::infinity();\n> ```\n\nBTW I think the unit test burden for framework code should be the highest in our tree.  Does this deserve more specific unit test coverage?\n\n---\n\n\n*Comments from [Reviewable](https://reviewable.io:443/reviews/robotlocomotion/drake/4431#-:-KYVbYIhIeUKPGE3_OW1:bnfp4nl)*\n<!-- Sent from Reviewable.io -->\n"}}
{"actor":{"display_login":"jwnimmer-tri"}}