Show
Ignore:
Timestamp:
01/07/11 10:09:42 (13 years ago)
Author:
sindj
Message:

Oprava faktorialu zapornych cisel ve vypoctu integralu v triangulaci. Zbyva opravit nenaplneni podminky v nekterych toprow polyhedronech. JS

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • applications/robust/robustlib.cpp

    r1268 r1269  
    1818                                        triangulation.push_back(new_simplex); 
    1919 
    20                                         if(should_integrate) 
     20                                        int condition_order = ((toprow*)this)->condition_order-1; 
     21                                        if(should_integrate && condition_order-my_emlig->number_of_parameters >= 0) 
    2122                                        { 
    2223                                                emlig* current_emlig; 
     
    6768                                                for(map<double,int>::iterator as_ref = as.begin();as_ref!=as.end();as_ref++) 
    6869                                                { 
    69                                                         int condition_order = ((toprow*)this)->condition_order-1; 
    70  
    7170                                                        double multiplier = det_jacobian; 
    7271                                                        if(a_0!=(*as_ref).first) 
     
    10099                                                                } 
    101100 
    102                                                                 double bracket = fact(condition_order-1-number_of_factors)/fact(as1_order-1)/*/pow((*as_ref).first-a_0,condition_order-1-number_of_factors)*/; 
     101                                                                double facti = fact(0); 
     102 
     103                                                                double bracket = fact(condition_order-number_of_factors)/fact(as1_order-1)/pow((*as_ref).first-a_0,condition_order-number_of_factors); 
    103104                                                                for(int k = 0;k < as1_order-1;k++) 
    104105                                                                { 
    105                                                                         double bracket_factor = pow((double)-1,k+1)*fact(condition_order-2-number_of_factors-k)/fact(as1_order-2-k)/pow((*as_ref).first-a_0,condition_order-2-number_of_factors-k); 
     106                                                                        double bracket_factor = pow((double)-1,k+1)*fact(condition_order-1-number_of_factors-k)/fact(as1_order-2-k)/pow((*as_ref).first-a_0,condition_order-1-number_of_factors-k); 
    106107                                                                         
    107108                                                                        for(set<my_ivec>::iterator combi_ref = this->my_emlig->correction_factors[k].begin();combi_ref!=this->my_emlig->correction_factors[k].end();combi_ref++)