Whole document tree
    

Whole document tree

cmath.tcc Source File
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members  

cmath.tcc

Go to the documentation of this file.
00001 // -*- C++ -*- C math library.
00002 
00003 // Copyright (C) 2000 Free Software Foundation, Inc.
00004 //
00005 // This file is part of the GNU ISO C++ Library.  This library is free
00006 // software; you can redistribute it and/or modify it under the
00007 // terms of the GNU General Public License as published by the
00008 // Free Software Foundation; either version 2, or (at your option)
00009 // any later version.
00010 
00011 // This library is distributed in the hope that it will be useful,
00012 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 // GNU General Public License for more details.
00015 
00016 // You should have received a copy of the GNU General Public License along
00017 // with this library; see the file COPYING.  If not, write to the Free
00018 // Software Foundation, 59 Temple Place - Suite 330, Boston, MA 02111-1307,
00019 // USA.
00020 
00021 // As a special exception, you may use this file as part of a free software
00022 // library without restriction.  Specifically, if other files instantiate
00023 // templates or use macros or inline functions from this file, or you compile
00024 // this file and link it with other files to produce an executable, this
00025 // file does not by itself cause the resulting executable to be covered by
00026 // the GNU General Public License.  This exception does not however
00027 // invalidate any other reasons why the executable file might be covered by
00028 // the GNU General Public License.
00029 
00030 // This file was written by Gabriel Dos Reis <gdr@codesourcery.com>
00031 
00032 #ifndef _CPP_BITS_CMATH_TCC
00033 #define _CPP_BITS_CMATH_TCC 1
00034 
00035 namespace std 
00036 {
00037   export template<typename _Tp>
00038     _Tp
00039     __cmath_power(_Tp __x, unsigned int __n)
00040     {
00041       _Tp __y = __n % 2 ? __x : 1;
00042 
00043       while (__n >>= 1)
00044         {
00045           __x = __x * __x;
00046           if (__n % 2)
00047             __y = __y * __x;
00048         }
00049 
00050       return __y;
00051     }
00052 }
00053 
00054 #endif

Generated on Mon Apr 8 03:11:23 2002 for libstdc++-v3 Source by doxygen1.2.15