Signature#
-
class numpy::Signature#
numpy C++ class.
Example#
#include <numpy/np_ndarray.h>
using namespace numpy;
// Use Signature
Signature obj;
// ... operations ...
Constructors#
Signature |
Location |
Example |
|---|---|---|
|
NP_VECTORIZE_TRAITS.H:219 |
Other Methods#
Code Examples#
The following examples are extracted from the test suite.
isValid (np_test_1_all.cpp:15168)
15158 }
15159
15160 // Test 9: Signature parsing
15161 std::cout << "========= test_signature_parsing =======================" ;
15162
15163 auto dot_product = [](double x, double y) { return x * y; };
15164 auto vectorized_dot = numpy::vectorize(dot_product, "(n),(n)->()");
15165
15166 // Test that signature is parsed correctly
15167 auto info = vectorized_dot.getSignature();
15168 std::cout << info.isValid() << "," << info.numInputs() << "," << info.numOutputs() << "";
15169 bool test9_pass = info.isValid() && info.numInputs() == 2 && info.numOutputs() == 1;
15170
15171 if (test9_pass) {
15172 // std::cout << "[OK] Signature parsing works correctly";
15173 std::cout << " -> tests passed" << std::endl;
15174 }
15175 else {
15176 std::cout << "[FAIL] Signature parsing failed" << std::endl;
15177 errors++;
15178 }
numInputs (np_test_1_all.cpp:15168)
15158 }
15159
15160 // Test 9: Signature parsing
15161 std::cout << "========= test_signature_parsing =======================" ;
15162
15163 auto dot_product = [](double x, double y) { return x * y; };
15164 auto vectorized_dot = numpy::vectorize(dot_product, "(n),(n)->()");
15165
15166 // Test that signature is parsed correctly
15167 auto info = vectorized_dot.getSignature();
15168 std::cout << info.isValid() << "," << info.numInputs() << "," << info.numOutputs() << "";
15169 bool test9_pass = info.isValid() && info.numInputs() == 2 && info.numOutputs() == 1;
15170
15171 if (test9_pass) {
15172 // std::cout << "[OK] Signature parsing works correctly";
15173 std::cout << " -> tests passed" << std::endl;
15174 }
15175 else {
15176 std::cout << "[FAIL] Signature parsing failed" << std::endl;
15177 errors++;
15178 }
numOutputs (np_test_1_all.cpp:15168)
15158 }
15159
15160 // Test 9: Signature parsing
15161 std::cout << "========= test_signature_parsing =======================" ;
15162
15163 auto dot_product = [](double x, double y) { return x * y; };
15164 auto vectorized_dot = numpy::vectorize(dot_product, "(n),(n)->()");
15165
15166 // Test that signature is parsed correctly
15167 auto info = vectorized_dot.getSignature();
15168 std::cout << info.isValid() << "," << info.numInputs() << "," << info.numOutputs() << "";
15169 bool test9_pass = info.isValid() && info.numInputs() == 2 && info.numOutputs() == 1;
15170
15171 if (test9_pass) {
15172 // std::cout << "[OK] Signature parsing works correctly";
15173 std::cout << " -> tests passed" << std::endl;
15174 }
15175 else {
15176 std::cout << "[FAIL] Signature parsing failed" << std::endl;
15177 errors++;
15178 }