Changeset 2700


Ignore:
Timestamp:
01/30/12 03:38:07 (4 months ago)
Author:
joni
Message:

fix: gcc/c++ compatibility issues

Location:
simo/trunk/src/models/Finland/c
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • simo/trunk/src/models/Finland/c/DistributionmodelLibrary.c

    r2697 r2700  
    458458        int i; 
    459459        double low_boundary, high_boundary, low_mass, high_mass, stem_number, left_out; 
    460         //double dist_2[class_count][2];     
     460#ifdef __cplusplus 
    461461    double** dist_2 = NULL; 
    462462    dist_2 = new double*[class_count]; 
     
    467467        } 
    468468    } 
     469#else 
     470    double dist_2[class_count][2]; 
     471#endif 
    469472     
    470473        left_out = 0; 
     
    539542                class_count_new = 3; 
    540543        } 
    541      
     544#ifdef __cplusplus 
    542545    for (int i=0; i < class_count; i++) { 
    543546        delete[] dist_2[i]; 
     
    546549    delete[] dist_2; 
    547550    dist_2 = NULL; 
    548      
     551#endif 
    549552        return class_count_new; 
    550553} 
     
    562565        int i; 
    563566        double low_boundary, high_boundary, low_mass, high_mass, stem_number, left_out; 
    564         //double dist_2[class_count][2]; 
     567#ifdef __cplusplus 
    565568    double** dist_2 = NULL; 
    566569    dist_2 = new double*[class_count]; 
     
    571574        } 
    572575    } 
     576#else 
     577    double dist_2[class_count][2]; 
     578#endif 
    573579     
    574580        left_out = 0; 
     
    660666                class_count_new = 3; 
    661667        }     
     668#ifdef __cplusplus 
    662669    for (int i=0; i < class_count; i++) { 
    663670        delete[] dist_2[i]; 
     
    666673    delete[] dist_2; 
    667674    dist_2 = NULL; 
     675#endif 
    668676        return class_count_new; 
    669677} 
     
    680688        int i; 
    681689        double low_boundary, high_boundary, low_mass, high_mass, stem_number, N_calc, left_out; 
    682         //double dist_2[class_count][2]; 
     690 
     691#ifdef __cplusplus 
    683692    double** dist_2 = NULL; 
    684693    dist_2 = new double*[class_count]; 
     
    689698        } 
    690699    } 
     700#else 
     701    double dist_2[class_count][2]; 
     702#endif 
    691703     
    692704    N_calc = 0; 
     
    786798                class_count_new = 3; 
    787799        }     
     800#ifdef __cplusplus 
    788801    for (int i=0; i < class_count; i++) { 
    789802        delete[] dist_2[i]; 
     
    792805    delete[] dist_2; 
    793806    dist_2 = NULL; 
     807#endif 
    794808        return class_count_new; 
    795809         
     
    835849        int i;   
    836850        double cur_dbh, cur_N, low_boundary, high_boundary, low_mass, high_mass, stem_number, left_out; 
    837         //double dist_2[class_count][2]; 
     851 
     852#ifdef __cplusplus 
    838853    double** dist_2 = NULL; 
    839854    dist_2 = new double*[class_count]; 
     
    844859        } 
    845860    } 
     861#else 
     862    double dist_2[class_count][2]; 
     863#endif 
    846864     
    847865        left_out = 0; 
     
    922940                class_count_new = 3; 
    923941        }     
     942#ifdef __cplusplus 
    924943    for (int i=0; i < class_count; i++) { 
    925944        delete[] dist_2[i]; 
     
    928947    delete[] dist_2; 
    929948    dist_2 = NULL; 
     949#endif 
    930950        return class_count_new; 
    931951} 
     
    32253245        double low_boundary, high_boundary, low_mass, high_mass, stem_number, left_out; 
    32263246        double sum_ppa, sum_ppa_d, ppa, ppa_d, D_g, step, counter1, counter2, counter3; 
    3227         //double dist_2[class_count][3]; 
    3228  
     3247#ifdef __cplusplus 
    32293248    double** dist_2 = NULL; 
    32303249    dist_2 = new double*[class_count]; 
     
    32353254        } 
    32363255    } 
    3237      
     3256#else 
     3257    double dist_2[class_count][3]; 
     3258#endif 
    32383259        left_out = 0; 
    32393260        counter1 = 0; 
     
    34313452                } 
    34323453        }     
    3433      
     3454#ifdef __cplusplus 
    34343455    for (int i=0; i < class_count; i++) { 
    34353456        delete[] dist_2[i]; 
     
    34383459    delete[] dist_2; 
    34393460    dist_2 = NULL; 
    3440      
     3461#endif 
    34413462        return class_count_new; 
    34423463         
     
    35553576        double low_boundary, high_boundary, low_mass, high_mass, stem_number, left_out; 
    35563577    double sum_ppa, sum_ppa_d, ppa, ppa_d, D_g, step; 
    3557     //double dist_2[class_count][3]; 
    3558  
     3578    // 
     3579#ifdef __cplusplus 
    35593580    double** dist_2 = NULL; 
    35603581    dist_2 = new double*[class_count]; 
     
    35653586        } 
    35663587    } 
     3588#else 
     3589    double dist_2[class_count][3]; 
     3590#endif 
    35673591         
    35683592        left_out = 0; 
     
    37003724                } 
    37013725        } 
    3702      
     3726 
     3727#ifdef __cplusplus 
    37033728    for (int i=0; i < class_count; i++) { 
    37043729        delete[] dist_2[i]; 
     
    37073732    delete[] dist_2; 
    37083733    dist_2 = NULL; 
     3734#endif 
    37093735     
    37103736        return class_count_new; 
     
    37933819        double c = exp(-2.3205+0.0744*H_gM-0.0469*H_dom+0.2296*log(N)+1.2869/log(H_dom/H_gM+0.4)); 
    37943820        double h0 = b * pow( -log( 1.0 - 0.000000000000001 ), (1 / c)); 
    3795         double h100 = b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtälö? 
     3821        double h100 = b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtᅵlᅵ? 
    37963822 
    37973823        // how many height classes (??????) 
     
    38653891        double c = exp(-2.3205+0.0744*H_gM-0.0469*H_dom+0.2296*log(N)+1.2869/log(H_dom/H_gM+0.4)); 
    38663892        double h0 = b * pow( -log( 1.0 - 0.000000000000001 ), (1 / c)); 
    3867         double h100 = b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtälö? 
     3893        double h100 = b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtᅵlᅵ? 
    38683894 
    38693895        // how many height classes (??????) 
     
    40064032                h0 = b * pow( -log( 0 + 0.000000000000001 ), (1 / c)); 
    40074033        } 
    4008         double h100 = a + b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtälö? 
     4034        double h100 = a + b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtᅵlᅵ? 
    40094035 
    40104036        // how many height classes (??????) 
     
    40274053        return ret; 
    40284054 
    4029         //Skaalaus siten että mitattu H_ari toteutuu: kerroin=mitattu H_ari/jakaumasta laskettu H_ari. Siis jokaista pituutta  
     4055        //Skaalaus siten ettᅵ mitattu H_ari toteutuu: kerroin=mitattu H_ari/jakaumasta laskettu H_ari. Siis jokaista pituutta  
    40304056        //korjataan kertoimella! 
    40314057} 
     
    40584084                h0 = b * pow( -log( 0 + 0.000000000000001 ), (1 / c)); 
    40594085        } 
    4060         double h100 = a + b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtälö? 
     4086        double h100 = a + b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtᅵlᅵ? 
    40614087 
    40624088        // how many height classes (??????) 
     
    45734599        double c = exp(-2.4203+0.0895*H_gM-0.0637*H_dom+0.251*log(N)+1.2707/log(H_dom/H_gM+0.4)); 
    45744600        double h0 = b * pow( -log( 0 + 0.000000000000001 ), (1 / c)); 
    4575         double h100 = b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtälö? 
     4601        double h100 = b * pow( -log( 1.0 - 0.999999999999999 ), (1 / c)); // HUOM! Weibull-jakauman prosenttipistejakauman yhtᅵlᅵ? 
    45764602 
    45774603        // how many height classes (??????) 
  • simo/trunk/src/models/Finland/c/make_dll.py

    r2697 r2700  
    3636        for filename in filenames[1:]: 
    3737            print "Compiling %s..." % filename 
    38             os.system(' '.join(('gcc', fpic, '-c', dmode, posix_source, 
    39                                 '%s.h' % filename, '%s.c' % filename))) 
     38            to_run = ' '.join(('gcc', fpic, '-c', dmode, posix_source, 
     39                                '%s.h' % filename, '%s.c' % filename)) 
     40            print to_run 
     41            os.system(to_run) 
    4042            input=' '.join((input, '%s.o' % filename)) 
    4143        print "output =", dllname 
Note: See TracChangeset for help on using the changeset viewer.