![]() |
Prev | Next | swig_xam_function.cpp | Headings |
# include "swig_xam.hpp" # include <stdexcept> # include <string> # include <limits> // factorial_by_value int factorial_by_value(int n) { if (n <= 1) return 1; else return n * factorial_by_value(n - 1); } // message_of_void const char* message_of_void(void) { return "OK"; } // add_by_ptr void add_by_ptr(int x, int y, int* result) { *result = x + y; } // max_array_by_ptr int max_array_by_ptr(int n, const int* x) { int result = x[0]; for(int i = 1; i < 10; i++) if( x[i] > result ) result = x[i]; return result; } // max_std_vector_double double max_std_vector_double(const std::vector<double>& x) { double result = - std::numeric_limits<double>::infinity(); for(size_t i = 0; i < x.size(); i++) if( x[i] > result ) result = x[i]; return result; } // raise_exception const char* raise_exception(const char* message) { // previous error message static std::string previous = ""; if( message[0] == '\0' ) return previous.c_str(); previous = message; // // raise exception throw std::runtime_error( std::string( message ) ); // // never get to here return ""; }