Computes the sum of its arguments.
If the arguments are \((x_i)_{0\le i\le n}\) The value of \(x_0-\sum_1^n x_i\) is returned.
#include <eve/module/core.hpp>
#include <eve/wide.hpp>
#include <iostream>
int main()
{
w_t
pi = {3, 2, -32700, 32700}, qi = {4, 1, 100, -100};
wf_t pf = {3, 2.5, -32.7, 1327.43}, qf = {-4.2, -1.5, 100.834, -10.02};
std::cout << "---- simd" << '\n'
<<
" <- pi = " <<
pi <<
'\n'
<< " <- qi = " << qi << '\n'
<<
" -> sub(pi, qi) = " <<
eve::sub(
pi, qi) <<
'\n'
<<
" -> pi - qi = " <<
pi - qi <<
'\n'
<< " -> pf - qf = " << pf - qf << '\n';
std::int16_t xi = 100, yi = 32700;
std::cout << "---- scalar" << '\n'
<< " <- xi = " << xi << '\n'
<< " <- yi = " << yi << '\n'
<<
" -> sub(xi, yi) = " <<
eve::sub(xi, yi) <<
'\n'
<< " -> xi - yi = " << xi - yi << '\n';
auto k = kumi::tuple{pf, pf, pf, 1};
std::cout << "---- multi parameters" << '\n'
<<
" -> sub(k) = " <<
eve::sub(k) <<
'\n'
<<
" -> sub(kumi::tuple{pf, pf}) = " <<
eve::sub( kumi::tuple{pf, pf}) <<
'\n'
<<
" -> sub(kumi::tuple{pf, 1.0f) = " <<
eve::sub( kumi::tuple{pf, 1.0f}) <<
'\n'
<<
" -> sub(kumi::tuple{1.0f, pf) = " <<
eve::sub( kumi::tuple{1.0f, pf}) <<
'\n'
return 0;
}
constexpr saturated_type const saturated
Higher-order Callable Object imbuing saturation semantic onto other Callable Objects.
Definition: saturated.hpp:68
constexpr callable_pi_ pi
Callable object computing the constant .
Definition: pi.hpp:49
Wrapper for SIMD registers.
Definition: wide.hpp:65