{"action":"created","issue":{"url":"https://api.github.com/repos/scipy/scipy/issues/4021","labels_url":"https://api.github.com/repos/scipy/scipy/issues/4021/labels{/name}","comments_url":"https://api.github.com/repos/scipy/scipy/issues/4021/comments","events_url":"https://api.github.com/repos/scipy/scipy/issues/4021/events","html_url":"https://github.com/scipy/scipy/pull/4021","id":43702292,"number":4021,"title":"ENH: Cython api for lapack and blas","user":{"login":"insertinterestingnamehere","id":1847484,"avatar_url":"https://avatars.githubusercontent.com/u/1847484?v=3","gravatar_id":"","url":"https://api.github.com/users/insertinterestingnamehere","html_url":"https://github.com/insertinterestingnamehere","followers_url":"https://api.github.com/users/insertinterestingnamehere/followers","following_url":"https://api.github.com/users/insertinterestingnamehere/following{/other_user}","gists_url":"https://api.github.com/users/insertinterestingnamehere/gists{/gist_id}","starred_url":"https://api.github.com/users/insertinterestingnamehere/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/insertinterestingnamehere/subscriptions","organizations_url":"https://api.github.com/users/insertinterestingnamehere/orgs","repos_url":"https://api.github.com/users/insertinterestingnamehere/repos","events_url":"https://api.github.com/users/insertinterestingnamehere/events{/privacy}","received_events_url":"https://api.github.com/users/insertinterestingnamehere/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/scipy/scipy/labels/enhancement","name":"enhancement","color":"bfe5bf"},{"url":"https://api.github.com/repos/scipy/scipy/labels/scipy.linalg","name":"scipy.linalg","color":"207de5"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":122,"created_at":"2014-09-24T00:45:41Z","updated_at":"2015-03-07T00:18:08Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/scipy/scipy/pulls/4021","html_url":"https://github.com/scipy/scipy/pull/4021","diff_url":"https://github.com/scipy/scipy/pull/4021.diff","patch_url":"https://github.com/scipy/scipy/pull/4021.patch"},"body":"- [x] Add interface for lapack and blas routines.\r\n- [x] Add working example in tests\r\n- [x] Review signatures for correctness\r\n- [x] Add function to get directory of `scipy.linalg` (similar to `numpy.get_include`)\r\n- [x] Finish wrappers for 'gees' and 'gges' functions.\r\n- [x] Add interfaces to the functions added in https://github.com/scipy/scipy/pull/3984\r\n- [x] Add this api to the documentation"},"comment":{"url":"https://api.github.com/repos/scipy/scipy/issues/comments/77660224","html_url":"https://github.com/scipy/scipy/pull/4021#issuecomment-77660224","issue_url":"https://api.github.com/repos/scipy/scipy/issues/4021","id":77660224,"user":{"login":"sturlamolden","id":1970862,"avatar_url":"https://avatars.githubusercontent.com/u/1970862?v=3","gravatar_id":"","url":"https://api.github.com/users/sturlamolden","html_url":"https://github.com/sturlamolden","followers_url":"https://api.github.com/users/sturlamolden/followers","following_url":"https://api.github.com/users/sturlamolden/following{/other_user}","gists_url":"https://api.github.com/users/sturlamolden/gists{/gist_id}","starred_url":"https://api.github.com/users/sturlamolden/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sturlamolden/subscriptions","organizations_url":"https://api.github.com/users/sturlamolden/orgs","repos_url":"https://api.github.com/users/sturlamolden/repos","events_url":"https://api.github.com/users/sturlamolden/events{/privacy}","received_events_url":"https://api.github.com/users/sturlamolden/received_events","type":"User","site_admin":false},"created_at":"2015-03-07T00:18:08Z","updated_at":"2015-03-07T00:18:08Z","body":"I think the wrappers are repeating typedefs that are already taken care of in NumPy. We can use ```npy_*```. What is the purpose of ```_scipy_linalg_double_complex``` when we already have ```npy_cdouble```? (Not to mention the former is too verbose.) Also, we can ```cimport numpy as cnp``` to access the NumPy typedefs in Cython, which is how this will be used anyway. In ```numpy.pxd``` they have names that consequently map to the Python side dtype names.\r\n\r\nI suggest the wrappers should consequently use NumPy typedefs for all their data array arguments (or perhaps for all their arguments?) in the C headers. In the Cython files we use the corresponding ```dtype_t``` ctypedef names from Cython's ```numpy.pxd```.\r\n\r\nhttp://docs.scipy.org/doc/numpy/reference/c-api.dtype.html"}}