{"action":"created","issue":{"url":"https://api.github.com/repos/brian-team/brian2/issues/981","repository_url":"https://api.github.com/repos/brian-team/brian2","labels_url":"https://api.github.com/repos/brian-team/brian2/issues/981/labels{/name}","comments_url":"https://api.github.com/repos/brian-team/brian2/issues/981/comments","events_url":"https://api.github.com/repos/brian-team/brian2/issues/981/events","html_url":"https://github.com/brian-team/brian2/pull/981","id":340540658,"node_id":"MDExOlB1bGxSZXF1ZXN0MjAwOTI2MjE5","number":981,"title":"[MRG] Float32 support","user":{"login":"mstimberg","id":1381982,"node_id":"MDQ6VXNlcjEzODE5ODI=","avatar_url":"https://avatars0.githubusercontent.com/u/1381982?v=4","gravatar_id":"","url":"https://api.github.com/users/mstimberg","html_url":"https://github.com/mstimberg","followers_url":"https://api.github.com/users/mstimberg/followers","following_url":"https://api.github.com/users/mstimberg/following{/other_user}","gists_url":"https://api.github.com/users/mstimberg/gists{/gist_id}","starred_url":"https://api.github.com/users/mstimberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mstimberg/subscriptions","organizations_url":"https://api.github.com/users/mstimberg/orgs","repos_url":"https://api.github.com/users/mstimberg/repos","events_url":"https://api.github.com/users/mstimberg/events{/privacy}","received_events_url":"https://api.github.com/users/mstimberg/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":39,"created_at":"2018-07-12T08:36:48Z","updated_at":"2018-08-29T11:59:34Z","closed_at":null,"author_association":"MEMBER","pull_request":{"url":"https://api.github.com/repos/brian-team/brian2/pulls/981","html_url":"https://github.com/brian-team/brian2/pull/981","diff_url":"https://github.com/brian-team/brian2/pull/981.diff","patch_url":"https://github.com/brian-team/brian2/pull/981.patch"},"body":"Due to summer vacations this will still take a while to merge I think, but I'm putting it out here since it is basically ready from my side and it should be of high interest to the @brian-team/brian2cuda and @brian-team/brian2genn backends.\r\n\r\nThere are a few tests (mostly the multicompartmental stuff) that test numerical results vs. theoretical predictions that are just off too far with single precision, so I decided to simply skip them when single precision is used.  In the long run, we should also probably split these type of tests from the more basic unit/integration tests.\r\n\r\nTravis and appveyor run tests with single precision (but only for Python 2.7, the test suits already take way too long...) and everything seems to work fine.\r\n\r\nA remark about the clock: The variables `t` and `dt` always use double precision regardless of the preference setting, because everything gets very imprecise otherwise. To avoid problems, other variables or subexpressions that are direct functions of time (e.g. `lastspike`) are using the same dtype.   "},"comment":{"url":"https://api.github.com/repos/brian-team/brian2/issues/comments/416926972","html_url":"https://github.com/brian-team/brian2/pull/981#issuecomment-416926972","issue_url":"https://api.github.com/repos/brian-team/brian2/issues/981","id":416926972,"node_id":"MDEyOklzc3VlQ29tbWVudDQxNjkyNjk3Mg==","user":{"login":"mstimberg","id":1381982,"node_id":"MDQ6VXNlcjEzODE5ODI=","avatar_url":"https://avatars0.githubusercontent.com/u/1381982?v=4","gravatar_id":"","url":"https://api.github.com/users/mstimberg","html_url":"https://github.com/mstimberg","followers_url":"https://api.github.com/users/mstimberg/followers","following_url":"https://api.github.com/users/mstimberg/following{/other_user}","gists_url":"https://api.github.com/users/mstimberg/gists{/gist_id}","starred_url":"https://api.github.com/users/mstimberg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mstimberg/subscriptions","organizations_url":"https://api.github.com/users/mstimberg/orgs","repos_url":"https://api.github.com/users/mstimberg/repos","events_url":"https://api.github.com/users/mstimberg/events{/privacy}","received_events_url":"https://api.github.com/users/mstimberg/received_events","type":"User","site_admin":false},"created_at":"2018-08-29T11:59:34Z","updated_at":"2018-08-29T11:59:34Z","author_association":"MEMBER","body":"> I think solution (1) would be quite counter-productive even though I am also not sure how the different compilers handle calls to sin(x) where x is a single precision float. Do they auto-cast x to double or resolve to a float precision sin function \"C++-style\"?\r\n\r\nC++11 (which I think is required by GeNN?) has overloaded math functions for single precision."}}
{"actor":{"display_login":"mstimberg"}}