Back to home page

LXR

 
 

    


File indexing completed on 2025-05-11 08:24:32

0001 /*
0002  * Copyright (c) 2010, 2011 by
0003  * Ralf Corsepius, Ulm/Germany. All rights reserved.
0004  *
0005  * Permission to use, copy, modify, and distribute this software
0006  * is freely granted, provided that this notice is preserved.
0007  */
0008 
0009 #include <complex.h>
0010 #include <stdio.h>
0011 
0012 #define CONCAT(x, y) x ## y
0013 #define XCONCAT(x, y) CONCAT(x, y)
0014 
0015 #define STRINGIFY(x, y) # x # y
0016 #define XSTRINGIFY(x, y) STRINGIFY(x, y)
0017 
0018 #ifdef SUFFIX
0019   #define FUNC(name) XCONCAT(name, SUFFIX)
0020   #define STR(name) XSTRINGIFY(name, SUFFIX)
0021 #else
0022   #define FUNC(name) XCONCAT(name, )
0023   #define STR(name) XSTRINGIFY(name, ) " "
0024 #endif
0025 
0026 extern void FUNC(docomplex) (void);
0027 
0028 static volatile complex FTYPE ca, cb;
0029 
0030 void
0031 FUNC(docomplex) (void)
0032 {
0033 #ifndef PROVIDE_EMPTY_FUNC
0034   complex FTYPE cc;
0035   FTYPE f1;
0036 
0037   ca = 1.0 + 1.0 * I;
0038   cb = 1.0 - 1.0 * I;
0039 
0040   f1 = FUNC(cabs) (ca);
0041   printf (STR(cabs) "  : " PRI "\n", f1);
0042 
0043   cc = FUNC(cacos) (ca);
0044   printf (STR(cacos) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0045        FUNC(cimag) (cc));
0046 
0047   cc = FUNC(cacosh) (ca);
0048   printf (STR(cacosh) ": " PRI " " PRI "i\n", FUNC(creal) (cc),
0049        FUNC(cimag) (cc));
0050 
0051   f1 = FUNC(carg) (ca);
0052   printf (STR(carg) "  : " PRI "\n", f1);
0053 
0054   cc = FUNC(casin) (ca);
0055   printf (STR(casin) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0056        FUNC(cimag) (cc));
0057 
0058   cc = FUNC(casinh) (ca);
0059   printf (STR(casinh) ": " PRI " " PRI "i\n", FUNC(creal) (cc),
0060        FUNC(cimag) (cc));
0061 
0062   cc = FUNC(catan) (ca);
0063   printf (STR(catan) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0064        FUNC(cimag) (cc));
0065 
0066   cc = FUNC(catanh) (ca);
0067   printf (STR(catanh) ": " PRI " " PRI "i\n", FUNC(creal) (cc),
0068        FUNC(cimag) (cc));
0069 
0070   cc = FUNC(ccos) (ca);
0071   printf (STR(ccos) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0072        FUNC(cimag) (cc));
0073 
0074   cc = FUNC(ccosh) (ca);
0075   printf (STR(ccosh) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0076        FUNC(cimag) (cc));
0077 
0078   cc = FUNC(cexp) (ca);
0079   printf (STR(cexp) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0080        FUNC(cimag) (cc));
0081 
0082   f1 = FUNC(cimag) (ca);
0083   printf (STR(cimag) " : " PRI "\n", f1);
0084 
0085   cc = FUNC(clog) (ca);
0086   printf (STR(clog) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0087        FUNC(cimag) (cc));
0088 
0089   cc = FUNC(conj) (ca);
0090   printf (STR(conj) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0091        FUNC(cimag) (cc));
0092 
0093   cc = FUNC(cpow) (ca, cb);
0094   printf (STR(cpow) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0095        FUNC(cimag) (cc));
0096 
0097   cc = FUNC(cproj) (ca);
0098   printf (STR(cproj) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0099        FUNC(cimag) (cc));
0100 
0101   f1 = FUNC(creal) (ca);
0102   printf (STR(creal) " : " PRI "\n", f1);
0103 
0104   cc = FUNC(csin) (ca);
0105   printf (STR(csin) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0106        FUNC(cimag) (cc));
0107 
0108   cc = FUNC(csinh) (ca);
0109   printf (STR(csinh) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0110        FUNC(cimag) (cc));
0111 
0112   cc = FUNC(csqrt) (ca);
0113   printf (STR(csqrt) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0114        FUNC(cimag) (cc));
0115 
0116   cc = FUNC(ctan) (ca);
0117   printf (STR(ctan) "  : " PRI " " PRI "i\n", FUNC(creal) (cc),
0118        FUNC(cimag) (cc));
0119 
0120   cc = FUNC(ctanh) (ca);
0121   printf (STR(ctanh) " : " PRI " " PRI "i\n", FUNC(creal) (cc),
0122        FUNC(cimag) (cc));
0123 #endif
0124 }