idlmath.h

来自「编译工具」· C头文件 代码 · 共 108 行

H
108
字号
// -*- c++ -*-//                          Package   : omniidl// idlmath.cc               Created on: 1999/10/19//			    Author    : Duncan Grisby (dpg1)////    Copyright (C) 1999 AT&T Laboratories Cambridge////  This file is part of omniidl.////  omniidl is free software; you can redistribute it and/or modify it//  under the terms of the GNU General Public License as published by//  the Free Software Foundation; either version 2 of the License, or//  (at your option) any later version.////  This program 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//  General Public License for more details.////  You should have received a copy of the GNU General Public License//  along with this program; if not, write to the Free Software//  Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA//  02111-1307, USA.//// Description://   //   Floating point maths functions// $Id: idlmath.h,v 1.4.2.3 2002/01/15 16:38:14 dpg1 Exp $// $Log: idlmath.h,v $// Revision 1.4.2.3  2002/01/15 16:38:14  dpg1// On the road to autoconf. Dependencies refactored, configure.ac// written. No makefiles yet.//// Revision 1.4.2.2  2000/10/27 16:31:09  dpg1// Clean up of omniidl dependencies and types, from omni3_develop.//// Revision 1.4.2.1  2000/07/17 10:36:04  sll// Merged from omni3_develop the diff between omni3_0_0_pre3 and omni3_0_0.//// Revision 1.5  2000/07/13 15:25:53  dpg1// Merge from omni3_develop for 3.0 release.//// Revision 1.2  1999/11/02 17:07:26  dpg1// Changes to compile on Solaris.//// Revision 1.1  1999/10/27 14:05:56  dpg1// *** empty log message ***//#ifndef _idlmath_h_#define _idlmath_h_#include <math.h>#include <idlutil.h>#ifdef HAVE_NAN_H#  include <nan.h>#endif#if defined(HAVE_ISINF) && defined(HAVE_ISINFF) && (defined(HAVE_ISINFL) || !defined(HAS_LongDouble))inline IDL_Boolean IdlFPOverflow(IDL_Double f) {  return isinf(f) || isnan(f);}inline IDL_Boolean IdlFPOverflow(IDL_Float f) {  return isinff(f) || isnanf(f);}#  ifdef HAS_LongDoubleinline IDL_Boolean IdlFPOverflow(IDL_LongDouble f) {  return isinfl(f) || isnanl(f);}#  endif#elif defined(HAVE_ISNANORINF)inline IDL_Boolean IdlFPOverflow(IDL_Float f) {  double d = f;  return IsNANorINF(d);}inline IDL_Boolean IdlFPOverflow(IDL_Double f) {  return IsNANorINF(f);}#ifdef HAS_LongDoubleinline IDL_Boolean IdlFPOverflow(IDL_LongDouble f) {  return 0;}#endif#else // No FP overflow detectioninline IDL_Boolean IdlFPOverflow(IDL_Float f) {  return 0;}inline IDL_Boolean IdlFPOverflow(IDL_Double f) {  return 0;}#ifdef HAS_LongDoubleinline IDL_Boolean IdlFPOverflow(IDL_LongDouble f) {  return 0;}#endif#endif#endif // _idlmath_h_

⌨️ 快捷键说明

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