{"id":38058424,"url":"https://github.com/rjsberry/xtensor-interpolate","last_synced_at":"2026-01-16T20:27:24.733Z","repository":{"id":137531272,"uuid":"124127994","full_name":"rjsberry/xtensor-interpolate","owner":"rjsberry","description":"Spline interpolation with FITPACK for xtensor.","archived":false,"fork":false,"pushed_at":"2018-04-10T18:47:35.000Z","size":339,"stargazers_count":14,"open_issues_count":1,"forks_count":1,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-10-13T19:04:32.798Z","etag":null,"topics":["c-plus-plus-14","fortran","scipy","spline-interpolation"],"latest_commit_sha":null,"homepage":"https://xtensor-interpolate.readthedocs.io/en/latest/","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rjsberry.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-03-06T19:29:06.000Z","updated_at":"2024-08-27T06:48:18.000Z","dependencies_parsed_at":"2023-09-25T02:08:08.928Z","dependency_job_id":null,"html_url":"https://github.com/rjsberry/xtensor-interpolate","commit_stats":{"total_commits":77,"total_committers":2,"mean_commits":38.5,"dds":"0.012987012987012991","last_synced_commit":"d2a7c2d7042b3e0d0290944f2919a821d7defd3d"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/rjsberry/xtensor-interpolate","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjsberry%2Fxtensor-interpolate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjsberry%2Fxtensor-interpolate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjsberry%2Fxtensor-interpolate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjsberry%2Fxtensor-interpolate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rjsberry","download_url":"https://codeload.github.com/rjsberry/xtensor-interpolate/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rjsberry%2Fxtensor-interpolate/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28482267,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-16T11:59:17.896Z","status":"ssl_error","status_checked_at":"2026-01-16T11:55:55.838Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-plus-plus-14","fortran","scipy","spline-interpolation"],"created_at":"2026-01-16T20:27:24.616Z","updated_at":"2026-01-16T20:27:24.708Z","avatar_url":"https://github.com/rjsberry.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# xtensor-interpolate\n\n[![Travis](https://travis-ci.org/rjsberry/xtensor-interpolate.svg?branch=master)](https://travis-ci.org/rjsberry/xtensor-interpolate)\n[![AppVeyor](https://ci.appveyor.com/api/projects/status/hp9uya98ca0oavlk?svg=true)](https://ci.appveyor.com/project/rjsberry/xtensor-interpolate)\n[![Read the Docs](https://readthedocs.org/projects/xtensor-interpolate/badge/?version=latest)](http://xtensor-interpolate.readthedocs.io/en/latest/?badge=latest)\n\n`xtensor-interpolate` is an *unofficial* extension to the `xtensor` library\noffering spline interpolation via internal bindings to Paul Dierckx's Fortran\npackage, [FITPACK](http://www.netlib.org/dierckx/).\n\n## Introduction\n\nThe FITPACK library is used in [SciPy](https://github.com/scipy/scipy) to build\nthe back-end of `scipy.interpolate`;`xtensor-interpolate` aims to provide a\nfamiliar API to anyone experienced with this Python package.\n\n## Dependencies\n\n- **`xtensor`**\n\nIf you would like to build the test suite, you will also need a copy of\n**`googletest`**. Optionally this can be downloaded and linked during the build\nstep if you do not already have a copy.\n\nIf compiling on Windows you will also need a complete **MinGW** development\nenvironment. This is required to compile the bundled Fortran component with\n`gfortran`.\n\n## Installation\n\n### From Source\n\nInstallation from source is streamlined with CMake.\n\n```\nmkdir build\ncd build\ncmake ..\nmake install\n```\n\nThe `cmake` step of the process can be customized with a number of flags.\n\n- `-DCMAKE_INSTALLATION_PREFIX=...` to change where you want\n  `xtensor-interpolate` to install to.\n\n- `-DBUILD_TESTS=ON` to build the unit test suite. This requires `googletest`.\n\n  - You can target the unit tests directly with `make xtest`, or just build the\n    executable with `make test_xtensor_interpolate`.\n\n- `-DDOWNLOAD_GTEST=ON` to download and compile `googletest` as part of the\n  build step. Note that `googletest` will not actually be installed to your\n  system directories, and is just statically linked into the test executable.\n\n  - Use `Dgtest_disable_pthreads=ON` to compile a single-threaded version of\n    `googletest`. This is **required** when using Windows and MinGW.\n\n## Usage\n\n### Basic spline interpolation\n\n```cpp\n#include \u003ccmath\u003e  // M_PI\n#include \"xtensor/xbuilder.hpp\"  // linspace\n#include \"xtensor/xtensor.hpp\"  // xtensor\n#include \"xtensor-interpolate/xinterpolate.hpp\"  // splrep, splev\n\nxt::xtensor\u003cdouble, 1\u003e x =\n    { -3.141, -2.443, -1.745, -1.047, -0.349, 0.349,  1.047,  1.745,  2.443,  3.141 };\n\nxt::xtensor\u003cdouble, 1\u003e y =\n    { 0., -0.643, -0.985, -0.866, -0.342,  0.342,  0.866,  0.985, 0.643,  0. };\n\n// Find the B-spline representation of the above points.\n\nauto tck = xt::interpolate::splrep(x, y);\n\n// Evaluate the B-spline over a new range of data points.\n\nxt::xtensor\u003cdouble, 1\u003e xs = xt::linspace\u003cdouble\u003e(-M_PI, M_PI, 100);\n\nxt::xtensor\u003cdouble, 1\u003e ys = xt::interpolate::splev(xs, tck);\n```\n\nPlotted, this data looks like:\n\n![](assets/usage.png?raw=true)\n\n## License\n\nThis software is licensed under the BSD-2-Clause license. See the\n[LICENSE](https://github.com/rjsberry/xtensor-interpolate/blob/master/LICENSE)\nfile for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjsberry%2Fxtensor-interpolate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frjsberry%2Fxtensor-interpolate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frjsberry%2Fxtensor-interpolate/lists"}