Show
Ignore:
Timestamp:
07/02/09 22:16:05 (15 years ago)
Author:
smidl
Message:

Change in epdf: evallog returns -inf for points out of support. Merger is aware of it now.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • library/bdm/itpp_ext.cpp

    r343 r404  
    6363 
    6464// Gamma 
    65  
    66         Gamma_RNG::Gamma_RNG ( double a, double b ) { 
    67                 setup ( a,b ); 
    68         } 
    69  
    70  
    71         bvec operator& ( const bvec &a, const bvec &b ) { 
    72                 it_assert_debug ( b.size() ==a.size(), "operator&(): Vectors of different lengths" ); 
    73  
    74                 bvec temp ( a.size() ); 
    75                 for ( int i = 0;i < a.size();i++ ) { 
    76                         temp ( i ) = a ( i ) & b ( i ); 
    77                 } 
    78                 return temp; 
    79         } 
    80  
    81         bvec operator| ( const bvec &a, const bvec &b ) { 
    82                 it_assert_debug ( b.size() !=a.size(), "operator&(): Vectors of different lengths" ); 
    83  
    84                 bvec temp ( a.size() ); 
    85                 for ( int i = 0;i < a.size();i++ ) { 
    86                         temp ( i ) = a ( i ) | b ( i ); 
    87                 } 
    88                 return temp; 
    89         } 
    9065#define log std::log 
    9166#define exp std::exp 
     
    9368#define R_FINITE std::isfinite 
    9469 
     70        bvec operator>(const vec &t1, const vec &t2) { 
     71                it_assert_debug(t1.length() == t2.length(), "Vec<>::operator>(): different size of vectors"); 
     72                bvec temp(t1.length()); 
     73                for (int i = 0; i < t1.length(); i++) 
     74                        temp(i) = (t1[i] > t2[i]); 
     75                return temp; 
     76        } 
     77         
     78        bvec operator<(const vec &t1, const vec &t2) { 
     79                it_assert_debug(t1.length() == t2.length(), "Vec<>::operator>(): different size of vectors"); 
     80                bvec temp(t1.length()); 
     81                for (int i = 0; i < t1.length(); i++) 
     82                        temp(i) = (t1[i] < t2[i]); 
     83                return temp; 
     84        } 
     85 
     86 
     87        bvec operator& ( const bvec &a, const bvec &b ) { 
     88                it_assert_debug ( b.size() ==a.size(), "operator&(): Vectors of different lengths" ); 
     89 
     90                bvec temp ( a.size() ); 
     91                for ( int i = 0;i < a.size();i++ ) { 
     92                        temp ( i ) = a ( i ) & b ( i ); 
     93                } 
     94                return temp; 
     95        } 
     96 
     97        bvec operator| ( const bvec &a, const bvec &b ) { 
     98                it_assert_debug ( b.size() !=a.size(), "operator&(): Vectors of different lengths" ); 
     99 
     100                bvec temp ( a.size() ); 
     101                for ( int i = 0;i < a.size();i++ ) { 
     102                        temp ( i ) = a ( i ) | b ( i ); 
     103                } 
     104                return temp; 
     105        } 
     106 
     107//#if 0 
     108        Gamma_RNG::Gamma_RNG ( double a, double b ) { 
     109        setup ( a,b ); 
     110} 
    95111        double  Gamma_RNG::sample() { 
    96112                //A copy of rgamma code from the R package!! 
     
    290306        } 
    291307 
    292  
     308//#endif 
    293309        std::string num2str(double d){ 
    294310                char tmp[20];//that should do