kspread Library API Documentation

kcalctype.h

00001 /*
00002     $Id: kcalctype.h 212185 2003-03-07 22:11:39Z waba $
00003 
00004     KCalc, a scientific calculator for the X window system using the
00005     Qt widget libraries, available at no cost at http://www.troll.no
00006    
00007     Copyright (C) 1996 Bernd Johannes Wuebben
00008                        wuebben@math.cornell.edu
00009     
00010     This program is free software; you can redistribute it and/or modify
00011     it under the terms of the GNU General Public License as published by
00012     the Free Software Foundation; either version 2 of the License, or
00013     (at your option) any later version.
00014 
00015     This program is distributed in the hope that it will be useful,
00016     but WITHOUT ANY WARRANTY; without even the implied warranty of
00017     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00018     GNU General Public License for more details.
00019 
00020     You should have received a copy of the GNU General Public License
00021     along with this program; if not, write to the Free Software
00022     Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00023 
00024 */
00025 
00026 #ifdef HAVE_CONFIG_H
00027 #include "config.h"
00028 #endif
00029 
00030 #ifndef KCALC_TYPE_H
00031 #define KCALC_TYPE_H
00032 
00033 // The following for all the poor devels out there who don't have long double math.
00034 // I guess it's time to switch to LINUX guys .....
00035 
00036 // Undefine HAVE_LONG_DOUBLE for Beta 4 since RedHat 5.0 comes with a borken
00037 // glibc
00038 
00039 #ifdef HAVE_LONG_DOUBLE
00040 #undef HAVE_LONG_DOUBLE
00041 #endif
00042 
00043 #ifdef HAVE_LONG_DOUBLE
00044 
00045 /* should be detected by autoconf and defined in config.h
00046    Be carefull when modifying these lines. HAVE_LONG_DOUBLE
00047    is used all over kcalc's sources to determine whether 
00048    long double of double is the fundamental data type for kcalc*/
00049 
00050 
00051 
00052 #define CALCAMNT        long double
00053 #else
00054 #define CALCAMNT        double
00055 #endif
00056 
00057 
00058 #ifdef HAVE_LONG_DOUBLE
00059 #define FABS(X)     fabsl(X)
00060 #define MODF(X,Y)       modfl(X,Y)
00061 #define FMOD(X,Y)       fmodl(X,Y)
00062 #define SIN(X)      sinl(X)
00063 #define ASIN(X)     asinl(X)
00064 #define SINH(X)     sinhl(X)
00065 #define ASINH(X)    asinhl(X)
00066 #define COS(X)      cosl(X)
00067 #define COSH(X)     coshl(X)
00068 #define ACOS(X)     acosl(X)
00069 #define ACOSH(X)    acoshl(X)
00070 #define TAN(X)      tanl(X)
00071 #define TANH(X)     tanhl(X)
00072 #define ATAN(X)     atanl(X)
00073 #define ATANH(X)    atanhl(X)
00074 #define EXP(X)      expl(X)
00075 #define POW(X,Y)    powl(X,Y)
00076 #define LOG(X)      logl(X)
00077 #define LOG_TEN(X)  log10l(X)
00078 #define SQRT(X)     sqrtl(X)
00079 #else
00080 #define FABS(X)     fabs(X)
00081 #define MODF(X,Y)       modf(X,Y)
00082 #define FMOD(X,Y)       fmod(X,Y)
00083 #define SIN(X)      sin(X)
00084 #define ASIN(X)     asin(X)
00085 #define SINH(X)     sinh(X)
00086 #define ASINH(X)    asinh(X)
00087 #define COS(X)      cos(X)
00088 #define COSH(X)     cosh(X)
00089 #define ACOS(X)     acos(X)
00090 #define ACOSH(X)    acosh(X)
00091 #define TAN(X)      tan(X)
00092 #define TANH(X)     tanh(X)
00093 #define ATAN(X)     atan(X)
00094 #define ATANH(X)    atanh(X)
00095 #define EXP(X)      exp(X)
00096 #define POW(X,Y)    pow(X,Y)
00097 #define LOG(X)      log(X)
00098 #define LOG_TEN(X)  log10(X)
00099 #define SQRT(X)     sqrt(X)
00100 #endif
00101 
00102 
00103 #endif 
KDE Logo
This file is part of the documentation for kspread Library Version 1.4.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Mon Feb 13 09:42:46 2006 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003