From 5f6dc4899a91736efbf8e588c19f1054df3c4dfa61f5224a2dcdf1f9fe78b8bf Mon Sep 17 00:00:00 2001 From: Marcus Meissner Date: Sun, 30 Mar 2025 11:19:20 +0000 Subject: [PATCH] - Version 0.26.0 - Adding the ability to enable memory overlap check in assignment to avoid unneeded temporary memory allocation - Pure xtensor FFT implementation - Update for C++ 20 compatibility - Fixed CI added OSX 13 and GCC 12 - Fix compile issue with clang 19.1.1 - Avoid warnings in compiler version checks - Bump OSX Version 12 -> 13 to avoid deprecated environment - Update gh-pages.yml - Upgraded to xsimd 13.2.0 - Added missing configuration key for RTD - Code reorganization - Adding fix for incorrect usage of xt::has_assign_conversion in xassig - Upgraded to xtl 0.8.0 and C++17 - Migrated to more recent compilers - Fix for Clang19 OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/xtensor?expand=0&rev=13 --- .gitattributes | 23 ++++++ .gitignore | 1 + _constraints | 7 ++ xtensor-0.25.0.tar.gz | 3 + xtensor-0.26.0.tar.gz | 3 + xtensor.changes | 173 ++++++++++++++++++++++++++++++++++++++++++ xtensor.spec | 112 +++++++++++++++++++++++++++ 7 files changed, 322 insertions(+) create mode 100644 .gitattributes create mode 100644 .gitignore create mode 100644 _constraints create mode 100644 xtensor-0.25.0.tar.gz create mode 100644 xtensor-0.26.0.tar.gz create mode 100644 xtensor.changes create mode 100644 xtensor.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..57affb6 --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.osc diff --git a/_constraints b/_constraints new file mode 100644 index 0000000..0213ca4 --- /dev/null +++ b/_constraints @@ -0,0 +1,7 @@ + + + + 6144 + + + diff --git a/xtensor-0.25.0.tar.gz b/xtensor-0.25.0.tar.gz new file mode 100644 index 0000000..86833e5 --- /dev/null +++ b/xtensor-0.25.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:32d5d9fd23998c57e746c375a544edf544b74f0a18ad6bc3c38cbba968d5e6c7 +size 1214069 diff --git a/xtensor-0.26.0.tar.gz b/xtensor-0.26.0.tar.gz new file mode 100644 index 0000000..96edfdc --- /dev/null +++ b/xtensor-0.26.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f5f42267d850f781d71097b50567a480a82cd6875a5ec3e6238555e0ef987dc6 +size 1216657 diff --git a/xtensor.changes b/xtensor.changes new file mode 100644 index 0000000..54eb5c2 --- /dev/null +++ b/xtensor.changes @@ -0,0 +1,173 @@ +------------------------------------------------------------------- +Sun Mar 30 07:40:30 UTC 2025 - Matwey Kornilov + +- Version 0.26.0 + - Adding the ability to enable memory overlap check in assignment to avoid + unneeded temporary memory allocation + - Pure xtensor FFT implementation + - Update for C++ 20 compatibility + - Fixed CI added OSX 13 and GCC 12 + - Fix compile issue with clang 19.1.1 + - Avoid warnings in compiler version checks + - Bump OSX Version 12 -> 13 to avoid deprecated environment + - Update gh-pages.yml + - Upgraded to xsimd 13.2.0 + - Added missing configuration key for RTD + - Code reorganization + - Adding fix for incorrect usage of xt::has_assign_conversion in xassig + - Upgraded to xtl 0.8.0 and C++17 + - Migrated to more recent compilers + - Fix for Clang19 + +------------------------------------------------------------------- +Fri Feb 7 15:42:31 UTC 2025 - Matwey Kornilov + +- BuildRequires: python3-sphinx_rtd_theme to fix Factory build +- Use fdupes + +------------------------------------------------------------------- +Sat Jan 27 10:58:14 UTC 2024 - Matwey Kornilov + +- Version 0.25.0 + - Fix conversion warning in xrepeat + - Upraded to xsimd 11 + - Update to use XTENSOR_DEFAULT_ALIGNMENT when using XSIMD + - Removed failing test xinfo on clang 16 + - Bump cmake version and resolve build issues + - Make reshape_view accept -1 as a wildcard dimension + - Fixing bug in argmin/argmax called with axis on rank-1 container + - pre-commit autoupdate + - Use L suffix for long double constants + - Use 1/4 step for testing arange + - [Optimization] Updated concatenate_access and stack_access to remove allocations + - Minor xindex_view to_array cleanup +- Drop upstreamed 0001-Use-L-suffix-for-long-double-constants.patch + 0002-Use-1-4-step-for-testing-arange.patch + +------------------------------------------------------------------- +Fri Jan 5 09:38:18 UTC 2024 - Matwey Kornilov + +- Fix i586 build: + 0001-Use-L-suffix-for-long-double-constants.patch + 0002-Use-1-4-step-for-testing-arange.patch + +------------------------------------------------------------------- +Thu Jan 4 15:05:50 UTC 2024 - Matwey Kornilov + +- Version 0.24.7 + - Adjust version of required xsimd in README + - Add CI through github actions + - Added unwrap + - Removed repeated work from ci-extra build + - Removed bad macro definitions + - Fixing some iterator issues + - Fixed static analysis build + - Support external linkage for “recurser_run” + - Add possibility to use std::stable_sort with xt::argsort + +- Changes for 0.24.6: + - Improving documentation xstrides + - Parallel and more aggressive strided assigner + - Removing duplicates from documentation + - Adding aliases xt::xtensor_pointer and xt::xarray_pointer + - Fix and refactor partition + - Fix and update pre-commit + +- Changes for 0.24.5: + - Add space before pragma diagnostic + - Update xtl requirement in cmake + - Fix a bug where .fill doesn’t work for a xcontainer that is + non-contiguous + +------------------------------------------------------------------- +Wed Feb 15 12:11:05 UTC 2023 - Matwey Kornilov + +- xtensor-devel is useless without xtl-devel + +------------------------------------------------------------------- +Tue Jan 31 17:55:09 UTC 2023 - Matwey Kornilov + +- Version 0.24.4 + - Align qualifiers using clang-format + - Add xt::quantile + - Add swapaxes and moveaxis + - Enforce { ... } + - Manual style fixes + - Do not step further than last element in xreducer_stepper aggregation + - Upgraded to xsimd 10.0.0 + - Explicitly declare test_xtensor_core_lib as STATIC + - fix npy_file move assignment + - Install as arch-independent + - Change extended tests test header + - argmax crashes when compiled using Visual Studio compiler with O1/O2 optimizations + - Fix xindexed_view::to_end + - Change xindex_view reference type to handle const data + - Fix TBB target in CMake exported interface + - Document missing xsort functions + - Specialize get_strides_type for xbuffer_adaptor + - find external packages (threads) after defining project +- Drop 0001-Explicitly-declare-test_xtensor_core_lib-as-STATIC.patch: upstreamed + +------------------------------------------------------------------- +Tue Oct 18 18:41:16 UTC 2022 - Matwey Kornilov + +- Version 0.24.3 + - Rename and fix storage iterator #2534 + - rename storage_rbegin, storage_rend, ... to linear_rbegin, ... #2535 + - Enabling reference value types for xfunction. #2532 + - fixing linear iterator docs. #2538 + - Minor improvements for Windows (MSVC, ClangCl) support #2531 + - changing static layout in xtsrided_view temporary_type to container's layout #2553 + - Upgraded to xsimd 9.0.1 #2573 +- Enable unit tests: + - Add 0001-Explicitly-declare-test_xtensor_core_lib-as-STATIC.patch: fix build + +------------------------------------------------------------------- +Sun Jul 17 19:24:34 UTC 2022 - Matwey Kornilov + +- Version 0.24.2 + - Fixed the documentation of adapt functions #2496 #2496 + - Updated C++20 option for visual studio builds C++2a no longer a valid std + option #2497 #2497 + - Simplifying argmin and argmax where possible #2499 #2499 + - Removed unused code #2502 #2502 + - Fixed build error in MSVC 2019 by decaying decltype to base type #2506 + #2506 + - Added xt::convolve #2507 #2507 + - Adding reset_data to xbuffer_adaptor and reset_buffer to adaptor to replace + the pointer without any reallocation #2521 #2521 + - Workaround for EDG C++ frontend bug #2528 #2528 + - Adding cast to deal with xtensor-python's signedness of shape #2510 #2510 + - Adding missing rank to xtensor_adaptor #2520 #2520 + - Fixing compiler warning #2522 #2522 +- Version 0.24.1 + - Define tbb threshold #2455 #2455 + - Export link interface to tbb #2456 #2456 + - as_trivial_default_constructor has been removed from libstdc++ since + version 7. #2459 #2459 + - Added missing headers in CMake #2462 #2462 + - Workaround for CMake implementations that do not use C and CXX languages + #2467 #2467 + - Fix erroneous less_equal usage in is_sorted calls #2471 #2471 + - Adding xt::missing to operator() #2488 #2488 + - Silence unused variable warning GCC #2494 #2494 + - Adding xt::missing functionality to .periodic(...), .at(...), and + .in_bounds(...) #2493 #2493 + - Fixing internal types #2492 #2492 + - Adding size assertion .flat(i) + adding a few tests on size assertions + #2388 #2388 + - Adding free function xt::strides #2489 #2489 + +------------------------------------------------------------------- +Sat Jan 29 20:17:45 UTC 2022 - Daniel Weatherill + +- import sources from upstream version 0.24.0 (xtl > 0.7 now available in Tumbleweed repos + +- enable c++17 option as all openSUSE standard compilers have supported it for a while now + +------------------------------------------------------------------- +Thu Mar 25 00:22:22 UTC 2021 - Daniel Weatherill + +- import sources from upstream version 0.21.10 (last version that supports + available xtl version 0.6.18) + diff --git a/xtensor.spec b/xtensor.spec new file mode 100644 index 0000000..ac726e9 --- /dev/null +++ b/xtensor.spec @@ -0,0 +1,112 @@ +# +# spec file for package xtensor +# +# Copyright (c) 2025 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{?sle15_python_module_pythons} +Name: xtensor +Version: 0.26.0 +Release: 0 +Summary: Multi-dimensional arrays with broadcasting and lazy computing +License: BSD-3-Clause +URL: https://github.com/xtensor-stack/xtensor +Source0: https://github.com/xtensor-stack/xtensor/archive/refs/tags/%{version}/%{name}-%{version}.tar.gz +BuildRequires: %{python_module breathe} +BuildRequires: %{python_module sphinx_rtd_theme} +BuildRequires: cmake +BuildRequires: doctest-devel +BuildRequires: doxygen +BuildRequires: fdupes +BuildRequires: gcc-c++ +BuildRequires: make +BuildRequires: xtl-devel >= 0.8.0 +Group: Development/Libraries/C and C++ + +%description +xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions. + +xtensor provides + - an extensible expression system enabling lazy broadcasting. + - an API following the idioms of the C++ standard library. + - tools to manipulate array expressions and build upon xtensor. + +Containers of xtensor are inspired by NumPy, the Python array programming library. Adaptors for existing data structures to be plugged into the expression system can easily be written. + +%package devel +Summary: Development files for xtensor +BuildArch: noarch +Requires: xtl-devel + +%description devel +xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions. + +xtensor provides + - an extensible expression system enabling lazy broadcasting. + - an API following the idioms of the C++ standard library. + - tools to manipulate array expressions and build upon xtensor. + +Containers of xtensor are inspired by NumPy, the Python array programming library. Adaptors for existing data structures to be plugged into the expression system can easily be written. + +%package doc +Summary: Documentation for xtensor +Group: Documentation/HTML +BuildArch: noarch + +%description doc +xtensor is a C++ library meant for numerical analysis with multi-dimensional array expressions. + +xtensor provides + - an extensible expression system enabling lazy broadcasting. + - an API following the idioms of the C++ standard library. + - tools to manipulate array expressions and build upon xtensor. + +Containers of xtensor are inspired by NumPy, the Python array programming library. Adaptors for existing data structures to be plugged into the expression system can easily be written. + +%prep +%setup -q + +%build +%cmake -DCPP17:BOOL=ON -DBUILD_TESTS:BOOL=ON +%cmake_build + +#build documentation +cd %{_builddir}/%{name}-%{version}/docs +make html + +%install +%cmake_install + +#install documentation +mkdir -p %{buildroot}/%{_docdir}/%{name} +cp -r %{_builddir}/%{name}-%{version}/docs/build/html/* %{buildroot}/%{_docdir}/%{name} + +%fdupes -s %{buildroot}/%{_docdir} +%fdupes %{buildroot}/%{_prefix} + +%check +%ctest + +%files doc +%doc %{_docdir}/%{name} + +%files devel +%license LICENSE +%{_includedir}/xtensor +%{_includedir}/xtensor.hpp +%{_datadir}/cmake/xtensor +%{_datadir}/pkgconfig/xtensor.pc + +%changelog