Changeset 2307


Ignore:
Timestamp:
2008-08-03T15:42:43Z (15 years ago)
Author:
peter
Message:

Merge r2292, r2306 from mainline - fix for PR76.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/c08_branch/source/cont_setintensity.cpp

    r2034 r2307  
    217217                                i , rfield.anu[i] , (amean2/amean) , amean2 , amean );*/
    218218                        rfield.anu[i] = (realnum)(amean2/amean);
    219                         /* define array of LOG10( nu(ryd)) */
     219                        rfield.anu2[i] = (realnum)(amean3/amean);
     220                        /* mesh must be strictly monotonically increasing - make it so */
     221                        if( i > 0 && rfield.anu[i] <= rfield.anu[i-1] )
     222                        {
     223                                /* prevent roundoff from allowing i cell to lie below i-1
     224                                 * cell when continuum mesh is very fine. */
     225                                /* use 2*epsilon to protect against unusual rounding modes */
     226                                rfield.anu[i] = rfield.anu[i-1]*(1.f+2.f*FLT_EPSILON);
     227                                rfield.anu2[i] = pow2(rfield.anu[i]);
     228                        }
     229                        ASSERT( rfield.anu[i] > rfield.anu[i-1] );
     230                        /* define array of LOG10( nu(ryd) ) */
    220231                        rfield.anulog[i] = (realnum)log10(rfield.anu[i]);
    221                         if( i )
    222                         {
    223                                 /* prevent roundoff from allowing i cell to lie below i-1
    224                                  * cell when continuum mesh is very fine */
    225                                 rfield.anu[i] = MAX2( rfield.anu[i] , rfield.anu[i-1]*(1.f+FLT_EPSILON) );
    226                                 ASSERT( rfield.anu[i] > rfield.anu[i-1] );
    227                                 rfield.anulog[i] = MAX2( rfield.anulog[i] , rfield.anulog[i-1]*(1.f+FLT_EPSILON) );
    228                                 ASSERT( rfield.anulog[i] > rfield.anulog[i-1] );
    229                         }
    230                         rfield.anu2[i] = (realnum)(amean3/amean);
    231232                }
    232233
Note: See TracChangeset for help on using the changeset viewer.