NumCpp  2.14.0
A Templatized Header Only C++ Implementation of the Python NumPy Library
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
sign.hpp
Go to the documentation of this file.
1
28#pragma once
29
30#include <complex>
31
35#include "NumCpp/NdArray.hpp"
36
37namespace nc
38{
39 //============================================================================
40 // Method Description:
51 template<typename dtype>
53 {
55
56 if (inValue < dtype{ 0 })
57 {
58 return -1;
59 }
60
61 if (inValue > dtype{ 0 })
62 {
63 return 1;
64 }
65
66 return 0;
67 }
68
69 //============================================================================
70 // Method Description:
81 template<typename dtype>
83 {
86 inArray.cend(),
87 returnArray.begin(),
88 [](dtype inValue) noexcept -> int8 { return sign(inValue); });
89
90 return returnArray;
91 }
92} // namespace nc
#define STATIC_ASSERT_ARITHMETIC_OR_COMPLEX(dtype)
Definition StaticAsserts.hpp:56
Holds 1D and 2D arrays, the main work horse of the NumCpp library.
Definition NdArrayCore.hpp:139
OutputIt transform(InputIt first, InputIt last, OutputIt destination, UnaryOperation unaryFunction)
Definition StlAlgorithms.hpp:775
Definition Cartesian.hpp:40
std::int8_t int8
Definition Types.hpp:38
int8 sign(dtype inValue) noexcept
Definition sign.hpp:52
NdArray< dtype > arange(dtype inStart, dtype inStop, dtype inStep=1)
Definition arange.hpp:59