{"action":"created","comment":{"url":"https://api.github.com/repos/blaze/dask/pulls/comments/45652574","id":45652574,"diff_hunk":"@@ -1151,6 +1151,52 @@ def imag(self):\n     def conj(self):\n         return conj(self)\n \n+    def view(self, dtype, order='C'):\n+        \"\"\" Get a view of the array as a new data type\n+\n+        Parameters\n+        ----------\n+        dtype:\n+            The dtype by which to view the array\n+        order: string\n+            'C' or 'F' (Fortran) ordering\n+\n+        This reinterprets the bytes of the array under a new dtype.  If that\n+        dtype does not have the same size as the original array then the shape\n+        will change.\n+\n+        Beware that both numpy and dask.array can behave oddly when taking\n+        shape-changing views of arrays under Fortran ordering.  Under some\n+        versions of NumPy this function will fail when taking shape-changing\n+        views of Fortran ordered arrays if the first dimension has chunks of\n+        size one.\n+        \"\"\"\n+        dtype = np.dtype(dtype)\n+        mult = self.dtype.itemsize / dtype.itemsize\n+\n+        if order == 'C':\n+            ascontiguousarray = np.ascontiguousarray\n+            chunks = self.chunks[:-1] + (tuple(ensure_int(c * mult)\n+                                        for c in self.chunks[-1]),)\n+        elif order == 'F':\n+            ascontiguousarray = np.asfortranarray\n+            chunks = ((tuple(ensure_int(c * mult) for c in self.chunks[0]),)\n+                     + self.chunks[1:])\n+        else:\n+            raise ValueError(\"Order must be one of 'C' or 'F'\")\n+\n+        out = elemwise(ascontiguousarray, self, dtype=dtype)\n+        out = elemwise(lambda x, dt: x.view(dt), out, dtype, dtype=dtype)","path":"dask/array/core.py","position":null,"original_position":39,"commit_id":"36933ba47ff2f7ee633f77b2b5d4bb3181e0aa6a","original_commit_id":"a610bbac3ddb518d9b6128495da1458adb62ce49","user":{"login":"mrocklin","id":306380,"avatar_url":"https://avatars.githubusercontent.com/u/306380?v=3","gravatar_id":"","url":"https://api.github.com/users/mrocklin","html_url":"https://github.com/mrocklin","followers_url":"https://api.github.com/users/mrocklin/followers","following_url":"https://api.github.com/users/mrocklin/following{/other_user}","gists_url":"https://api.github.com/users/mrocklin/gists{/gist_id}","starred_url":"https://api.github.com/users/mrocklin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrocklin/subscriptions","organizations_url":"https://api.github.com/users/mrocklin/orgs","repos_url":"https://api.github.com/users/mrocklin/repos","events_url":"https://api.github.com/users/mrocklin/events{/privacy}","received_events_url":"https://api.github.com/users/mrocklin/received_events","type":"User","site_admin":false},"body":"I find that it makes the graph harder to introspect.  I've found it valuable to have all of the functions and arguments in plain view when debugging nitty-gritty issues within graphs.","created_at":"2015-11-23T19:59:05Z","updated_at":"2015-11-23T19:59:05Z","html_url":"https://github.com/blaze/dask/pull/837#discussion_r45652574","pull_request_url":"https://api.github.com/repos/blaze/dask/pulls/837","_links":{"self":{"href":"https://api.github.com/repos/blaze/dask/pulls/comments/45652574"},"html":{"href":"https://github.com/blaze/dask/pull/837#discussion_r45652574"},"pull_request":{"href":"https://api.github.com/repos/blaze/dask/pulls/837"}}},"pull_request":{"url":"https://api.github.com/repos/blaze/dask/pulls/837","id":51119107,"html_url":"https://github.com/blaze/dask/pull/837","diff_url":"https://github.com/blaze/dask/pull/837.diff","patch_url":"https://github.com/blaze/dask/pull/837.patch","issue_url":"https://api.github.com/repos/blaze/dask/issues/837","number":837,"state":"open","locked":false,"title":"add dask.array.view","user":{"login":"mrocklin","id":306380,"avatar_url":"https://avatars.githubusercontent.com/u/306380?v=3","gravatar_id":"","url":"https://api.github.com/users/mrocklin","html_url":"https://github.com/mrocklin","followers_url":"https://api.github.com/users/mrocklin/followers","following_url":"https://api.github.com/users/mrocklin/following{/other_user}","gists_url":"https://api.github.com/users/mrocklin/gists{/gist_id}","starred_url":"https://api.github.com/users/mrocklin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrocklin/subscriptions","organizations_url":"https://api.github.com/users/mrocklin/orgs","repos_url":"https://api.github.com/users/mrocklin/repos","events_url":"https://api.github.com/users/mrocklin/events{/privacy}","received_events_url":"https://api.github.com/users/mrocklin/received_events","type":"User","site_admin":false},"body":"https://gitter.im/blaze/dask?at=564cb635167ee3a91d43b95d\r\n\r\ncc @to266","created_at":"2015-11-18T17:59:43Z","updated_at":"2015-11-23T19:59:05Z","closed_at":null,"merged_at":null,"merge_commit_sha":"98901ed6dbd36b3c69fcb8ace7f3c6aed4eb361f","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/blaze/dask/pulls/837/commits","review_comments_url":"https://api.github.com/repos/blaze/dask/pulls/837/comments","review_comment_url":"https://api.github.com/repos/blaze/dask/pulls/comments{/number}","comments_url":"https://api.github.com/repos/blaze/dask/issues/837/comments","statuses_url":"https://api.github.com/repos/blaze/dask/statuses/36933ba47ff2f7ee633f77b2b5d4bb3181e0aa6a","head":{"label":"mrocklin:view","ref":"view","sha":"36933ba47ff2f7ee633f77b2b5d4bb3181e0aa6a","user":{"login":"mrocklin","id":306380,"avatar_url":"https://avatars.githubusercontent.com/u/306380?v=3","gravatar_id":"","url":"https://api.github.com/users/mrocklin","html_url":"https://github.com/mrocklin","followers_url":"https://api.github.com/users/mrocklin/followers","following_url":"https://api.github.com/users/mrocklin/following{/other_user}","gists_url":"https://api.github.com/users/mrocklin/gists{/gist_id}","starred_url":"https://api.github.com/users/mrocklin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrocklin/subscriptions","organizations_url":"https://api.github.com/users/mrocklin/orgs","repos_url":"https://api.github.com/users/mrocklin/repos","events_url":"https://api.github.com/users/mrocklin/events{/privacy}","received_events_url":"https://api.github.com/users/mrocklin/received_events","type":"User","site_admin":false},"repo":{"id":28313768,"name":"dask","full_name":"mrocklin/dask","owner":{"login":"mrocklin","id":306380,"avatar_url":"https://avatars.githubusercontent.com/u/306380?v=3","gravatar_id":"","url":"https://api.github.com/users/mrocklin","html_url":"https://github.com/mrocklin","followers_url":"https://api.github.com/users/mrocklin/followers","following_url":"https://api.github.com/users/mrocklin/following{/other_user}","gists_url":"https://api.github.com/users/mrocklin/gists{/gist_id}","starred_url":"https://api.github.com/users/mrocklin/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mrocklin/subscriptions","organizations_url":"https://api.github.com/users/mrocklin/orgs","repos_url":"https://api.github.com/users/mrocklin/repos","events_url":"https://api.github.com/users/mrocklin/events{/privacy}","received_events_url":"https://api.github.com/users/mrocklin/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mrocklin/dask","description":"Minimal task scheduling abstraction","fork":true,"url":"https://api.github.com/repos/mrocklin/dask","forks_url":"https://api.github.com/repos/mrocklin/dask/forks","keys_url":"https://api.github.com/repos/mrocklin/dask/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mrocklin/dask/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mrocklin/dask/teams","hooks_url":"https://api.github.com/repos/mrocklin/dask/hooks","issue_events_url":"https://api.github.com/repos/mrocklin/dask/issues/events{/number}","events_url":"https://api.github.com/repos/mrocklin/dask/events","assignees_url":"https://api.github.com/repos/mrocklin/dask/assignees{/user}","branches_url":"https://api.github.com/repos/mrocklin/dask/branches{/branch}","tags_url":"https://api.github.com/repos/mrocklin/dask/tags","blobs_url":"https://api.github.com/repos/mrocklin/dask/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mrocklin/dask/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mrocklin/dask/git/refs{/sha}","trees_url":"https://api.github.com/repos/mrocklin/dask/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mrocklin/dask/statuses/{sha}","languages_url":"https://api.github.com/repos/mrocklin/dask/languages","stargazers_url":"https://api.github.com/repos/mrocklin/dask/stargazers","contributors_url":"https://api.github.com/repos/mrocklin/dask/contributors","subscribers_url":"https://api.github.com/repos/mrocklin/dask/subscribers","subscription_url":"https://api.github.com/repos/mrocklin/dask/subscription","commits_url":"https://api.github.com/repos/mrocklin/dask/commits{/sha}","git_commits_url":"https://api.github.com/repos/mrocklin/dask/git/commits{/sha}","comments_url":"https://api.github.com/repos/mrocklin/dask/comments{/number}","issue_comment_url":"https://api.github.com/repos/mrocklin/dask/issues/comments{/number}","contents_url":"https://api.github.com/repos/mrocklin/dask/contents/{+path}","compare_url":"https://api.github.com/repos/mrocklin/dask/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mrocklin/dask/merges","archive_url":"https://api.github.com/repos/mrocklin/dask/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mrocklin/dask/downloads","issues_url":"https://api.github.com/repos/mrocklin/dask/issues{/number}","pulls_url":"https://api.github.com/repos/mrocklin/dask/pulls{/number}","milestones_url":"https://api.github.com/repos/mrocklin/dask/milestones{/number}","notifications_url":"https://api.github.com/repos/mrocklin/dask/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mrocklin/dask/labels{/name}","releases_url":"https://api.github.com/repos/mrocklin/dask/releases{/id}","created_at":"2014-12-21T21:26:56Z","updated_at":"2015-08-21T17:45:47Z","pushed_at":"2015-11-23T19:16:50Z","git_url":"git://github.com/mrocklin/dask.git","ssh_url":"git@github.com:mrocklin/dask.git","clone_url":"https://github.com/mrocklin/dask.git","svn_url":"https://github.com/mrocklin/dask","homepage":"","size":8666,"stargazers_count":11,"watchers_count":11,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":11,"default_branch":"master"}},"base":{"label":"blaze:master","ref":"master","sha":"ca9c50c9f0ef603d59f89d22ff9b8c041a64cf09","user":{"login":"blaze","id":12833921,"avatar_url":"https://avatars.githubusercontent.com/u/12833921?v=3","gravatar_id":"","url":"https://api.github.com/users/blaze","html_url":"https://github.com/blaze","followers_url":"https://api.github.com/users/blaze/followers","following_url":"https://api.github.com/users/blaze/following{/other_user}","gists_url":"https://api.github.com/users/blaze/gists{/gist_id}","starred_url":"https://api.github.com/users/blaze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blaze/subscriptions","organizations_url":"https://api.github.com/users/blaze/orgs","repos_url":"https://api.github.com/users/blaze/repos","events_url":"https://api.github.com/users/blaze/events{/privacy}","received_events_url":"https://api.github.com/users/blaze/received_events","type":"Organization","site_admin":false},"repo":{"id":28782747,"name":"dask","full_name":"blaze/dask","owner":{"login":"blaze","id":12833921,"avatar_url":"https://avatars.githubusercontent.com/u/12833921?v=3","gravatar_id":"","url":"https://api.github.com/users/blaze","html_url":"https://github.com/blaze","followers_url":"https://api.github.com/users/blaze/followers","following_url":"https://api.github.com/users/blaze/following{/other_user}","gists_url":"https://api.github.com/users/blaze/gists{/gist_id}","starred_url":"https://api.github.com/users/blaze/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/blaze/subscriptions","organizations_url":"https://api.github.com/users/blaze/orgs","repos_url":"https://api.github.com/users/blaze/repos","events_url":"https://api.github.com/users/blaze/events{/privacy}","received_events_url":"https://api.github.com/users/blaze/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/blaze/dask","description":"Task scheduling and blocked algorithms for parallel processing","fork":false,"url":"https://api.github.com/repos/blaze/dask","forks_url":"https://api.github.com/repos/blaze/dask/forks","keys_url":"https://api.github.com/repos/blaze/dask/keys{/key_id}","collaborators_url":"https://api.github.com/repos/blaze/dask/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/blaze/dask/teams","hooks_url":"https://api.github.com/repos/blaze/dask/hooks","issue_events_url":"https://api.github.com/repos/blaze/dask/issues/events{/number}","events_url":"https://api.github.com/repos/blaze/dask/events","assignees_url":"https://api.github.com/repos/blaze/dask/assignees{/user}","branches_url":"https://api.github.com/repos/blaze/dask/branches{/branch}","tags_url":"https://api.github.com/repos/blaze/dask/tags","blobs_url":"https://api.github.com/repos/blaze/dask/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/blaze/dask/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/blaze/dask/git/refs{/sha}","trees_url":"https://api.github.com/repos/blaze/dask/git/trees{/sha}","statuses_url":"https://api.github.com/repos/blaze/dask/statuses/{sha}","languages_url":"https://api.github.com/repos/blaze/dask/languages","stargazers_url":"https://api.github.com/repos/blaze/dask/stargazers","contributors_url":"https://api.github.com/repos/blaze/dask/contributors","subscribers_url":"https://api.github.com/repos/blaze/dask/subscribers","subscription_url":"https://api.github.com/repos/blaze/dask/subscription","commits_url":"https://api.github.com/repos/blaze/dask/commits{/sha}","git_commits_url":"https://api.github.com/repos/blaze/dask/git/commits{/sha}","comments_url":"https://api.github.com/repos/blaze/dask/comments{/number}","issue_comment_url":"https://api.github.com/repos/blaze/dask/issues/comments{/number}","contents_url":"https://api.github.com/repos/blaze/dask/contents/{+path}","compare_url":"https://api.github.com/repos/blaze/dask/compare/{base}...{head}","merges_url":"https://api.github.com/repos/blaze/dask/merges","archive_url":"https://api.github.com/repos/blaze/dask/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/blaze/dask/downloads","issues_url":"https://api.github.com/repos/blaze/dask/issues{/number}","pulls_url":"https://api.github.com/repos/blaze/dask/pulls{/number}","milestones_url":"https://api.github.com/repos/blaze/dask/milestones{/number}","notifications_url":"https://api.github.com/repos/blaze/dask/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/blaze/dask/labels{/name}","releases_url":"https://api.github.com/repos/blaze/dask/releases{/id}","created_at":"2015-01-04T18:50:00Z","updated_at":"2015-11-22T06:20:57Z","pushed_at":"2015-11-23T19:16:52Z","git_url":"git://github.com/blaze/dask.git","ssh_url":"git@github.com:blaze/dask.git","clone_url":"https://github.com/blaze/dask.git","svn_url":"https://github.com/blaze/dask","homepage":"http://dask.pydata.org","size":9477,"stargazers_count":423,"watchers_count":423,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":72,"mirror_url":null,"open_issues_count":80,"forks":72,"open_issues":80,"watchers":423,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/blaze/dask/pulls/837"},"html":{"href":"https://github.com/blaze/dask/pull/837"},"issue":{"href":"https://api.github.com/repos/blaze/dask/issues/837"},"comments":{"href":"https://api.github.com/repos/blaze/dask/issues/837/comments"},"review_comments":{"href":"https://api.github.com/repos/blaze/dask/pulls/837/comments"},"review_comment":{"href":"https://api.github.com/repos/blaze/dask/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/blaze/dask/pulls/837/commits"},"statuses":{"href":"https://api.github.com/repos/blaze/dask/statuses/36933ba47ff2f7ee633f77b2b5d4bb3181e0aa6a"}}}}