{"action":"opened","issue":{"url":"https://api.github.com/repos/CGAL/cgal/issues/436","labels_url":"https://api.github.com/repos/CGAL/cgal/issues/436/labels{/name}","comments_url":"https://api.github.com/repos/CGAL/cgal/issues/436/comments","events_url":"https://api.github.com/repos/CGAL/cgal/issues/436/events","html_url":"https://github.com/CGAL/cgal/issues/436","id":113732454,"number":436,"title":"Change std::sqrt to CGAL::sqrt","user":{"login":"poconbhui","id":1926202,"avatar_url":"https://avatars.githubusercontent.com/u/1926202?v=3","gravatar_id":"","url":"https://api.github.com/users/poconbhui","html_url":"https://github.com/poconbhui","followers_url":"https://api.github.com/users/poconbhui/followers","following_url":"https://api.github.com/users/poconbhui/following{/other_user}","gists_url":"https://api.github.com/users/poconbhui/gists{/gist_id}","starred_url":"https://api.github.com/users/poconbhui/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/poconbhui/subscriptions","organizations_url":"https://api.github.com/users/poconbhui/orgs","repos_url":"https://api.github.com/users/poconbhui/repos","events_url":"https://api.github.com/users/poconbhui/events{/privacy}","received_events_url":"https://api.github.com/users/poconbhui/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":0,"created_at":"2015-10-28T02:50:44Z","updated_at":"2015-10-28T02:50:44Z","closed_at":null,"body":"The existence of std::sqrt in a number of packages causes them to fail to compile when using an exact kernel.\r\n\r\nAs an example:\r\n\r\n    #include <CGAL/Exact_predicates_exact_constructions_kernel_with_sqrt.h>\r\n    #include <CGAL/Polyhedron_3.h>\r\n    #include <CGAL/Polygon_mesh_processing/triangulate_faces.h>\r\n    \r\n    typedef CGAL::Exact_predicates_exact_constructions_kernel_with_sqrt Kernel;\r\n    typedef CGAL::Filtered_kernel<Kernel> FKernel;\r\n    \r\n    typedef CGAL::Polyhedron_3<FKernel> Polyhedron;\r\n    \r\n    int main() {\r\n        Polyhedron polyhedron;\r\n    \r\n        CGAL::Polygon_mesh_processing::triangulate_faces(polyhedron);\r\n    \r\n        return 0;\r\n    }\r\n\r\ncrashes complaining \"include/CGAL/Polygon_mesh_processing/compute_normal.h:103: error: no matching function for call to 'sqrt(CORE::Expr)'\". This is fixed either by changing the offending std::sqrt to CGAL::sqrt, or by writing a specialization of std::sqrt for the FT type being used. I've done the latter for my own project, but it's a pretty bad solution.\r\n\r\nHow can I go about fixing this, at least for the bits I need, and testing it? I couldn't find how to run any test suites after a quick glance."}}