adfunc.h 1.9 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #ifndef _adfunc__h_
  2. #define _adfunc__h_
  3. #include "kelvin.h"
  4. double sqv(double);
  5. double csft(double);
  6. double sidelen(double, double, double, double);
  7. double traparea(int);
  8. int recgeom(int, double&, double&, double&);
  9. int cirgeom(int, double&, double&, double& , double&);
  10. int trageom(int, double&, double&, double&);
  11. void getsbs(Matrix&);
  12. void intpnt(double, Vector&, Vector&, Vector&, Vector&,
  13. double, Vector&, Vector&, Vector&, Vector&,
  14. double);
  15. Complex kernel_v0(double&, double&, int, int);
  16. Complex kernel_u0(double&, double&, int, int);
  17. Complex kernel_vi(double&, double&, int, int);
  18. Complex kernel_ui(double&, double&, int, int);
  19. double g0(double, double, double, double);
  20. double g0x(double, double, double, double);
  21. double g0y(double, double, double, double);
  22. double g0mn(int, int, double, double);
  23. double g0pmn(int, int, double, double);
  24. double gir(double, double, double, double);
  25. double girx(double, double, double, double);
  26. double giry(double, double, double, double);
  27. double girmn(int, int, double, double);
  28. double girpmn(int, int, double, double);
  29. double gii(double, double, double, double);
  30. double giix(double, double, double, double);
  31. double giiy(double, double, double, double);
  32. double giimn(int, int, double, double);
  33. double giipmn(int, int, double, double);
  34. Complex gimn(int, int, double, double);
  35. Complex gipmn(int, int, double, double);
  36. Vector tangle( double, double, double, double, double, double);
  37. inline double sqv( double x ) {
  38. return( x*x );
  39. }
  40. inline double csft( double x ) {
  41. if( x < 0.0 ) {
  42. return( x + 1.0 );
  43. } else if( x >= 1.0 ) {
  44. return( x - 1.0 );
  45. } else {
  46. return( x );
  47. }
  48. }
  49. /* To calculate the length of a side */
  50. inline double sidelen(double x1, double y1, double x2, double y2 ) {
  51. return(sqrt(sqv(x1-x2)+sqv(y1-y2)));
  52. }
  53. #endif