comparison src/mappers.h @ 529:7ea224e713cd

[project @ 1994-07-20 18:54:27 by jwe]
author jwe
date Wed, 20 Jul 1994 19:19:08 +0000
parents 0b52c68ec81f
children aecbe369233b
comparison
equal deleted inserted replaced
528:e1e6e33e26f8 529:7ea224e713cd
24 #if !defined (octave_mappers_h) 24 #if !defined (octave_mappers_h)
25 #define octave_mappers_h 1 25 #define octave_mappers_h 1
26 26
27 class Complex; 27 class Complex;
28 28
29 #include "missing-math.h" 29 typedef double (*d_d_Mapper)(double);
30 typedef double (*d_c_Mapper)(const Complex&);
31 typedef Complex (*c_c_Mapper)(const Complex&);
32
33 // If can_return_complex_for_real_arg is 1, lower_limit and
34 // upper_limit specify the range of values for which a real arg
35 // returns a real value. Outside that range, we have to convert args
36 // to complex, and call the complex valued function.
37 //
38 // If can_return_complex_for_real_arg is 0, lower_limit and
39 // upper_limit are ignored.
40
41 struct Mapper_fcn
42 {
43 int can_return_complex_for_real_arg;
44 double lower_limit;
45 double upper_limit;
46 d_d_Mapper d_d_mapper;
47 d_c_Mapper d_c_mapper;
48 c_c_Mapper c_c_mapper;
49 };
50
51 struct builtin_mapper_function
52 {
53 char *name;
54 int can_return_complex_for_real_arg;
55 double lower_limit;
56 double upper_limit;
57 d_d_Mapper d_d_mapper;
58 d_c_Mapper d_c_mapper;
59 c_c_Mapper c_c_mapper;
60 char *help_string;
61 };
30 62
31 extern double arg (double x); 63 extern double arg (double x);
32 extern double conj (double x); 64 extern double conj (double x);
33 extern double fix (double x); 65 extern double fix (double x);
34 extern double imag (double x); 66 extern double imag (double x);
35 extern double real (double x); 67 extern double real (double x);
36 extern double round (double x); 68 extern double round (double x);
37 extern double signum (double x); 69 extern double signum (double x);
70 extern double xisnan (double x);
38 extern double xfinite (double x); 71 extern double xfinite (double x);
39 extern double xisinf (double x); 72 extern double xisinf (double x);
40 extern double xisnan (double x);
41 73
74 extern double xisnan (const Complex& x);
42 extern double xfinite (const Complex& x); 75 extern double xfinite (const Complex& x);
43 extern double xisinf (const Complex& x); 76 extern double xisinf (const Complex& x);
44 extern double xisnan (const Complex& x);
45 77
46 extern Complex acos (const Complex& x); 78 extern Complex acos (const Complex& x);
47 extern Complex acosh (const Complex& x); 79 extern Complex acosh (const Complex& x);
48 extern Complex asin (const Complex& x); 80 extern Complex asin (const Complex& x);
49 extern Complex asinh (const Complex& x); 81 extern Complex asinh (const Complex& x);
56 extern Complex round (const Complex& x); 88 extern Complex round (const Complex& x);
57 extern Complex signum (const Complex& x); 89 extern Complex signum (const Complex& x);
58 extern Complex tan (const Complex& x); 90 extern Complex tan (const Complex& x);
59 extern Complex tanh (const Complex& x); 91 extern Complex tanh (const Complex& x);
60 92
93 extern void install_mapper_functions (void);
94
61 #endif 95 #endif
62 96
63 /* 97 /*
64 ;;; Local Variables: *** 98 ;;; Local Variables: ***
65 ;;; mode: C++ *** 99 ;;; mode: C++ ***