Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/22/10 00:44:01 (14 years ago)
Author:
swagner
Message:

Sorted usings and removed unused usings in entire solution (#1094)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.ExtLibs/HeuristicLab.ALGLIB/2.5.0/ALGLIB-2.5.0/dawson.cs

    r3839 r4068  
    2626*************************************************************************/
    2727
    28 using System;
    2928
    30 namespace alglib
    31 {
    32     public class dawson
    33     {
    34         /*************************************************************************
    35         Dawson's Integral
     29namespace alglib {
     30  public class dawson {
     31    /*************************************************************************
     32    Dawson's Integral
    3633
    37         Approximates the integral
     34    Approximates the integral
    3835
    39                                     x
    40                                     -
    41                              2     | |        2
    42          dawsn(x)  =  exp( -x  )   |    exp( t  ) dt
    43                                  | |
    44                                   -
    45                                   0
     36                                x
     37                                -
     38                         2     | |        2
     39     dawsn(x)  =  exp( -x  )   |    exp( t  ) dt
     40                             | |
     41                              -
     42                              0
    4643
    47         Three different rational approximations are employed, for
    48         the intervals 0 to 3.25; 3.25 to 6.25; and 6.25 up.
     44    Three different rational approximations are employed, for
     45    the intervals 0 to 3.25; 3.25 to 6.25; and 6.25 up.
    4946
    50         ACCURACY:
     47    ACCURACY:
    5148
    52                              Relative error:
    53         arithmetic   domain     # trials      peak         rms
    54            IEEE      0,10        10000       6.9e-16     1.0e-16
     49                         Relative error:
     50    arithmetic   domain     # trials      peak         rms
     51       IEEE      0,10        10000       6.9e-16     1.0e-16
    5552
    56         Cephes Math Library Release 2.8:  June, 2000
    57         Copyright 1984, 1987, 1989, 2000 by Stephen L. Moshier
    58         *************************************************************************/
    59         public static double dawsonintegral(double x)
    60         {
    61             double result = 0;
    62             double x2 = 0;
    63             double y = 0;
    64             int sg = 0;
    65             double an = 0;
    66             double ad = 0;
    67             double bn = 0;
    68             double bd = 0;
    69             double cn = 0;
    70             double cd = 0;
     53    Cephes Math Library Release 2.8:  June, 2000
     54    Copyright 1984, 1987, 1989, 2000 by Stephen L. Moshier
     55    *************************************************************************/
     56    public static double dawsonintegral(double x) {
     57      double result = 0;
     58      double x2 = 0;
     59      double y = 0;
     60      int sg = 0;
     61      double an = 0;
     62      double ad = 0;
     63      double bn = 0;
     64      double bd = 0;
     65      double cn = 0;
     66      double cd = 0;
    7167
    72             sg = 1;
    73             if( (double)(x)<(double)(0) )
    74             {
    75                 sg = -1;
    76                 x = -x;
    77             }
    78             if( (double)(x)<(double)(3.25) )
    79             {
    80                 x2 = x*x;
    81                 an = 1.13681498971755972054E-11;
    82                 an = an*x2+8.49262267667473811108E-10;
    83                 an = an*x2+1.94434204175553054283E-8;
    84                 an = an*x2+9.53151741254484363489E-7;
    85                 an = an*x2+3.07828309874913200438E-6;
    86                 an = an*x2+3.52513368520288738649E-4;
    87                 an = an*x2+-8.50149846724410912031E-4;
    88                 an = an*x2+4.22618223005546594270E-2;
    89                 an = an*x2+-9.17480371773452345351E-2;
    90                 an = an*x2+9.99999999999999994612E-1;
    91                 ad = 2.40372073066762605484E-11;
    92                 ad = ad*x2+1.48864681368493396752E-9;
    93                 ad = ad*x2+5.21265281010541664570E-8;
    94                 ad = ad*x2+1.27258478273186970203E-6;
    95                 ad = ad*x2+2.32490249820789513991E-5;
    96                 ad = ad*x2+3.25524741826057911661E-4;
    97                 ad = ad*x2+3.48805814657162590916E-3;
    98                 ad = ad*x2+2.79448531198828973716E-2;
    99                 ad = ad*x2+1.58874241960120565368E-1;
    100                 ad = ad*x2+5.74918629489320327824E-1;
    101                 ad = ad*x2+1.00000000000000000539E0;
    102                 y = x*an/ad;
    103                 result = sg*y;
    104                 return result;
    105             }
    106             x2 = 1.0/(x*x);
    107             if( (double)(x)<(double)(6.25) )
    108             {
    109                 bn = 5.08955156417900903354E-1;
    110                 bn = bn*x2-2.44754418142697847934E-1;
    111                 bn = bn*x2+9.41512335303534411857E-2;
    112                 bn = bn*x2-2.18711255142039025206E-2;
    113                 bn = bn*x2+3.66207612329569181322E-3;
    114                 bn = bn*x2-4.23209114460388756528E-4;
    115                 bn = bn*x2+3.59641304793896631888E-5;
    116                 bn = bn*x2-2.14640351719968974225E-6;
    117                 bn = bn*x2+9.10010780076391431042E-8;
    118                 bn = bn*x2-2.40274520828250956942E-9;
    119                 bn = bn*x2+3.59233385440928410398E-11;
    120                 bd = 1.00000000000000000000E0;
    121                 bd = bd*x2-6.31839869873368190192E-1;
    122                 bd = bd*x2+2.36706788228248691528E-1;
    123                 bd = bd*x2-5.31806367003223277662E-2;
    124                 bd = bd*x2+8.48041718586295374409E-3;
    125                 bd = bd*x2-9.47996768486665330168E-4;
    126                 bd = bd*x2+7.81025592944552338085E-5;
    127                 bd = bd*x2-4.55875153252442634831E-6;
    128                 bd = bd*x2+1.89100358111421846170E-7;
    129                 bd = bd*x2-4.91324691331920606875E-9;
    130                 bd = bd*x2+7.18466403235734541950E-11;
    131                 y = 1.0/x+x2*bn/(bd*x);
    132                 result = sg*0.5*y;
    133                 return result;
    134             }
    135             if( (double)(x)>(double)(1.0E9) )
    136             {
    137                 result = sg*0.5/x;
    138                 return result;
    139             }
    140             cn = -5.90592860534773254987E-1;
    141             cn = cn*x2+6.29235242724368800674E-1;
    142             cn = cn*x2-1.72858975380388136411E-1;
    143             cn = cn*x2+1.64837047825189632310E-2;
    144             cn = cn*x2-4.86827613020462700845E-4;
    145             cd = 1.00000000000000000000E0;
    146             cd = cd*x2-2.69820057197544900361E0;
    147             cd = cd*x2+1.73270799045947845857E0;
    148             cd = cd*x2-3.93708582281939493482E-1;
    149             cd = cd*x2+3.44278924041233391079E-2;
    150             cd = cd*x2-9.73655226040941223894E-4;
    151             y = 1.0/x+x2*cn/(cd*x);
    152             result = sg*0.5*y;
    153             return result;
    154         }
     68      sg = 1;
     69      if ((double)(x) < (double)(0)) {
     70        sg = -1;
     71        x = -x;
     72      }
     73      if ((double)(x) < (double)(3.25)) {
     74        x2 = x * x;
     75        an = 1.13681498971755972054E-11;
     76        an = an * x2 + 8.49262267667473811108E-10;
     77        an = an * x2 + 1.94434204175553054283E-8;
     78        an = an * x2 + 9.53151741254484363489E-7;
     79        an = an * x2 + 3.07828309874913200438E-6;
     80        an = an * x2 + 3.52513368520288738649E-4;
     81        an = an * x2 + -8.50149846724410912031E-4;
     82        an = an * x2 + 4.22618223005546594270E-2;
     83        an = an * x2 + -9.17480371773452345351E-2;
     84        an = an * x2 + 9.99999999999999994612E-1;
     85        ad = 2.40372073066762605484E-11;
     86        ad = ad * x2 + 1.48864681368493396752E-9;
     87        ad = ad * x2 + 5.21265281010541664570E-8;
     88        ad = ad * x2 + 1.27258478273186970203E-6;
     89        ad = ad * x2 + 2.32490249820789513991E-5;
     90        ad = ad * x2 + 3.25524741826057911661E-4;
     91        ad = ad * x2 + 3.48805814657162590916E-3;
     92        ad = ad * x2 + 2.79448531198828973716E-2;
     93        ad = ad * x2 + 1.58874241960120565368E-1;
     94        ad = ad * x2 + 5.74918629489320327824E-1;
     95        ad = ad * x2 + 1.00000000000000000539E0;
     96        y = x * an / ad;
     97        result = sg * y;
     98        return result;
     99      }
     100      x2 = 1.0 / (x * x);
     101      if ((double)(x) < (double)(6.25)) {
     102        bn = 5.08955156417900903354E-1;
     103        bn = bn * x2 - 2.44754418142697847934E-1;
     104        bn = bn * x2 + 9.41512335303534411857E-2;
     105        bn = bn * x2 - 2.18711255142039025206E-2;
     106        bn = bn * x2 + 3.66207612329569181322E-3;
     107        bn = bn * x2 - 4.23209114460388756528E-4;
     108        bn = bn * x2 + 3.59641304793896631888E-5;
     109        bn = bn * x2 - 2.14640351719968974225E-6;
     110        bn = bn * x2 + 9.10010780076391431042E-8;
     111        bn = bn * x2 - 2.40274520828250956942E-9;
     112        bn = bn * x2 + 3.59233385440928410398E-11;
     113        bd = 1.00000000000000000000E0;
     114        bd = bd * x2 - 6.31839869873368190192E-1;
     115        bd = bd * x2 + 2.36706788228248691528E-1;
     116        bd = bd * x2 - 5.31806367003223277662E-2;
     117        bd = bd * x2 + 8.48041718586295374409E-3;
     118        bd = bd * x2 - 9.47996768486665330168E-4;
     119        bd = bd * x2 + 7.81025592944552338085E-5;
     120        bd = bd * x2 - 4.55875153252442634831E-6;
     121        bd = bd * x2 + 1.89100358111421846170E-7;
     122        bd = bd * x2 - 4.91324691331920606875E-9;
     123        bd = bd * x2 + 7.18466403235734541950E-11;
     124        y = 1.0 / x + x2 * bn / (bd * x);
     125        result = sg * 0.5 * y;
     126        return result;
     127      }
     128      if ((double)(x) > (double)(1.0E9)) {
     129        result = sg * 0.5 / x;
     130        return result;
     131      }
     132      cn = -5.90592860534773254987E-1;
     133      cn = cn * x2 + 6.29235242724368800674E-1;
     134      cn = cn * x2 - 1.72858975380388136411E-1;
     135      cn = cn * x2 + 1.64837047825189632310E-2;
     136      cn = cn * x2 - 4.86827613020462700845E-4;
     137      cd = 1.00000000000000000000E0;
     138      cd = cd * x2 - 2.69820057197544900361E0;
     139      cd = cd * x2 + 1.73270799045947845857E0;
     140      cd = cd * x2 - 3.93708582281939493482E-1;
     141      cd = cd * x2 + 3.44278924041233391079E-2;
     142      cd = cd * x2 - 9.73655226040941223894E-4;
     143      y = 1.0 / x + x2 * cn / (cd * x);
     144      result = sg * 0.5 * y;
     145      return result;
    155146    }
     147  }
    156148}
Note: See TracChangeset for help on using the changeset viewer.