Changelog¶
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¶
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
forxsimd
#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.0¶
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.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 definingXTENSOR_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.2¶
Fixed broadcast linear assign #1493
Fixed
do_stirdes_match
#1497Removed unused capture #1499
Upgraded to
xtl
0.6.2 #1502Added 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¶
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.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¶
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.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.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.2¶
0.15.1¶
0.14.1¶
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.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.0¶
New features¶
xtensor
has an optional dependency onxsimd
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.
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.