{"action":"created","issue":{"url":"https://api.github.com/repos/tlycken/Interpolations.jl/issues/28","labels_url":"https://api.github.com/repos/tlycken/Interpolations.jl/issues/28/labels{/name}","comments_url":"https://api.github.com/repos/tlycken/Interpolations.jl/issues/28/comments","events_url":"https://api.github.com/repos/tlycken/Interpolations.jl/issues/28/events","html_url":"https://github.com/tlycken/Interpolations.jl/issues/28","id":59503597,"number":28,"title":"Incorporation of functionality from GridInterpolations.jl","user":{"login":"mykelk","id":6294079,"avatar_url":"https://avatars.githubusercontent.com/u/6294079?v=3","gravatar_id":"","url":"https://api.github.com/users/mykelk","html_url":"https://github.com/mykelk","followers_url":"https://api.github.com/users/mykelk/followers","following_url":"https://api.github.com/users/mykelk/following{/other_user}","gists_url":"https://api.github.com/users/mykelk/gists{/gist_id}","starred_url":"https://api.github.com/users/mykelk/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mykelk/subscriptions","organizations_url":"https://api.github.com/users/mykelk/orgs","repos_url":"https://api.github.com/users/mykelk/repos","events_url":"https://api.github.com/users/mykelk/events{/privacy}","received_events_url":"https://api.github.com/users/mykelk/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-03-02T16:20:50Z","updated_at":"2015-03-20T09:42:23Z","closed_at":null,"body":"[GridInterpolations.jl](https://github.com/sisl/GridInterpolations.jl) provides multivariate interpolation on a rectilinear grid with support for both multilinear and simplex interpolation. My lab does interpolation in an inner-inner loop for a dynamic programming application, and so quite a bit of effort was put into making it fast. It would be neat if this functionality can be migrated to Interpolations.jl without compromising on speed or the simplicity of the interface."},"comment":{"url":"https://api.github.com/repos/tlycken/Interpolations.jl/issues/comments/83969687","html_url":"https://github.com/tlycken/Interpolations.jl/issues/28#issuecomment-83969687","issue_url":"https://api.github.com/repos/tlycken/Interpolations.jl/issues/28","id":83969687,"user":{"login":"tlycken","id":1550920,"avatar_url":"https://avatars.githubusercontent.com/u/1550920?v=3","gravatar_id":"","url":"https://api.github.com/users/tlycken","html_url":"https://github.com/tlycken","followers_url":"https://api.github.com/users/tlycken/followers","following_url":"https://api.github.com/users/tlycken/following{/other_user}","gists_url":"https://api.github.com/users/tlycken/gists{/gist_id}","starred_url":"https://api.github.com/users/tlycken/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tlycken/subscriptions","organizations_url":"https://api.github.com/users/tlycken/orgs","repos_url":"https://api.github.com/users/tlycken/repos","events_url":"https://api.github.com/users/tlycken/events{/privacy}","received_events_url":"https://api.github.com/users/tlycken/received_events","type":"User","site_admin":false},"created_at":"2015-03-20T09:42:23Z","updated_at":"2015-03-20T09:42:23Z","body":"Hi @mykelk! I'm sorry I haven't replied to this. I'm sure I at least started writing a reply to this somewhere, but now I can't find it and it obviously didn't get posted.\r\n\r\nI tried to skim the paper you referred to from the readme, as well as one of its references, to better understand the math behind your implementation technique, but it was a little too opaque for me to get it without spending more time on it. I hope to be able to do so over the weekend, but if you have easy-to-digest resources that would make this a little easier they would be most welcome.\r\n \r\nI've also taken a quick look at the code, and while I do appreciate the effort to make everything really fast, I feel that a little too much of the generic nature of Julia's type system has been sacrificed in the process. I think we could preserve most of, if not all, the speed while making the code much more general, with quite a small effort - it would mostly be stuff like removing type arguments from function definitions to allow other types of data than `Float64`.\r\n\r\nI would also like to harmonize the API in your code with the API in Interpolations.jl before we merge them into a single package. This might require some changes to Interpolations.jl to make room for your functionality, but that's completely OK with me. Basically, I think the following is probably a good pattern to follow:\r\n\r\n```julia\r\nitp = interpolate(data, interpolation_type_definition)\r\n```\r\n\r\nwhere `data` is the array of y/z coordinates in 1/2D (and corresponding quantity for higher dimensions) and `interpolation_type_definition` is a type argument that defines the type of interpolation that should be performed (for the existing linear B-spline interpolation it could be e.g. `BSpline(Linear(OnGrid()))`). We can then wrap this in another method/type to scale the coordinate axes, and maybe add a separate argument for extrapolation.\r\n\r\nWhat do you think?"}}