mirror of
git://sourceware.org/git/newlib-cygwin.git
synced 2025-01-15 19:09:58 +08:00
b9e7cd9a84
(cimagl): Add prototype. (creall): Add prototype. * libc/include/ieeefp.h: Include float.h. (EXT_EXPBITS, EXT_FRACHBITS, EXT_FRACLBITS) (EXT_EXP_INFNAN. EXT_EXP_BIAS, EXT_FRACBITS): Define. (struct ieee_ext, union ieee_ext_u): New types for long double support. * libc/include/math.h (finitel): Add prototype. (hypotl): Add prototype. (sqrtl): Add prototype. * libm/common/Makefile.am (lsrc): Add sl_finite.c. * libm/common/Makefile.in: Regenerate. * libm/common/fdlibm.h (__ieee754_hypotl): Add prototype. * libm/common/hypotl.c (hypotl): Add implementation for when long double is larger than double. * libm/common/sqrtl.c (sqrtl): Likewise. * libm/common/sl_finite.c: New file. Adds implementation of the finitel function. * libm/complex/Makefile.am (lsrc): Define. (libcomplex_la_SOURCES): Add lsrc. (lib_a_SOURCES): Add lsrc. * libm/complex/Makefile.in: Regenerate. * libm/complex/cabs.c: Add documentation of cabsl function. * libm/complex/cimag.c: Add documentation of cimagl function. * libm/complex/creall.c: Add documentation of creall function. * libm/complex/cabsl.c: New file. Adds implementation of the cabsl function. * libm/complex/cimagl.c: New file. Adds implementation of the cimagl function. * libm/complex/creall.c: New file. Adds implementation of the creall function. * libm/math/Makefile.am (lsrc): Define. (libmath_la_SOURCES): Add lsrc. (lib_a_SOURCES): Add lsrc. * libm/math/Makefile.in: Regenerate. * libm/math/el_hypot.c: New file. Adds implementation of the __ieee754_hypotl function.
60 lines
1.2 KiB
C
60 lines
1.2 KiB
C
/* $NetBSD: cimag.c,v 1.2 2010/09/15 16:11:29 christos Exp $ */
|
|
|
|
/*
|
|
* Written by Matthias Drochner <drochner@NetBSD.org>.
|
|
* Public domain.
|
|
*
|
|
* imported and modified include for newlib 2010/10/03
|
|
* Marco Atzeri <marco_atzeri@yahoo.it>
|
|
*/
|
|
|
|
/*
|
|
FUNCTION
|
|
<<cimag>>, <<cimagf>>, <<cimagl>>---imaginary part
|
|
|
|
INDEX
|
|
cimag
|
|
INDEX
|
|
cimagf
|
|
INDEX
|
|
cimagl
|
|
|
|
ANSI_SYNOPSIS
|
|
#include <complex.h>
|
|
double cimag(double complex <[z]>);
|
|
float cimagf(float complex <[z]>);
|
|
long double cimagl(long double complex <[z]>);
|
|
|
|
|
|
DESCRIPTION
|
|
These functions compute the imaginary part of <[z]>.
|
|
|
|
<<cimagf>> is identical to <<cimag>>, except that it performs
|
|
its calculations on <<float complex>>.
|
|
|
|
<<cimagl>> is identical to <<cimag>>, except that it performs
|
|
its calculations on <<long double complex>>.
|
|
|
|
RETURNS
|
|
The cimag* functions return the imaginary part value (as a real).
|
|
|
|
PORTABILITY
|
|
<<cimag>>, <<cimagf>> and <<cimagl>> are ISO C99
|
|
|
|
QUICKREF
|
|
<<cimag>>, <<cimagf>> and <<cimagl>> are ISO C99
|
|
|
|
*/
|
|
|
|
|
|
#include <complex.h>
|
|
#include "../common/fdlibm.h"
|
|
|
|
double
|
|
cimag(double complex z)
|
|
{
|
|
double_complex w = { .z = z };
|
|
|
|
return (IMAG_PART(w));
|
|
}
|