{"action":"created","issue":{"url":"https://api.github.com/repos/Theano/Theano/issues/4262","repository_url":"https://api.github.com/repos/Theano/Theano","labels_url":"https://api.github.com/repos/Theano/Theano/issues/4262/labels{/name}","comments_url":"https://api.github.com/repos/Theano/Theano/issues/4262/comments","events_url":"https://api.github.com/repos/Theano/Theano/issues/4262/events","html_url":"https://github.com/Theano/Theano/issues/4262","id":141954960,"number":4262,"title":"gpuarray.GpuJoin with negative axes","user":{"login":"lamblin","id":178249,"avatar_url":"https://avatars.githubusercontent.com/u/178249?v=3","gravatar_id":"","url":"https://api.github.com/users/lamblin","html_url":"https://github.com/lamblin","followers_url":"https://api.github.com/users/lamblin/followers","following_url":"https://api.github.com/users/lamblin/following{/other_user}","gists_url":"https://api.github.com/users/lamblin/gists{/gist_id}","starred_url":"https://api.github.com/users/lamblin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lamblin/subscriptions","organizations_url":"https://api.github.com/users/lamblin/orgs","repos_url":"https://api.github.com/users/lamblin/repos","events_url":"https://api.github.com/users/lamblin/events{/privacy}","received_events_url":"https://api.github.com/users/lamblin/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/Theano/Theano/labels/GPU%20-%20New%20back-end","name":"GPU - New back-end","color":"009800"}],"state":"closed","locked":false,"assignee":null,"milestone":null,"comments":2,"created_at":"2016-03-18T19:14:43Z","updated_at":"2016-03-31T16:03:20Z","closed_at":"2016-03-31T16:03:19Z","body":"This ticket is about cleaning up the fix in #4258.\r\n- [ ] First, we should sort out if `axis` should be changed to a signed type in `gpuarray`, in `pygpu`, or if only Theano Ops should accept negative axes.\r\n- [ ] Then, we should make `GpuJoin.perform` raise `IndexError` instead of `OverflowError` when axis < -ndim, be it by modifying `perform` or something in `pygpu` or in `gpuarray` to add explicit checks, instead of relying on Cython's overflow checks.\r\n- [ ] Finally, in [`test_basic.py`](https://github.com/Theano/Theano/pull/4258/files#diff-bd238af9c7f5e76b67885294b7da00aa), we should change the `assertRaises` to only accept `IndexError`, not `OverflowError`"},"comment":{"url":"https://api.github.com/repos/Theano/Theano/issues/comments/204000775","html_url":"https://github.com/Theano/Theano/issues/4262#issuecomment-204000775","issue_url":"https://api.github.com/repos/Theano/Theano/issues/4262","id":204000775,"user":{"login":"abergeron","id":1002504,"avatar_url":"https://avatars.githubusercontent.com/u/1002504?v=3","gravatar_id":"","url":"https://api.github.com/users/abergeron","html_url":"https://github.com/abergeron","followers_url":"https://api.github.com/users/abergeron/followers","following_url":"https://api.github.com/users/abergeron/following{/other_user}","gists_url":"https://api.github.com/users/abergeron/gists{/gist_id}","starred_url":"https://api.github.com/users/abergeron/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/abergeron/subscriptions","organizations_url":"https://api.github.com/users/abergeron/orgs","repos_url":"https://api.github.com/users/abergeron/repos","events_url":"https://api.github.com/users/abergeron/events{/privacy}","received_events_url":"https://api.github.com/users/abergeron/received_events","type":"User","site_admin":false},"created_at":"2016-03-31T16:03:19Z","updated_at":"2016-03-31T16:03:19Z","body":"I think that all the points are addressed now."}}