47 lines
		
	
	
		
			933 B
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			47 lines
		
	
	
		
			933 B
		
	
	
	
		
			C
		
	
	
	
| /*
 | |
| FUNCTION
 | |
|         <<clog10>>, <<clog10f>>---complex base-10 logarithm
 | |
| 
 | |
| INDEX
 | |
|         clog10
 | |
| INDEX
 | |
|         clog10f
 | |
| 
 | |
| SYNOPSIS
 | |
|        #define _GNU_SOURCE
 | |
|        #include <complex.h>
 | |
|        double complex clog10(double complex <[z]>);
 | |
|        float complex clog10f(float complex <[z]>);
 | |
| 
 | |
| 
 | |
| DESCRIPTION
 | |
|         These functions compute the complex base-10 logarithm of <[z]>.
 | |
|         <<clog10>> is equivalent to <<clog>>(<[z]>)/<<log>>(10).
 | |
| 
 | |
|         <<clog10f>> is identical to <<clog10>>, except that it performs
 | |
|         its calculations on <<floats complex>>.
 | |
| 
 | |
| RETURNS
 | |
|         The clog10 functions return the complex base-10 logarithm value.
 | |
| 
 | |
| PORTABILITY
 | |
|         <<clog10>> and <<clog10f>> are GNU extensions.
 | |
| 
 | |
| */
 | |
| 
 | |
| #include <complex.h>
 | |
| #include <math.h>
 | |
| 
 | |
| double complex
 | |
| clog10(double complex z)
 | |
| {
 | |
| 	double complex w;
 | |
| 	double p, rr;
 | |
| 
 | |
| 	rr = cabs(z);
 | |
| 	p = log10(rr);
 | |
| 	rr = atan2(cimag(z), creal(z)) * M_IVLN10;
 | |
| 	w = p + rr * I;
 | |
| 	return w;
 | |
| }
 |