{"action":"created","issue":{"url":"https://api.github.com/repos/atztogo/spglib/issues/60","repository_url":"https://api.github.com/repos/atztogo/spglib","labels_url":"https://api.github.com/repos/atztogo/spglib/issues/60/labels{/name}","comments_url":"https://api.github.com/repos/atztogo/spglib/issues/60/comments","events_url":"https://api.github.com/repos/atztogo/spglib/issues/60/events","html_url":"https://github.com/atztogo/spglib/pull/60","id":319689100,"number":60,"title":"Small additional overlap.c optimization","user":{"login":"colin-daniels","id":4268263,"avatar_url":"https://avatars3.githubusercontent.com/u/4268263?v=4","gravatar_id":"","url":"https://api.github.com/users/colin-daniels","html_url":"https://github.com/colin-daniels","followers_url":"https://api.github.com/users/colin-daniels/followers","following_url":"https://api.github.com/users/colin-daniels/following{/other_user}","gists_url":"https://api.github.com/users/colin-daniels/gists{/gist_id}","starred_url":"https://api.github.com/users/colin-daniels/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/colin-daniels/subscriptions","organizations_url":"https://api.github.com/users/colin-daniels/orgs","repos_url":"https://api.github.com/users/colin-daniels/repos","events_url":"https://api.github.com/users/colin-daniels/events{/privacy}","received_events_url":"https://api.github.com/users/colin-daniels/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":3,"created_at":"2018-05-02T19:51:35Z","updated_at":"2018-05-03T01:17:16Z","closed_at":null,"author_association":"NONE","pull_request":{"url":"https://api.github.com/repos/atztogo/spglib/pulls/60","html_url":"https://github.com/atztogo/spglib/pull/60","diff_url":"https://github.com/atztogo/spglib/pull/60.diff","patch_url":"https://github.com/atztogo/spglib/pull/60.patch"},"body":"Partially duplicate a version of `cel_is_overlap_with_same_type` into `overlap.c` to be used in `ovl_check_total_overlap`. Compiler macros are checked to determine if the actual inline keyword (or similar) can be reasonably assumed to work and are pretty conservative as far as I can tell. Otherwise, it falls back to no inlining and hoping that the compiler decides to do it on its own. \r\n\r\nIdeally, checks for support of C99 and other features would be done through something like autoconf, but the fact that there are essentially three separate build systems (autoconf, cmake, and python) makes it harder. That said, it is doable if needed.\r\n\r\nOn my machine I see a significant increase of performance for `spg_get_dataset` for large highly symmetric structures (80-100%), with a small gain running the unit tests (~5%).\r\n"},"comment":{"url":"https://api.github.com/repos/atztogo/spglib/issues/comments/386167691","html_url":"https://github.com/atztogo/spglib/pull/60#issuecomment-386167691","issue_url":"https://api.github.com/repos/atztogo/spglib/issues/60","id":386167691,"user":{"login":"atztogo","id":953404,"avatar_url":"https://avatars2.githubusercontent.com/u/953404?v=4","gravatar_id":"","url":"https://api.github.com/users/atztogo","html_url":"https://github.com/atztogo","followers_url":"https://api.github.com/users/atztogo/followers","following_url":"https://api.github.com/users/atztogo/following{/other_user}","gists_url":"https://api.github.com/users/atztogo/gists{/gist_id}","starred_url":"https://api.github.com/users/atztogo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/atztogo/subscriptions","organizations_url":"https://api.github.com/users/atztogo/orgs","repos_url":"https://api.github.com/users/atztogo/repos","events_url":"https://api.github.com/users/atztogo/events{/privacy}","received_events_url":"https://api.github.com/users/atztogo/received_events","type":"User","site_admin":false},"created_at":"2018-05-03T01:17:16Z","updated_at":"2018-05-03T01:17:16Z","author_association":"OWNER","body":"Maybe this way,\r\n```\r\nif (cartesian_norm_sq(lattice, v_diff) < (symprec * symprec)) {\r\n  return 0;\r\n} else {\r\n  return 1;\r\n}\r\n```"}}
{"actor":{"display_login":"atztogo"}}