Computes the negative zero value.
For integral type there is no difference between eve::zero and eve::mzero, but for floating ones the bit of sign differs.
However, eve::mzero always satisfies the equality predicate with eve::zero.
Defined in Header
#include <eve/module/core.hpp>
{
template< eve::value T >
}
constexpr callable_mzero_ mzero
Computes the negative zero value.
Definition: mzero.hpp:62
Definition: all_of.hpp:22
Lightweight type-wrapper.
Definition: as.hpp:29
Parameters
x
: Type wrapper instance embedding the type of the constant.
Return value
The call eve::mzero(as<T>())
is semantically equivalent to T(-0.0)
.
#include <eve/module/core.hpp>
#include <eve/wide.hpp>
#include <iostream>
int main()
{
wide_ft wxf;
wide_it wxi;
std::cout << "---- simd" << std::endl
double xf;
std::int16_t xi;
std::cout << "---- scalar" << std::endl
<<
"-> mzero(as<std::int16_t>()) = " <<
eve::mzero(
eve::as(std::int16_t())) << std::endl
return 0;
}
Wrapper for SIMD registers.
Definition: wide.hpp:65