38 template <ArrayOrScalar A>
44 })(std::forward<A>(a));
47 --------- same, no using std::-------
49 VIMEXPAND real abs2 isnan
55 template <ArrayOrScalar A>
58 [](auto const &x) {return detail::@(x); })(std::forward<A>(a));
61 --------- mapping with matrix excluded -------
63 VIMEXPAND exp cos sin tan cosh sinh tanh acos asin atan log sqrt
69 template <ArrayOrScalar A>
70 auto @(A &&a) requires(get_algebra<A> != 'M') {
75 })(std::forward<A>(a));
95 template <ArrayOrScalar A>
101 })(std::forward<A>(a));
109 template <ArrayOrScalar A>
115 })(std::forward<A>(a));
123 template <ArrayOrScalar A>
129 })(std::forward<A>(a));
137 template <ArrayOrScalar A>
140 [](
auto const &x) {
return detail::real(x); })(std::forward<A>(a));
148 template <ArrayOrScalar A>
151 [](
auto const &x) {
return detail::abs2(x); })(std::forward<A>(a));
159 template <ArrayOrScalar A>
162 [](
auto const &x) {
return detail::isnan(x); })(std::forward<A>(a));
170 template <ArrayOrScalar A>
171 auto exp(A &&a)
requires(get_algebra<A> !=
'M') {
176 })(std::forward<A>(a));
184 template <ArrayOrScalar A>
185 auto cos(A &&a)
requires(get_algebra<A> !=
'M') {
190 })(std::forward<A>(a));
198 template <ArrayOrScalar A>
199 auto sin(A &&a)
requires(get_algebra<A> !=
'M') {
204 })(std::forward<A>(a));
212 template <ArrayOrScalar A>
213 auto tan(A &&a)
requires(get_algebra<A> !=
'M') {
218 })(std::forward<A>(a));
226 template <ArrayOrScalar A>
227 auto cosh(A &&a)
requires(get_algebra<A> !=
'M') {
232 })(std::forward<A>(a));
240 template <ArrayOrScalar A>
241 auto sinh(A &&a)
requires(get_algebra<A> !=
'M') {
246 })(std::forward<A>(a));
254 template <ArrayOrScalar A>
255 auto tanh(A &&a)
requires(get_algebra<A> !=
'M') {
260 })(std::forward<A>(a));
268 template <ArrayOrScalar A>
269 auto acos(A &&a)
requires(get_algebra<A> !=
'M') {
274 })(std::forward<A>(a));
282 template <ArrayOrScalar A>
283 auto asin(A &&a)
requires(get_algebra<A> !=
'M') {
288 })(std::forward<A>(a));
296 template <ArrayOrScalar A>
297 auto atan(A &&a)
requires(get_algebra<A> !=
'M') {
302 })(std::forward<A>(a));
310 template <ArrayOrScalar A>
311 auto log(A &&a)
requires(get_algebra<A> !=
'M') {
316 })(std::forward<A>(a));
324 template <ArrayOrScalar A>
325 auto sqrt(A &&a)
requires(get_algebra<A> !=
'M') {
330 })(std::forward<A>(a));
Provides concepts for the nda library.
auto cos(A &&a)
Function cos for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types)...
auto sinh(A &&a)
Function sinh for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto tanh(A &&a)
Function tanh for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto sin(A &&a)
Function sin for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types)...
auto log(A &&a)
Function log for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types)...
auto floor(A &&a)
Function floor for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types).
auto abs(A &&a)
Function abs for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types).
auto tan(A &&a)
Function tan for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types)...
auto atan(A &&a)
Function atan for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto real(A &&a)
Function real for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types).
auto sqrt(A &&a)
Function sqrt for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto imag(A &&a)
Function imag for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types).
auto isnan(A &&a)
Function isnan for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types).
auto cosh(A &&a)
Function cosh for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto abs2(A &&a)
Function abs2 for nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types).
auto asin(A &&a)
Function asin for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto acos(A &&a)
Function acos for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types...
auto exp(A &&a)
Function exp for non-matrix nda::ArrayOrScalar types (lazy and coefficient-wise for nda::Array types)...
mapped< F > map(F f)
Create a lazy function call expression on arrays/views.
Provides lazy function calls on arrays/views.
Provides some custom implementations of standard mathematical functions used for lazy,...
Provides type traits for the nda library.