Changelog
0.26.0
Adding the ability to enable memory overlap check in assignment to avoid unneeded temporary memory allocation # 2768 https://github.com/xtensor-stack/xtensor/pull/2768
Pure xtensor FFT implementation # 2782 https://github.com/xtensor-stack/xtensor/pull/2782
Update for C++ 20 compatibility # 2774 https://github.com/xtensor-stack/xtensor/pull/2774
Fixed CI added OSX 13 and GCC 12 # 2796 https://github.com/xtensor-stack/xtensor/pull/2796
Fix compile issue with clang 19.1.1 # 2813 https://github.com/xtensor-stack/xtensor/pull/2813
Avoid warnings in compiler version checks # 2781 https://github.com/xtensor-stack/xtensor/pull/2781
Bump OSX Version 12 -> 13 to avoid deprecated environment # 2818 https://github.com/xtensor-stack/xtensor/pull/2818
Update gh-pages.yml # 2824 https://github.com/xtensor-stack/xtensor/pull/2824
Upgraded to xsimd 13.2.0 # 2825 https://github.com/xtensor-stack/xtensor/pull/2825
Added missing configuration key for RTD # 2826 https://github.com/xtensor-stack/xtensor/pull/2826
Code reorganization # 2829 https://github.com/xtensor-stack/xtensor/pull/2829
Adding fix for incorrect usage of xt::has_assign_conversion in xassig # 2830 https://github.com/xtensor-stack/xtensor/pull/2830
Upgraded to xtl 0.8.0 and C++17 # 2831 https://github.com/xtensor-stack/xtensor/pull/2831
Migrated to more recent compilers # 2832 https://github.com/xtensor-stack/xtensor/pull/2832
Fix for Clang19 # 2833 https://github.com/xtensor-stack/xtensor/pull/2833
0.25.0
Fix conversion warning in xrepeat # 2732 https://github.com/xtensor-stack/xtensor/pull/2732
Upraded to xsimd 11 # 2735 https://github.com/xtensor-stack/xtensor/pull/2735
Update to use XTENSOR_DEFAULT_ALIGNMENT when using XSIMD # 2739 https://github.com/xtensor-stack/xtensor/pull/2739
Removed failing test xinfo on clang 16 # 2740 https://github.com/xtensor-stack/xtensor/pull/2740
[CI] Switching to mamba-org/setup-micromamba # 2742 https://github.com/xtensor-stack/xtensor/pull/2742
Bump cmake version and resolve build issues # 2744 https://github.com/xtensor-stack/xtensor/pull/2744
Make reshape_view accept -1 as a wildcard dimension # 2746 https://github.com/xtensor-stack/xtensor/pull/2746
Fixing bug in argmin/argmax called with axis on rank-1 container # 2753 https://github.com/xtensor-stack/xtensor/pull/2753
pre-commit autoupdate # 2754 https://github.com/xtensor-stack/xtensor/pull/2754
Use L suffix for long double constants # 2762 https://github.com/xtensor-stack/xtensor/pull/2762
Use 1/4 step for testing arange # 2763 https://github.com/xtensor-stack/xtensor/pull/2763
[Optimization] Updated concatenate_access and stack_access to remove allocations # 2759 https://github.com/xtensor-stack/xtensor/pull/2759
[CI] Added more compilers # 2767 https://github.com/xtensor-stack/xtensor/pull/2767
Minor xindex_view to_array cleanup # 2765 https://github.com/xtensor-stack/xtensor/pull/2765
0.24.7
Adjust version of required xsimd in README # 2670 https://github.com/xtensor-stack/xtensor/pull/2670
Add CI through github actions. # 2692 https://github.com/xtensor-stack/xtensor/pull/2692
Added unwrap # 2710 https://github.com/xtensor-stack/xtensor/pull/2710
Removed repeated work from ci-extra build # 2711 https://github.com/xtensor-stack/xtensor/pull/2711
Removed bad macro definitions # 2712 https://github.com/xtensor-stack/xtensor/pull/2712
Fixing some iterator issues # 2564 https://github.com/xtensor-stack/xtensor/pull/2564
Fixed static analysis build # 2720 https://github.com/xtensor-stack/xtensor/pull/2720
Support external linkage for “recurser_run” # 2714 https://github.com/xtensor-stack/xtensor/pull/2714
add possibility to use std::stable_sort with xt::argsort # 2681 https://github.com/xtensor-stack/xtensor/pull/2681
0.24.6
Improving documentation xstrides # 2664 https://github.com/xtensor-stack/xtensor/pull/2664
Parallel and more aggressive strided assigner # 2660 https://github.com/xtensor-stack/xtensor/pull/2660
Removing duplicates from documentation # 2669 https://github.com/xtensor-stack/xtensor/pull/2669
Adding aliases xt::xtensor_pointer and xt::xarray_pointer # 2665 https://github.com/xtensor-stack/xtensor/pull/2665
Fix and refactor partition # 2652 https://github.com/xtensor-stack/xtensor/pull/2652
Fix and update pre-commit # 2657 https://github.com/xtensor-stack/xtensor/pull/2657
0.24.5
Add space before pragma diagnostic # 2654 https://github.com/xtensor-stack/xtensor/pull/2654
Update xtl requirement in cmake # 2649 https://github.com/xtensor-stack/xtensor/pull/2649
Fix a bug where .fill doesn’t work for a xcontainer that is non-contiguous # 2650 https://github.com/xtensor-stack/xtensor/pull/2650
0.24.4
Align qualifiers using clang-format # 2647 https://github.com/xtensor-stack/xtensor/pull/2647
Add xt::quantile # 2614 https://github.com/xtensor-stack/xtensor/pull/2614
Add swapaxes and moveaxis # 2638 https://github.com/xtensor-stack/xtensor/pull/2638
Enforce { … } # 2641 https://github.com/xtensor-stack/xtensor/pull/2641
Manual style fixes # 2642 https://github.com/xtensor-stack/xtensor/pull/2642
Do not step further than last element in xreducer_stepper aggregation # 2636 https://github.com/xtensor-stack/xtensor/pull/2636
Upgraded to xsimd 10.0.0 # 2635 https://github.com/xtensor-stack/xtensor/pull/2635
Explicitly declare test_xtensor_core_lib as STATIC # 2586 https://github.com/xtensor-stack/xtensor/pull/2586
fix npy_file move assignment # 2585 https://github.com/xtensor-stack/xtensor/pull/2585
Install as arch-independent # 2588 https://github.com/xtensor-stack/xtensor/pull/2588
Change extended tests test header # 2630 https://github.com/xtensor-stack/xtensor/pull/2630
argmax crashes when compiled using Visual Studio compiler with O1/O2 optimizations # 2568 https://github.com/xtensor-stack/xtensor/pull/2568
Fix xindexed_view::to_end # 2627 https://github.com/xtensor-stack/xtensor/pull/2627
Change xindex_view reference type to handle const data # 2622 https://github.com/xtensor-stack/xtensor/pull/2622
Fix TBB target in CMake exported interface # 2617 https://github.com/xtensor-stack/xtensor/pull/2617
Document missing xsort functions # 2608 https://github.com/xtensor-stack/xtensor/pull/2608
Specialize get_strides_type for xbuffer_adaptor # 2606 https://github.com/xtensor-stack/xtensor/pull/2606
find external packages (threads) after defining project # 2575 https://github.com/xtensor-stack/xtensor/pull/2575
0.24.3
Rename and fix storage iterator #2534 https://github.com/xtensor-stack/xtensor/pull/2534
rename storage_rbegin, storage_rend, … to linear_rbegin, … #2535 https://github.com/xtensor-stack/xtensor/pull/2535
Enabling reference value types for xfunction. #2532 https://github.com/xtensor-stack/xtensor/pull/2532
fixing linear iterator docs. #2538 https://github.com/xtensor-stack/xtensor/pull/2538
Minor improvements for Windows (MSVC, ClangCl) support #2531 https://github.com/xtensor-stack/xtensor/pull/2531
changing static layout in xtsrided_view temporary_type to container’s layout #2553 https://github.com/xtensor-stack/xtensor/pull/2553
Upgraded to xsimd 9.0.1 #2573 https://github.com/xtensor-stack/xtensor/pull/2573
0.24.2
Fixed the documentation of adapt functions #2496 https://github.com/xtensor-stack/xtensor/pull/2496
Updated C++20 option for visual studio builds C++2a no longer a valid std option #2497 https://github.com/xtensor-stack/xtensor/pull/2497
Simplifying argmin and argmax where possible #2499 https://github.com/xtensor-stack/xtensor/pull/2499
Removed unused code #2502 https://github.com/xtensor-stack/xtensor/pull/2502
Fixed build error in MSVC 2019 by decaying decltype to base type #2506 https://github.com/xtensor-stack/xtensor/pull/2506
Added xt::convolve #2507 https://github.com/xtensor-stack/xtensor/pull/2507
Adding reset_data to xbuffer_adaptor and reset_buffer to adaptor to replace the pointer without any reallocation #2521 https://github.com/xtensor-stack/xtensor/pull/2521
Workaround for EDG C++ frontend bug #2528 https://github.com/xtensor-stack/xtensor/pull/2528
Adding cast to deal with xtensor-python’s signedness of shape #2510 https://github.com/xtensor-stack/xtensor/pull/2510
Adding missing rank to xtensor_adaptor #2520 https://github.com/xtensor-stack/xtensor/pull/2520
Fixing compiler warning #2522 https://github.com/xtensor-stack/xtensor/pull/2522
0.24.1
Define tbb threshold #2455 https://github.com/xtensor-stack/xtensor/pull/2455
Export link interface to tbb #2456 https://github.com/xtensor-stack/xtensor/pull/2456
has_trivial_default_constructor has been removed from libstdc++ since version 7. #2459 https://github.com/xtensor-stack/xtensor/pull/2459
Added missing headers in CMake #2462 https://github.com/xtensor-stack/xtensor/pull/2462
Workaround for CMake implementations that do not use C and CXX languages #2467 https://github.com/xtensor-stack/xtensor/pull/2467
Fix erroneous less_equal usage in is_sorted calls #2471 https://github.com/xtensor-stack/xtensor/pull/2471
Adding xt::missing to operator() #2488 https://github.com/xtensor-stack/xtensor/pull/2488
Silence unused variable warning GCC #2494 https://github.com/xtensor-stack/xtensor/pull/2494
Adding xt::missing functionality to .periodic(…), .at(…), and .in_bounds(…) #2493 https://github.com/xtensor-stack/xtensor/pull/2493
Fixing internal types #2492 https://github.com/xtensor-stack/xtensor/pull/2492
Adding size assertion .flat(i) + adding a few tests on size assertions #2388 https://github.com/xtensor-stack/xtensor/pull/2388
Adding free function xt::strides #2489 https://github.com/xtensor-stack/xtensor/pull/2489
0.24.0
Comparison of shapes with differnt types is now supported #2393 https://github.com/xtensor-stack/xtensor/pull/2393
Ported tests to doctest #2405 https://github.com/xtensor-stack/xtensor/pull/2405
Updated docs of argmin and argmax #2425 https://github.com/xtensor-stack/xtensor/pull/2425
blockwise reducers intital implementation #2415 https://github.com/xtensor-stack/xtensor/pull/2415
Fixed comparison of double in some tests #2436 https://github.com/xtensor-stack/xtensor/pull/2436
Upgraded to xsimd 8 #2438 https://github.com/xtensor-stack/xtensor/pull/2438
0.23.10
Performance fix: set m_strides_computed = true after computing #2377 https://github.com/xtensor-stack/xtensor/pull/2377
argsort: catching zeros stride leading axis (bugfix) #2238 https://github.com/xtensor-stack/xtensor/pull/2238
Adding
.flat(i)
#2356 https://github.com/xtensor-stack/xtensor/pull/2356Fixed
check_index
function #2378 https://github.com/xtensor-stack/xtensor/pull/2378Fixing & -> && in histogram #2386 https://github.com/xtensor-stack/xtensor/pull/2386
Adding
front()
andback()
convenience methods #2385 https://github.com/xtensor-stack/xtensor/pull/2385Adding description of index operators #2387 https://github.com/xtensor-stack/xtensor/pull/2387
flip: adding overload without axis (mimics NumPy) #2373 https://github.com/xtensor-stack/xtensor/pull/2373
average: fixing overload issue for axis argument #2374 https://github.com/xtensor-stack/xtensor/pull/2374
0.23.9
Fix data_offset method in xview to compute the strides only once #2371 https://github.com/xtensor-stack/xtensor/pull/2371
0.23.8
Specialize operator= when RHS is chunked #2367 https://github.com/xtensor-stack/xtensor/pull/2367
0.23.7
Fixed chunked_iterator #2365 https://github.com/xtensor-stack/xtensor/pull/2365
0.23.6
Update installation instructions to mention mamba #2357 https://github.com/xtensor-stack/xtensor/pull/2357
Fixed grid_shape return type #2360 https://github.com/xtensor-stack/xtensor/pull/2360
Added assertion in resize method #2361 https://github.com/xtensor-stack/xtensor/pull/2361
Added const chunk iterators #2362 https://github.com/xtensor-stack/xtensor/pull/2362
Fixed chunk assignment #2363 https://github.com/xtensor-stack/xtensor/pull/2363
0.23.5
No need to explicitly install blas anymore with latest xtensor-blas #2343 https://github.com/xtensor-stack/xtensor/pull/2343
FIX for xtensor-stack/xtl/issues/245 #2344 https://github.com/xtensor-stack/xtensor/pull/2344
Implement grid view #2346 https://github.com/xtensor-stack/xtensor/pull/2346
Refactoring of xchunked_view #2353 https://github.com/xtensor-stack/xtensor/pull/2353
0.23.4
Fix edge chunk assignment #2342 https://github.com/xtensor-stack/xtensor/pull/2342
0.23.3
Use the correct version file for TBB since 2021.1 #2334 https://github.com/xtensor-stack/xtensor/pull/2334
Add missing API RTD for nan functions #2333 https://github.com/xtensor-stack/xtensor/pull/2333
Fixed layout issue in container classes #2335 https://github.com/xtensor-stack/xtensor/pull/2335
Fixed assignment of a tensor_view on a pseudo-container #2336 https://github.com/xtensor-stack/xtensor/pull/2336
Fixed return type of data method #2338 https://github.com/xtensor-stack/xtensor/pull/2338
Fixed assignment to flatten view #2339 https://github.com/xtensor-stack/xtensor/pull/2339
0.23.2
MSVC Build: Wrapped linker flags in quotes #2299 https://github.com/xtensor-stack/xtensor/pull/2299
Added can_assign and enable_assignable_expression #2323 https://github.com/xtensor-stack/xtensor/pull/2323
Fix automatically generated tests #2313 https://github.com/xtensor-stack/xtensor/pull/2313
Fix linspace endpoint bug #2306 https://github.com/xtensor-stack/xtensor/pull/2306
Added fallback to old behavior in FindTBB.cmake #2325 https://github.com/xtensor-stack/xtensor/pull/2325
Implement nanmin and nanmax #2314 https://github.com/xtensor-stack/xtensor/pull/2314
Clean up and add more tests for nanmin and nanmax #2326 https://github.com/xtensor-stack/xtensor/pull/2326
Fix linespace with only one point #2327 https://github.com/xtensor-stack/xtensor/pull/2327
Fixed ambiguous call of tile #2329 https://github.com/xtensor-stack/xtensor/pull/2329
0.23.1
Fix compilation warnings on unused local typedefs #2295 https://github.com/xtensor-stack/xtensor/pull/2295
Disable a failing shuffle test for clang #2294 https://github.com/xtensor-stack/xtensor/pull/2294
Fix simd assign_data #2292 https://github.com/xtensor-stack/xtensor/pull/2292
Fix -Wshadow and -Wunused-local-typedef warning #2293 https://github.com/xtensor-stack/xtensor/pull/2293
Documentation improvement Part #B #2287 https://github.com/xtensor-stack/xtensor/pull/2287
0.23.0
Breaking changes
Other changes
0.22.0
Breaking changes
Other changes
Improve histogram performance with equal bin sizes #2088
Added missing header in xfixed #2225
Implement xt::random::choice with weights vector #2241
Testing alignment #2246
Add reducers tests #2252
Fix binary operators on complex #2253
Removed not implemented assign method from xchunked_array #2256
Support initialized list for chunked_array shapes #2258
Add as_strided free function #2261
Fix histogram compatibility with containers beyond xtensor #2263
Fixed broadcasting with keep_slice that holds a single element #2270
Make xt::cast and xtl::optional compatible #2271
Fix minor warnings detected by clang #2272
Extra assert in mean computation wrt. ddof #2273
Provide a -Werror mode and ensure xtensor passes with it #2274
Moved layout_remove_any to xlayout.hpp #2275
Provide a -Werror mode and ensure xtensor passes with it #2274
Slight reorganization of the documentation #2276
Updated reducer docs according to recent changes #2278
Added template parameter for initial value type in accumulators #2279
0.21.10
0.21.9
Adding macro
XTENSOR_SELECT_ALIGN
#2152xcontainer.hpp: Renamed a shadowing type name inside a function #2208
Add chunk_memory_layout to chunked_array factory #2211
CMake: Modernized GTest-integration #2212
xnpy.hpp
: fix multiple definition of ‘host_endian_char’ variable when included in different linked objects #2214Made global variable const to force internal linkage #2216
Use xtl::endianness instead of bundling it #2218
Fix call to resize of chunk container #2219
0.21.8
Fix undefined behavior while testing shifts #2175
Fix
zarray
initialization fromzarray
#2180Portable and generic implementation of endianess detection #2182
Fix xnpy save padding computation #2183
Only use
-march=native
if it’s available #2184Fix
xchunked_array
assignment #2177Add specific
xchunked_array
constructor forxchunk_store_manager
#2188Make xnpy tests aware of both little and big endian targets #2189
Fixed constructors of
xchunked_array
#2190First implementation of
zchunked_wrapper
#2193Don’t mark dirty a resized or reshaped
xfile_array
#2194Replaced catch-all constructor of
zarray
with more restrictive ones #2195Fixed SFINAE based on
xchunked_store_manager
#2197Fix generated cmake config to include missing required lib #2200
Add
set_chunk_shape
to the first chunk of the pool #2198Chunked array refactoring #2201
Refactored
xchunked_array
semantic #2202Added missing header to CMakeLists.txt #2203
Fixed
load_simd
forxcomplex
#2204Upgraded to xtl 0.6.20 #2206
changed std traits to new
xtl::xtraits
#2205xstorage.hpp
: Renamed a shadowing variable inside a function #2207
0.21.7
0.21.6
Added implementation of
isin
andin1d
#2021Wrote single include header #2031
Added details for
xt::random
to docs #2043Added
digitize
,searchsorted
, andbin_items
#2037Fixed error with zero tensor size in
xt::mean
#2047Fixed initialization order in
xfunction
#2050adapt_smart_ptr
overloads now accept STL-like container as shape #2052Added
xchunked_array
#2076xchunked_array
inherits fromxiterable
#2082xchunked_array
inherits fromxcontainer_semantic
#2083Fixed assignment operator of
xchunked_array
#2084Added constructors from
xexpression
andchunk_shape
toxchunked_array
#2087Fixed chunk layout #2091
Copy constructor gets expression’s chunk_shape if it is chunked #2092
Replaced template parameter chunk_type with chunk_storage #2095
Implemented on-disk chunked array #2096
Implemented chunk pool in xchunk_store_manager #2099
xfile_array
is now an expression #2107xchunked_array
code cleanup #2109xchunked_store_manager
code cleanup #2110Refactored
xfile_array
#2117Added simd accessors to
xfil_array_container
#2118Abstracted file format through a formal class #2115
Added
xchunked_array
extension template #2122Refactored
xdisk_io_handler
#2123Fixed exception for file write operation #2125
Implemented
zarray
#2127Implemented the skeleton of the dynamic expression system #2129
Implemented zfunctions, equivalent of xfunction for dynamic expression system #2130
Implemented
allocate_result
inzfunction
#2132Implemented assign mechanism for
zarray
#2133Added xindex_path to transform indexes into path #2131
Fixing various compiler warnings #2145
Removed conversion and initialization warnings #2141
0.21.5
Fix segfault when using
xt::drop
on an empty list of indices #1990Implemented missing methods in
xrepeat
class #1993Added extension base to
xrepeat
and clean upxbroadcast
#1994Fix return type of
nanmean
and add unittest #1996Add result type template argument for
stddev
,variance
,nanstd
andnanvar
#1999Fix variance overload #2002
Added missing
xaxis_slice_iterator
header to CMakeLists.txt #2009Fixed xview on const keep and const drop slices #2010
Added
static_assert
toadapt
methods #2015Removed allocator deprecated calls #2018
Added missing overload of
push_back
tosvector
#2024Initialized all members of
xfunciton_cache_impl
#2026
0.21.4
Fix warning -Wsign-conversion in
xview
#1902Fixed issue due to thread_local storage on some architectures #1905
benchmark/CMakeLists.txt: fixed a tiny spelling mistake #1904
nd-iterator implementation #1891
Add GoatCounter analytics for the documentation #1908
Added
noexcept
insvector
#1919Add implementation of repeat (similar to NumPy) #1896
Fix initialization of out shape in
xt::tile
#1923xaxis_slice_iterator
– Iterates over 1D slices oriented along the specified axis #1916Fixed cxx11 lib guard #1925
Fixed CXX11 ABI when _GLIBCXX_USE_DUAL_ABI is set to 0 #1927
Enabling array-bounds warning #1933
Fixed warnings #1934
Compile with g++ instead of gcc, clarify include directories #1938
broadcast function now accepts fixed shapes #1939
Don’t print decimal point after
inf
ornan
#1940Improved performance of
xt::tile
#1943Refactoring CI #1942
Documentation build: Switched to channel QuantStack #1948
Removed warnings due to gtest upgrade #1949
Fixed flatten view of view #1950
Improved narrative documentation of reducers #1958
Add test for printing xarray of type
size_t
#1947Added documentation for iterators #1961
Fixed
check_element_index
behavior for 0-D expressions #1965Fixed
element
method of xreducer #1966Fixed
cast
for third-party types #1967fix
xoperation
#1790Added installation instruction with MinGW #1969
xrepeat
now storesconst_xclosure_t<E>
instead ofE
#1968Fixed
argpartition
leading axis test #1971Added tests with C++20 enabled #1974
Added documentation for
repeat
#1975Fixed sort and partition #1976
xt::view now supports negative indices #1979
0.21.3
Allow use of cmake add_subdirectory(xtensor) by checking for xtl target #1865
Simplifying CMake config #1856
Fixed
reshape
with signed integers #1867Disabled MSVC iterator checks #1874
Added covariance function #1847
Fix for older cmake #1880
Added row and col facade for 2-D contianers #1876
Implementation of
xt::tile
#1888Fixed
reshape
return #1886Enabled
add_subdirectory
for xsimd #1889Support
ddof
argument forxt::variance
#1893Set -march=native only if the user did not set another -march already #1899
Assemble new container in
xpad
#1808
0.21.2
0.21.1
0.21.0
Breaking changes
Dynamic SIMD assign #1762
Other changes
Updated links to other projects #1773
Updated license #1774
Updated related projects #1775
Fixed
has_simd_interface
for non existingsimd_return_type
#1779Added average overload for default equal weights #1789
Implemented concatenation of
fixed_shape
tensors #1793Replaced
new
withunique_ptr
in headers #1800Fixed reallocation when an
xbuffer
is copied over #1799Added hte ability to use the library with
-fnoexception
#1801Minor efficiency improvement #1807
Unified
xt::concatenate
andxt::concatenate_fixed
#1805Have
reshape
method return a reference to self #1813Enabling tests of
xtensor_fixed
on Windows with clang. #1815Disabled SIMD assignment when bool conversion occurs #1818
Speed up views, added SIMD interface to strided views #1627
Fixed assignment of scalar to complex #1828
Fixed concurrency issue in
flat_expression_adaptor
#1831Implemented an equivalent to
numpy.roll
#1823Upgraded to
xtl 0.6.9
#1839Fixed type of OpenMP’s index variable on Windows #1838
Implemented
hstack
andvstack
#1841Implemented
hsplit
andvsplit
#1842Fixed behavior of
diff
whenn
is greater thant the number of elements #1843Added treshold to OpenMP parallelization #1849
Added missing assign operator in
xmasked_view
#1850Updated CMake target #1851
0.20.10
0.20.9
Added alias to check if type is
xsemantic_base
#1673Added missing include
xoperation.hpp
#1674Moved XSIMD and TBB dependencies to tests only #1676
Added missing coma #1680
Added NumPy-like parameter in
load_csv
#1682Added
shape()
method toxshape.hpp
#1592Added shape print tip to docs #1693
Fix lvalue npy_file heap corruption in MSVC #1697
Fix UB when parsing 1-dimension npy #1696
Fixed compiler error (missing
shape
method inxbroadcast
andxscalar
) #1699Added: deg2rad, rad2deg, degrees, radians #1700
Despecialized xt::to_json and xt::from_json #1691
Added coverity #1577
Additional configuration for future coverity branch #1712
More tests for coverity #1714
Update README.md for Conan installation instructions #1717
Reset stream’s flags after output operation #1718
Added missing include in
xview.hpp
#1719Removed usage of allocator’s members that are deprecated in C++17 #1720
Added tests for mixed assignment #1721
Fixed
step_simd
when underlying iterator holds anxscalar_stepper
#1724Fixed accumulator for empty arrays #1725
Use
temporary_type
in implementation ofxt::diff
#1727CMakeLists.txt: bumped up xsimd required version to 7.2.6 #1728
Fixed reducers on empty arrays #1729
Implemented additional random distributions #1708
Fixed reducers: passing the same axis many times now throws #1730
Made
xfixed_container
optionally sharable #1733step_simd
template parameter is now the value type instead of the simd type #1736Implemented OpenMP Parallelization. #1739
Readme improvements #1741
Vectorized
xt::where
#1738Fix typos and wording in documentation #1745
Upgraded to xtl 0.6.6. and xsimd 7.4.0 #1747
Improve return value type for
nanmean
#1749Allows (de)serialization of xexpressions in NumPy formatted strings and streams #1751
Enabled vectorization of boolean operations #1748
Added the list of contributors #1755
0.20.8
Added traversal order to
argwhere
andfilter
#1672flatten
now returns the new typextensor_view
#1671Error case handling in
concatenate
#1669Added assign operator from
temporary_type
inxiterator_adaptor
#1668Improved
index_view
examples #1667Updated build option section of the documentation #1666
Made
xsequence_view
convertible to arbitrary sequence type providing iterators #1657Added overload of
is_linear
for expressions withoutstrides
method #1655Fixed reverse
arange
#1653Add warnings for random number generation #1652
Added common pitfalls section in the documentation #1649
Added missing
shape
overload inxfunction
#1650Made
xconst_accessible::shape(std::size_t)
visible inxview
#1645Diff: added bounds-check on maximal recursion #1640
Add
xframe
to related projects #1635Update
indice.rst
#1626Remove unecessary arguments #1624
Replace
auto
with explicit return type inmake_xshared
#1621Add z5 to related projects #1620
Fixed long double complex offset views #1614
Fixed
xpad
bugs #1607Workaround for annoying bug in VS2017 #1602
0.20.7
Fix reshape view assignment and allow setting traversal order #1598
0.20.6
Added XTENSOR_DEFAULT_ALIGNMENT macro #1597
Added missing comparison operators for const_array #1596
Fixed reducer for expression with shape containing 0 #1595
Very minor spelling checks in comments #1591
tests can be built in debug mode #1589
strided views constructors forward shape argument #1587
Remove unused type alias #1585
Fixed reducers with empty list of axes #1582
Fix typo in builder docs #1581
Fixed return type of data in xstrided_view #1580
Fixed reducers on expression with shape containing 1 as first elements #1579
Fixed xview::element for range with more elements than view’s dimension #1578
Fixed broadcasting of shape containing 0-sized dimensions #1575
Fixed norm return type for complex #1574
Fixed iterator incremented or decremented by 0 #1572
Added complex exponential test #1571
Strided views refactoring #1569
Add clang-cl support #1559
0.20.5
Fixed
conj
#1556Fixed
real
,imag
, andfunctor_view
#1554Allows to include xsimd without defining
XTENSOR_USE_XSIMD
#1548Fixed
argsort
in column major #1547Fixed
assign_to
forarange
ondouble
#1541Fix example code in container.rst #1544
Removed return value from
step_leading
#1536Bugfix: amax #1533
Removed extra ; #1527
0.20.4
Buffer adaptor default constructor #1524
0.20.3
Fix xbuffer adaptor #1523
0.20.2
Fixed broadcast linear assign #1493
Fixed
do_stirdes_match
#1497Removed unused capture #1499
Upgraded to xtl 0.6.2 #1502
Added missing methods in
xshared_expression
#1503Fixed iterator types of
xcontainer
#1504Typo correction in external-structure.rst #1505
Added extension base to adaptors #1507
Fixed shared expression iterator methods #1509
Strided view fixes #1512
Improved range documentation #1515
Fixed
ravel
andflatten
implementation #1511Fixed
xfixed_adaptor
temporary assign #1516Changed struct -> class in
xiterator_adaptor
#1513Fxed
argmax
for expressions with strides 0 #1519Add
has_linear_assign
tosdynamic_view
#1520
0.20.1
0.20.0
Breaking changes
Other changes
Add
partition
,argpartition
andmedian
#991Fix tets on avx512 #1410
Implemented
xcommon_tensor_t
with tests #1412Code reorganization #1416
reshape
now acceptsinitializer_list
parameter #1417Improved documentation #1419
Fixed
noexcept
specifier #1418view
now accepts lvalue slices #1420Removed warnings #1422
Added
reshape
member toxgenerator
to makearange
more flexible #1421Add
std::decay_t
toshape_type
in strided view #1425Generic reshape for
xgenerator
#1426Fix out of bounds accessing in
xview::compute_strides
#1437Added quick reference section to documentation #1438
Improved getting started CMakeLists.txt #1440
Added periodic indices #1430
Added build section to narrative documentation #1442
Fixed
linspace
corner case #1443Fixed type-o in documentation #1446
Added
xt::xpad
#1441Added warning in
resize
documentation #1447Added
in_bounds
method #1444xstrided_view_base
is now a CRTP base class #1453Turned
xfunctor_applier_base
into a CRTP base class #1455Removed out of bound access in
data_offset
#1456Added
xaccessible
base class #1451Refactored
operator[]
#1460Splitted
xaccessible
#1461Refactored
size
#1462Implemented
nanvar
andnanstd
with tests #1424Removed warnings #1463
Added
periodic
andin_bounds
method toxoptional_assembly_base
#1464Updated documentation according to last changes #1465
Fixed
flatten_sort_result_type
#1470Fixed
unique
with expressions not definingtemporary_type
#1472Fixed
xstrided_view_base
constructor #1473Avoid signed integer overflow in integer printer #1475
Fixed
xview::inner_backstrides_type
#1480Fixed compiler warnings #1481
slice_implementation_getter
now forwards its lice argument #1486linspace
can now be reshaped #1488
0.19.4
Add missing include #1391
Fixes in xfunctor_view #1393
Add tests for xfunctor_view #1395
Add empty method to fixed_shape #1396
Add accessors to slice members #1401
Allow adaptors on shared pointers #1218
Fix eye with negative index #1406
Add documentation for shared pointer adaptor #1407
Add nanmean function #1408
0.19.3
Fix arange #1361.
Adaptors for C stack-allocated arrays #1363.
Add support for optionals in
conditional_ternary
#1365.Add tests for ternary operator on xoptionals #1368.
Enable ternary operation for a mix of
xoptional<value>
andvalue
#1370.reduce
now accepts a single reduction function #1371.Implemented share method #1372.
Documentation of shared improved #1373.
make_lambda_xfunction
more generic #1374.minimum/maximum for
xoptional
#1378.Added missing methods in
uvector
andsvector
#1379.Clip
xoptional_assembly
#1380.Improve gtest cmake #1382.
Implement ternary operator for scalars #1385.
Added missing
at
method inuvector
andsvector
#1386.Fixup binder environment #1387.
Fixed
resize
andswap
ofsvector
#1388.
0.19.2
Enable CI for C++17 #1324.
Fix assignment of masked views #1328.
Set CMAKE_CXX_STANDARD instead of CMAKE_CXX_FLAGS #1330.
Allow specifying traversal order to argmin and argmax #1331.
Update section on differences with NumPy #1336.
Fix accumulators for shapes containing 1 #1337.
Decouple XTENSOR_DEFAULT_LAYOUT and XTENSOR_DEFAULT_TRAVERSAL #1339.
Prevent embiguity with xsimd::reduce #1343.
Require xtl 0.5.3 #1346.
Use concepts instead of SFINAE #1347.
Document good practice for xtensor-based API design #1348.
Fix rich display of tensor expressions #1353.
Fix xview on fixed tensor #1354.
Fix issue with keep_slice in case of dynamic_view on view #1355.
Prevent installation of gtest artifacts #1357.
0.19.1
Add string specialization to
lexical_cast
#1281.Added HDF5 reference for
xtensor-io
#1284.Fixed view index remap issue #1288.
Fixed gcc 8.2 deleted functions #1289.
Fixed reducer for 0d input #1292.
Fixed
check_element_index
#1295.Added comparison functions #1297.
Add some tests to ensure chrono works with xexpressions #1272.
Refactor
functor_view
#1276.Documentation improved #1302.
Implementation of shift operators #1304.
Make functor adaptor stepper work for proxy specializations #1305.
Replaced
auto&
withauto&&
inassign_to
#1306.Fix namespace in
xview_utils.hpp
#1308.Introducing
flatten_indices
andunravel_indices
#1300.Default layout parameter for
ravel
#1311.Fixed
xvie_stepper
#1317.Fixed assignment of view on view #1314.
Documented indices #1318.
Fixed shift operators return type #1319.
0.19.0
Breaking changes
Upgraded to
xtl 0.5
#1275.
Other changes
Removed type-o in docs, minor code style consistency update #1255.
Removed most of the warnings #1261.
Optional bitwise fixed #1263.
Prevent macro expansion in
std::max
#1265.Update numpy.rst #1267.
Update getting_started.rst #1268.
keep and drop
step_size
fixed #1270.Fixed typo in
xadapt
#1277.Fixed typo #1278.
0.18.3
Exporting optional dependencies #1253.
0-D HTML rendering #1252.
Include nlohmann_json in xio for mime bundle repr #1251.
Fixup xview scalar assignment #1250.
Implemented from_indices #1240.
xtensor_forward.hpp cleanup #1243.
default layout-type for unravel_from_strides and unravel_index #1239.
xfunction iterator fix #1241.
xstepper fixes #1237.
print_options io manipulators #1231.
Add syntactic sugar for reducer on single axis #1228.
Added view vs. adapt benchmark #1229.
added precisions to the installation instructions #1226.
removed data interface from dynamic view #1225.
add xio docs #1223.
Fixup xview assignment #1216.
documentation updated to be consistent with last changes #1214.
prevents macro expansion of std::max #1213.
Fix minor typos #1212.
Added missing assign operator in xstrided_view #1210.
argmax on axis with single element fixed #1209.
0.18.2
expression tag system fixed #1207.
optional extension for generator #1206.
optional extension for
xview
#1205.optional extension for
xstrided_view
#1204.optional extension for reducer #1203.
optional extension for
xindex_view
#1202.optional extension for
xfunctor_view
#1201.optional extension for broadcast #1198.
extension API and code cleanup #1197.
xscalar
optional refactoring #1196.Extension mechanism #1192.
Many small fixes #1191.
Slight refactoring in
step_size
logic #1188.Fixup call of const overload in assembly storage #1187.
0.18.1
Fixup xio forward declaration #1185.
0.18.0
Breaking changes
Assign and trivial_broadcast refactoring #1150.
Moved array manipulation functions (
transpose
,ravel
,flatten
,trim_zeros
,squeeze
,expand_dims
,split
,atleast_Nd
,atleast_1d
,atleast_2d
,atleast_3d
,flip
) fromxstrided_view.hpp
toxmanipulation.hpp
#1153.iterator API improved #1155.
Fixed
where
andnonzero
function behavior to mimic the behavior from NumPy #1157.xsimd and functor refactoring #1173.
New features
Other changes
0.17.4
perfect forwarding in
xoptional_function
constructor #1101.fix issue with
base_simd
#1103.XTENSOR_ASSERT
fixed on Windows #1104.Implement
xmasked_value
#1032.Added
setdiff1d
using stl interface #1109.Added test case for
setdiff1d
#1110.Added missing reference to
diff
inFrom NumPy to xtensor
section #1116.Add
amax
andamin
to the documentation #1121.histogram
andhistogram_bin_edges
implementation #1108.Added NumPy comparison for interp #1111.
Allow multiple return type reducer functions #1113.
Fixes
average
bug + adds NumPy based tests #1118.Static
xfunction
cache for fixed sizes #1105.Add negative reshaping axis #1120.
Updated
xmasked_view
usingxmasked_value
#1074.Clean documentation for views #1131.
Build with xsimd on Windows fixed #1127.
Implement
mime_bundle_repr
forxmasked_view
#1132.Modify shuffle to use identical algorithms for any number of dimensions #1135.
Warnings removal on windows #1139.
Add permutation function to random #1141.
xfunction_iterator
permutation #933.Add
bincount
toxhistogram
#1140.Add contiguous iterable base class and remove layout param from storage iterator #1057.
Add
storage_iterator
to view and strided view #1045.Removes
data_element
fromxoptional
#1137.xtensor
default constructor and scalar assign fixed #1148.Add
resize / reshape
toxfixed_container
#1147.Iterable refactoring #1149.
inner_strides_type
imported inxstrided_view
#1151.
0.17.3
0.17.2
Add experimental TBB support for parallelized multicore assign #948.
Add inline statement to all functions in xnpy #1097.
Fix strided assign for certain assignments #1095.
CMake, remove gtest warnings #1085.
Add conversion operators to slices #1093.
Add optimization to unchecked accessors when contiguous layout is known #1060.
Speedup assign by computing
any
layout on vectors #1063.Skip resizing for fixed shapes #1072.
Add xsimd apply to xcomplex functors (conj, norm, arg) #1086.
Propagate contiguous layout through views #1039.
Fix C++17 ambiguity for GCC 7 #1081.
Correct shape type in argmin, fix svector growth #1079.
Add
interp
function to xmath #1071.Fix valgrind warnings + memory leak in xadapt #1078.
Remove more clang warnings & errors on OS X #1077.
Add move constructor from xtensor <-> xarray #1051.
Add global support for negative axes in reducers/accumulators allow multiple axes in average #1010.
Fix reference usage in xio #1076.
Remove occurences of std::size_t and double #1073.
Add missing parantheses around min/max for MSVC #1061.
0.17.1
Add std namespace to size_t everywhere, remove std::copysign for MSVC #1053.
Fix (wrong) bracket warnings for older clang versions (e.g. clang 5 on OS X) #1050.
Fix strided view on view by using std::addressof #1049.
Add more adapt functions and shorthands #1043.
Improve CRTP base class detection #1041.
Fix rebind container ambiguous template for C++17 / GCC 8 regression #1038.
Fix functor return value #1035.
0.17.0
Breaking changes
New features
add
signed char
to npy deserialization format #1017.simd assignment now requires convertible types instead of same type #1000.
shared expression and automatic xclosure detection #992.
average function #987.
added simd support for complex #985.
argsort function #977.
propagate fixed shape #922.
added xdrop_slice #972.
added doc for
xmasked_view
#971.added
xmasked_view
#969.added
dynamic_view
#966.added ability to use negative indices in keep slice #964.
added an easy way to create lambda expressions, square and cube #961.
noalias on rvalue #965.
Other changes
xshared_expression
fixed #1025.fix
make_xshared
#1024.add tests to evaluate shared expressions #1019.
fix
where
onxview
#1012.basic usage replaced with getting started #1004.
avoided installation failure in absence of
nlohmann_json
#1001.code and documentation clean up #998.
removed g++ “pedantic” compiler warnings #997.
added missing header in basic_usage.rst #996.
warning pass #990.
added missing include in
xview
#989.added missing
<map>
include #983.xislice refactoring #962.
added missing operators to noalias #932.
cmake fix for Intel compiler on Windows #951.
fixed xsimd abs deduction #946.
added islice example to view doc #940.
0.16.4
removed usage of
std::transfomr
in assign #868.add strided assignment #901.
simd activated for conditional ternary functor #903.
xstrided_view
split #905.assigning an expression to a view throws if it has more dimensions #910.
faster random #913.
xoptional_assembly_base
storage type #915.new tests and warning pass #916.
norm immediate reducer #924.
add
reshape_view
#927.fix immediate reducers with 0 strides #935.
0.16.3
simd on mathematical functions fixed #886.
fill
method added to containers #887.access with more arguments than dimensions #889.
unchecked method implemented #890.
fill
method implemented in view #893.documentation fixed and warnings removed #894.
negative slices and new range syntax #895.
xview_stepper
with implicitxt::all
bug fix #899.
0.16.2
0.16.1
Workaround for Visual Studio Bug #858.
Fixup example notebook #861.
Prevent expansion of min and max macros on Windows #863.
Renamed
m_data
tom_storage
#864.Fix regression with respect to random access stepping with views #865.
Remove use of CS, DS and ES qualifiers for Solaris builds #866.
Removal of precision type #870.
Make json tests optional, bump xtl/xsimd versions #871.
Add more benchmarks #876.
Forbid simd fixed #877.
Add more asserts #879.
Add missing
batch_bool
typedef #881.simd_return_type
hack removed #882.Removed test guard and fixed dimension check in
xscalar
#883.
0.16.0
Breaking changes
New features
Added strided view selector #765.
Added
count_nonzeros
#781.Added implicit conversion to scalar in
xview
#788.Added tracking allocators to
xutils.hpp
#789.xindexslice
andshuffle
function #804.Allow
xadapt
with dynamic layout #816.Added
xtensorf
initialization from C array #819.Added policy to allocation tracking for throw option #820.
Free function
empty
for construction from shape #827.Support for JSON serialization and deserialization of xtensor expressions #830.
Add
trapz
function #837.Add
diff
andtrapz(y, x)
functions #841.
Other changes
Added fast path for specific assigns #767.
Renamed internal macros to prevent collisions #772.
dynamic_view
unwrapping #775.xreducer_stepper
copy semantic fixed #785.xfunction
copy constructor fixed #787.warnings removed #791.
xscalar_stepper
fixed #802.Fixup
xadapt
on const pointers #809.Fix in owning buffer adaptors #810.
Macros fixup #812.
More fixes in
xadapt
#813.Mute unused variable warning #815.
Remove comparison of steppers in assign loop #823.
Fix reverse iterators #825.
gcc-8 fix for template method calls #833.
refactor benchmarks for upcoming release #842.
flip
now returns a view #843.initial warning pass #850.
Fix warning on diff function #851.
xsimd assignment fixed #852.
0.15.9
0.15.8
0.15.7
nan related functions #718.
return types fixed in dynamic view helper #722.
xview on constant expressions #723.
added decays to make const
value_type
compile #727.iterator for constant
strided_view
fixed #729.strided_view
onxfunction
fixed #732.Fixes in
xstrided_view
#736.View semantic (broadcast on assign) fixed #742.
Compilation prevented when using ellipsis with
xview
#743.Index of
xiterator
set to shape when reaching the end #744.xscalar
fixed #748.Updated README and related projects #749.
Perfect forwarding in
xfunction
and views #750.Missing include in
xassign.hpp
#752.More related projects in the README #754.
Fixed stride computation for
xtensorf
#755.Added tests for backstrides #758.
Clean up
has_raw_data
ins strided view #759.Switch to
ptrdiff_t
for slices #760.Fixed
xview
strides computation #762.Additional methods in slices, required for
xframe
#764.
0.15.6
zeros, ones, full and empty_like functions #686.
squeeze view #687.
bitwise shift left and shift right #688.
ellipsis, unique and trim functions #689.
xview iterator benchmark #696.
optimize stepper increment #697.
minmax reducers #698.
where fix with SIMD #704.
additional doc for scalars and views #705.
mixed arithmetic with SIMD #713.
broadcast fixed #717.
0.15.5
assign functions optimized #650.
transposed view fixed #652.
exceptions refactoring #654.
performances improved #655.
view data accessor fixed #660.
new dynamic view using variant #656.
alignment added to fixed xtensor #659.
code cleanup #664.
xtensorf and new dynamic view documentation #667.
qualify namespace for compute_size #665.
make xio use
dynamic_view
instead ofview
#662.transposed view on any expression #671.
docs typos and grammar plus formatting #676.
index view test assertion fixed #680.
flatten view #678.
handle the case of pointers to const element in
xadapt
#679.use quotes in #include statements for xtl #681.
additional constructors for
svector
#682.removed
test_xsemantics.hpp
from test CMakeLists #684.
0.15.4
fix gcc-7 error w.r.t. the use of
assert
#648.
0.15.3
add missing headers to cmake installation and tests #647.
0.15.2
0.15.1
0.15.0
Breaking changes
New features
Other changes
0.14.1
New features
Other changes
accumulator improvements #570.
benchmark cmake fixed #571.
allocator_type added to container interface #573.
allow conda-forge as fallback channel #575.
arithmetic mixing optional assemblies and scalars fixed #578.
arithmetic mixing optional assemblies and optionals fixed #579.
operator==
restricted to xtensor and xoptional expressions #580.
0.14.0
Breaking changes
New features
Other changes
0.13.2
0.13.1
0.13.0
Breaking changes
New features
Other changes
Addition of broadcasting bitwise operators #459.
More efficient optional expression system #467.
Migration of benchmarks to the Google benchmark framework #473.
Container semantic and adaptor semantic merged #475.
Various fixes and improvements of the strided views #480. #481.
Assignment now performs basic type conversion #486.
Workaround for a compiler bug in Visual Studio 2017 #490.
MSVC 2017 workaround #492.
The
size()
method for containers now returns the total number of elements instead of the buffer size, which may differ when the smallest stride is greater than1
#502.The behavior of
linspace
with integral types has been made consistent with NumPy #510.
0.12.1
Fix issue with slicing when using heterogeneous integral types #451.
0.12.0
Breaking changes
xtensor now depends on xtl version 0.2.x #421.
New features
xtensor has an optional dependency on xsimd for enabling simd acceleration #426.
All expressions have an additional safe access function (
at
) #420.norm functions #440.
closure_pointer
used in iterators returning temporaries so theiroperator->
can be correctly defined #446.expressions tags added so xtensor expression system can be extended #447.
Other changes
0.11.3
Fixed bug in length-1 statically dimensioned tensor construction #431.
0.11.2
Fixup compilation issue with latest clang compiler. (missing constexpr keyword) #407.
0.11.1
Fixes some warnings in julia and python bindings
0.11.0
Breaking changes
xbegin
/xend
,xcbegin
/xcend
,xrbegin
/xrend
andxcrbegin
/xcrend
methods replaced with classicalbegin
/end
,cbegin
/cend
,rbegin
/rend
andcrbegin
/crend
methods. Oldbegin
/end
methods and their variants have been removed. #370.xview
now uses a const stepper when its underlying expression is const. #385.