- switched to automake build environment
[ginac.git] / ginac / inifcns.h
1 /** @file inifcns.h
2  *
3  *  Interface to GiNaC's initially known functions. */
4
5 #ifndef _INIFCNS_H_
6 #define _INIFCNS_H_
7
8 #include "numeric.h"
9 #include "function.h"
10
11 /** Sine. */
12 DECLARE_FUNCTION_1P(sin)
13
14 /** Cosine. */
15 DECLARE_FUNCTION_1P(cos)
16
17 /** Tangent. */
18 DECLARE_FUNCTION_1P(tan)
19
20 /** Exponential function. */
21 DECLARE_FUNCTION_1P(exp)
22
23 /** Natural logarithm. */
24 DECLARE_FUNCTION_1P(log)
25
26 /** Inverse sine (arc sine). */
27 DECLARE_FUNCTION_1P(asin)
28
29 /** Inverse cosine (arc cosine). */
30 DECLARE_FUNCTION_1P(acos)
31
32 /** Inverse tangent (arc tangent). */
33 DECLARE_FUNCTION_1P(atan)
34
35 /** Inverse tangent with two arguments. */
36 DECLARE_FUNCTION_2P(atan2)
37
38 /** Hyperbolic Sine. */
39 DECLARE_FUNCTION_1P(sinh)
40
41 /** Hyperbolic Cosine. */
42 DECLARE_FUNCTION_1P(cosh)
43
44 /** Hyperbolic Tangent. */
45 DECLARE_FUNCTION_1P(tanh)
46
47 /** Inverse hyperbolic Sine (area hyperbolic sine). */
48 DECLARE_FUNCTION_1P(asinh)
49
50 /** Inverse hyperbolic Cosine (area hyperbolic cosine). */
51 DECLARE_FUNCTION_1P(acosh)
52
53 /** Inverse hyperbolic Tangent (area hyperbolic tangent). */
54 DECLARE_FUNCTION_1P(atanh)
55
56 /** Dilogarithm. */
57 DECLARE_FUNCTION_1P(Li2)
58
59 /** Trilogarithm. */
60 DECLARE_FUNCTION_1P(Li3)
61
62 /** Gamma function. */
63 DECLARE_FUNCTION_1P(gamma)
64
65 /** Factorial function. */
66 DECLARE_FUNCTION_1P(factorial)
67
68 /** Binomial function. */
69 DECLARE_FUNCTION_2P(binomial)
70
71 /** Order term function (for truncated power series). */
72 DECLARE_FUNCTION_1P(Order)
73
74 ex lsolve(ex eqns,ex symbols);
75
76 ex ncpower(ex basis, unsigned exponent);
77
78 inline bool is_order_function(ex const & e)
79 {
80         return is_ex_the_function(e, Order);
81 }
82
83 #endif // ndef _INIFCNS_H_