⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 complex.h

📁 Newlib 嵌入式 C库 标准实现代码
💻 H
字号:
/* Copyright (C) 1997, 1998, 1999, 2000 Free Software Foundation, Inc.   This file is part of the GNU C Library.   The GNU C Library is free software; you can redistribute it and/or   modify it under the terms of the GNU Lesser General Public   License as published by the Free Software Foundation; either   version 2.1 of the License, or (at your option) any later version.   The GNU C Library is distributed in the hope that it will be useful,   but WITHOUT ANY WARRANTY; without even the implied warranty of   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU   Lesser General Public License for more details.   You should have received a copy of the GNU Lesser General Public   License along with the GNU C Library; if not, write to the Free   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA   02111-1307 USA.  *//* *	ISO C99:  7.3 Complex arithmetic	<complex.h> */#ifndef _COMPLEX_H#define _COMPLEX_H	1#include <sys/types.h>#include <features.h>__BEGIN_DECLS#define __CONCAT(x,y) x ## y/* We might need to add support for more compilers here.  But since ISO   C99 is out hopefully all maintained compilers will soon provide the data   types `float complex' and `double complex'.  */#if __GNUC_PREREQ (2, 7) && !__GNUC_PREREQ (2, 97)# define _Complex __complex__#endif#define complex		_Complex/* Narrowest imaginary unit.  This depends on the floating-point   evaluation method.   XXX This probably has to go into a gcc related file.  */#define _Complex_I	(__extension__ 1.0iF)/* Another more descriptive name is `I'.   XXX Once we have the imaginary support switch this to _Imaginary_I.  */#undef I#define I _Complex_I/* The file <bits/cmathcalls.h> contains the prototypes for all the   actual math functions.  These macros are used for those prototypes,   so we can easily declare each function as both `name' and `__name',   and can declare the float versions `namef' and `__namef'.  */#define __MATHCALL(function, args)	\  __MATHDECL (_Mdouble_complex_,function, args)#define __MATHDECL(type, function, args) \  __MATHDECL_1(type, function, args); \  __MATHDECL_1(type, __CONCAT(__,function), args)#define __MATHDECL_1(type, function, args) \  extern type __MATH_PRECNAME(function) args __THROW#define _Mdouble_ 		double#define __MATH_PRECNAME(name)	name#include <cmathcalls.h>#undef	_Mdouble_#undef	__MATH_PRECNAME/* Now the float versions.  */#ifndef _Mfloat_# define _Mfloat_		float#endif#define _Mdouble_ 		_Mfloat_#ifdef __STDC__# define __MATH_PRECNAME(name)	name##f#else# define __MATH_PRECNAME(name)	name/**/f#endif#include <cmathcalls.h>#undef	_Mdouble_#undef	__MATH_PRECNAME#if 0/* And the long double versions.  It is non-critical to define them   here unconditionally since `long double' is required in ISO C99.  */#if __STDC__ - 0 || __GNUC__ - 0 && !defined __NO_LONG_DOUBLE_MATH# ifndef _Mlong_double_#  define _Mlong_double_	long double# endif# define _Mdouble_ 		_Mlong_double_# ifdef __STDC__#  define __MATH_PRECNAME(name)	name##l# else#  define __MATH_PRECNAME(name)	name/**/l# endif# include <cmathcalls.h>#endif#endif#undef	_Mdouble_#undef	__MATH_PRECNAME#undef	__MATHDECL_1#undef	__MATHDECL#undef	__MATHCALL__END_DECLS#endif /* complex.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -