rote_american_option_approximation.cpp

00001 #include <iostream>
00002 #include "american_option_approximation.h"
00003 
00004 const char *american_option_approximation::_error_msg;
00005 int american_option_approximation::_erno;
00006 
00007 #ifdef CHECK
00008 #undef CHECK
00009 #endif
00010 #ifdef linux
00011 #define CHECK(y,z,a) if (y) { _error_msg = __STRING(y)" at line "\
00012   __STRING(z)" in " a "::check_attributes"; \
00013   return (_erno = z);}
00014 #else
00015 #define CHECK(y,z,a) if (y) {_error_msg = #y" at line "\
00016   #z" in " #a"::check_attributes"; \
00017   return (_erno = z);}
00018 #endif
00019 
00020 int american_option_approximation::check_attributes(
00021       double S,
00022       double K,
00023       double Tau,
00024       double Alpha,
00025       double R,
00026       double Sigma,
00027       double Vega_epsilon,
00028       uint Max_iter)
00029 {
00030   #define Funcname  "american_option_approximation::check_attributes"
00031 
00032   _error_msg = "";
00033   _erno = 0;
00034 
00035   CHECK(S <  0, __LINE__, Funcname);
00036   CHECK(K <  0, __LINE__, Funcname);
00037   CHECK(Tau <  0, __LINE__, Funcname);
00038   CHECK(Alpha <  0, __LINE__, Funcname);
00039   CHECK(R <  0, __LINE__, Funcname);
00040   CHECK(Sigma <  0, __LINE__, Funcname);
00041   CHECK(Vega_epsilon <  0, __LINE__, Funcname);
00042 
00043   return 0;
00044 }
00045 

Generated on Fri Jan 7 12:36:18 2011 for public_options by  doxygen 1.5.1