mclow on boost-1.79.0
mclow on boost-1.79.0.beta1
amitsingh19975 on lifetime
refactor(compare): combine two … (compare)
amitsingh19975 on lifetime
refactor(compare): combine two … (compare)
@bassoy, I've created a new branch "fix/extents" to fix the existing problem with the ambiguous extents. My approach would be making the extents to be at least of 2nd order. Therefore, we can discern between static tensor and static rank tensor.
auto e0 = extents<1>{}; // [static rank extents] invalid because of 1st order static rank extents
auto e1 = extents<1,2>{}; // [static extents] valid because of 2st order static extents
auto e2 = extents<2>{}; // [static rank extents] valid because of 2st order static rank extents
auto e3 = extents<>{4}; // [dynamic extents] invalid because of 1st order dynamic extents
auto e4 = extents<>{4,4}; // [dynamic extents] valid because of 2st order dynamic extents
Order(Static Extents|Dynamic Extents) > 1 and Order(Static Rank Extents) == 1. Therefore, there is no ambiguity.
@bassoy, there's one problem here, and I don't know which solution is better.
There's one downside of alias on clang right now: they haven't implemented the type deduction for alias type. This makes it impossible to deduce the template types from the constructor.
Maybe you're using master branch of ublas. This feature is in develop branch right now.
Sir, how to use the develop branch?
https://github.com/boostorg/ublas/wiki/Guidelines-for-Contributors
This is my user-config.jam
.
using clang : : clang++ : <cxxflags>"-std=c++20" <linkflags>"" <link>"-lboost_unit_test_framework" ;
I think you need to check your binary see the name of the GCC binary there, and then put it in here, or check the b2
document on how to set gcc
toolset.
<cxxflags>"-std=c++20" <linkflags>"" <link>"-lboost_unit_test_framework"
.