Xyce  6.1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
N_DEV_LTRA_Faddeeva.h
Go to the documentation of this file.
1 //-------------------------------------------------------------------------
2 // Copyright Notice
3 //
4 // Copyright 2002 Sandia Corporation. Under the terms
5 // of Contract DE-AC04-94AL85000 with Sandia Corporation, the U.S.
6 // Government retains certain rights in this software.
7 //
8 // Xyce(TM) Parallel Electrical Simulator
9 // Copyright (C) 2002-2014 Sandia Corporation
10 //
11 // This program is free software: you can redistribute it and/or modify
12 // it under the terms of the GNU General Public License as published by
13 // the Free Software Foundation, either version 3 of the License, or
14 // (at your option) any later version.
15 //
16 // This program is distributed in the hope that it will be useful,
17 // but WITHOUT ANY WARRANTY; without even the implied warranty of
18 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 // GNU General Public License for more details.
20 //
21 // You should have received a copy of the GNU General Public License
22 // along with this program. If not, see <http://www.gnu.org/licenses/>.
23 //-------------------------------------------------------------------------
24 
25 //-------------------------------------------------------------------------
26 // Filename : $RCSfile: N_DEV_LTRA_Faddeeva.h,v $
27 //
28 // Purpose :
29 //
30 // Special Notes : This file is, at present, only required by Windows
31 // builds because of the Intel compilers on that
32 // platform not putting erfc() in the standard math
33 // library.
34 //
35 // Creator : Gary Hennigan
36 //
37 // Creation Date : 12/7/2012
38 //
39 // Revision Information:
40 // ---------------------
41 //
42 // Revision Number: $Revision: 1.10 $
43 //
44 // Revision Date : $Date: 2014/03/19 17:23:29 $
45 //
46 // Current Owner : $Author: tvrusso $
47 //-------------------------------------------------------------------------
48 
49 // Copyright (c) 2012, 2013 Massachusetts Institute of Technology
50 //
51 // Permission is hereby granted, free of charge, to any person obtaining
52 // a copy of this software and associated documentation files (the
53 // "Software"), to deal in the Software without restriction, including
54 // without limitation the rights to use, copy, modify, merge, publish,
55 // distribute, sublicense, and/or sell copies of the Software, and to
56 // permit persons to whom the Software is furnished to do so, subject to
57 // the following conditions:
58 //
59 // The above copyright notice and this permission notice shall be
60 // included in all copies or substantial portions of the Software.
61 //
62 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
63 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
64 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
65 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
66 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
67 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
68 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
69 //
70 
71 // Available at: http://ab-initio.mit.edu/Faddeeva
72 
73 // Header file for Faddeeva.cc; see that file for more information.
74 
75 #ifndef N_DEV_LTRA_Faddeeva_h
76 #define N_DEV_LTRA_Faddeeva_h
77 
78 #include <complex>
79 
80 namespace Xyce {
81 namespace Device {
82 namespace Faddeeva {
83 
84 // compute erfcx(z) = exp(z^2) erfc(z)
85 extern double erfcx(double x); // special case for real x
86 
87 // compute erf(z), the error function of complex arguments
88 extern double erf(double x); // special case for real x
89 
90 // compute erfc(z) = 1 - erf(z), the complementary error function
91 extern double erfc(double x); // special case for real x
92 
93 } // namespace Faddeeva
94 } // namespace Device
95 } // namespace Xyce
96 
97 #endif // N_DEV_LTRA_Faddeeva_h