Comments (3)
Never mind, I've solved it using: g++ -std=gnu++17 simple_expressions.cpp
.
from ublas.
Please specify what compiler & environment you have used.
You can see here that the simple expression example compiles and executes as expected.
from ublas.
Hi.
I get the same error when I try to compile: g++ simple_expressions.cpp
without any other arguments (no NDEBUG, ...).
My compiler details:
g++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
And the errors returned by the compiler:
In file included from /usr/include/boost/numeric/ublas/tensor/functions.hpp:25,
from /usr/include/boost/numeric/ublas/tensor.hpp:18,
from simple_expressions.cpp:13:
/usr/include/boost/numeric/ublas/tensor/expression.hpp: In instantiation of ‘boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>::unary_tensor_expression(boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>&&) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:53&)>]’:
/usr/include/boost/numeric/ublas/tensor/expression.hpp:161:50: required from ‘auto boost::numeric::ublas::detail::make_unary_tensor_expression(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, OP) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:53&)>]’
/usr/include/boost/numeric/ublas/tensor/operators_arithmetic.hpp:122:72: required from ‘auto operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]’
simple_expressions.cpp:31:14: required from here
/usr/include/boost/numeric/ublas/tensor/expression.hpp:148:20: error: ‘struct operator+(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:53&)>’ has no member named ‘l’
148 | : e(l.e), op(op.l) {}
| ~~~^
/usr/include/boost/numeric/ublas/tensor/expression.hpp: In instantiation of ‘boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>::unary_tensor_expression(boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>&&) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)>]’:
/usr/include/boost/numeric/ublas/tensor/expression.hpp:161:50: required from ‘auto boost::numeric::ublas::detail::make_unary_tensor_expression(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, OP) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::tensor<float>; OP = operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)>]’
/usr/include/boost/numeric/ublas/tensor/operators_arithmetic.hpp:112:72: required from ‘auto operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]’
simple_expressions.cpp:32:10: required from here
/usr/include/boost/numeric/ublas/tensor/expression.hpp:148:20: error: ‘struct operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)>’ has no member named ‘l’
/usr/include/boost/numeric/ublas/tensor/expression.hpp: In instantiation of ‘boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>::unary_tensor_expression(boost::numeric::ublas::detail::unary_tensor_expression<T, E, OP>&&) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; OP = operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]::<lambda(const auto:54&)>]’:
/usr/include/boost/numeric/ublas/tensor/expression.hpp:161:50: required from ‘auto boost::numeric::ublas::detail::make_unary_tensor_expression(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, OP) [with T = boost::numeric::ublas::tensor<float>; E = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; OP = operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]::<lambda(const auto:54&)>]’
/usr/include/boost/numeric/ublas/tensor/operators_arithmetic.hpp:126:72: required from ‘auto operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]’
simple_expressions.cpp:32:14: required from here
/usr/include/boost/numeric/ublas/tensor/expression.hpp:148:20: error: ‘struct operator-(const boost::numeric::ublas::detail::tensor_expression<T, EL>&, typename T::const_reference) [with T = boost::numeric::ublas::tensor<float>; L = boost::numeric::ublas::detail::unary_tensor_expression<boost::numeric::ublas::tensor<float>, boost::numeric::ublas::tensor<float>, operator*(typename T::const_reference, const boost::numeric::ublas::detail::tensor_expression<T, EL>&) [with T = boost::numeric::ublas::tensor<float>; R = boost::numeric::ublas::tensor<float>; typename T::const_reference = const float&]::<lambda(const auto:51&)> >; typename T::const_reference = const float&]::<lambda(const auto:54&)>’ has no member named ‘l’
from ublas.
Related Issues (20)
- uBLAS FAQ HOT 2
- Invalid strides type for static extents of rank one
- Add out of range exception to the static tensor
- Exception raised on the construction of the tensor from the `tensor_expression`
- Wrong `to_strides_v` computation
- Transpose for Rank One Tensors HOT 1
- Exception Raised for Static Rank Tensor inside the Tensor Times Tensor Product
- Use of Template Type in the Wrong Place HOT 4
- Extension of lifetime within tensor expression templates for prvalues not guaranteed. HOT 1
- Incorrect parameter ordering in element_sub HOT 4
- Error in Github Actions due to incorrect msvc toolset version
- Compiler cannot perform small-object and other optimizations in algorithms.cpp HOT 5
- Use function call operator for indexing instead of at HOT 2
- Fixing iteration-type of for-loop. HOT 3
- Wrong implementation of copy constructor for the different type of layout
- Tensor examples in the documentation are not correct.
- Boost\libs\numeric\ublas failed to build due to error C2059, C2065, C2923, C2976, C2447 .... on MSVC HOT 6
- Deprecated Inheritance From std::iterator Didn't Make It To Release HOT 7
- ublas::matrix broken with compiler error with build 1.80 but not 1.63 HOT 2
- ublas::matrix::resize with preserve= true, can it be implemented without temporary storage?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ublas.