Ignore:
Timestamp:
Nov 30, 2011 2:43:17 PM (13 years ago)
Author:
Mathieu Doucet <doucetm@…>
Branches:
master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
Children:
2138c061
Parents:
e161fac
Message:

Re #5 fixing samsmodels compilation on MSVC

File:
1 edited

Legend:

Unmodified
Added
Removed
  • sansmodels/src/sans/models/c_extensions/pearlnecklace.c

    r9cc3da6 r890ac7f1  
    3737        //total volume 
    3838        double tot_vol; 
    39         tot_vol = num_strings * string_vol; 
     39  //each masses 
     40  double m_r= contrast_string * string_vol; 
     41  double m_s= contrast_pearl * pearl_vol; 
     42  double psi; 
     43  double gamma; 
     44  double beta; 
     45  //form factors 
     46  double sss; //pearls 
     47  double srr; //strings 
     48  double srs; //cross 
     49  double A_s; 
     50  double srr_1; 
     51  double srr_2; 
     52  double srr_3; 
     53  double form_factor; 
     54 
     55  tot_vol = num_strings * string_vol; 
    4056        tot_vol += num_pearls * pearl_vol; 
    4157 
    42         //each masses 
    43         double m_r= contrast_string * string_vol; 
    44         double m_s= contrast_pearl * pearl_vol; 
    45  
    4658        //sine functions of a pearl 
    47         double psi; 
    4859        psi = sin(q*radius); 
    4960        psi -= q * radius * cos(q * radius); 
     
    5263 
    5364        // Note take only 20 terms in Si series: 10 terms may be enough though. 
    54         double gamma; 
    5565        gamma = Si(q* edge_separation); 
    5666        gamma /= (q* edge_separation); 
    57         double beta; 
    5867        beta = Si(q * (edge_separation + radius)); 
    5968        beta -= Si(q * radius); 
    6069        beta /= (q* edge_separation); 
    6170 
    62         //form factors 
    63         double sss; //pearls 
    64         double srr; //strings 
    65         double srs; //cross 
    6671        // center to center distance between the neighboring pearls 
    67         double A_s = edge_separation + 2.0 * radius; 
     72        A_s = edge_separation + 2.0 * radius; 
    6873 
    6974        // form factor for num_pearls 
     
    7681 
    7782        // form factor for num_strings (like thin rods) 
    78         double srr_1; 
    7983        srr_1 = -pow(sinc(q*edge_separation/2.0), 2); 
    8084 
    8185        srr_1 += 2.0 * gamma; 
    8286        srr_1 *= num_strings; 
    83         double srr_2; 
    8487        srr_2 = 2.0/(1.0-sinc(q*A_s)); 
    8588        srr_2 *= num_strings; 
    8689        srr_2 *= pow(beta, 2); 
    87         double srr_3; 
    8890        srr_3 = 1.0 - pow(sinc(q*A_s), num_strings); 
    8991        srr_3 /= pow((1.0-sinc(q*A_s)), 2); 
     
    104106        srs *= (m_r * m_s * beta * psi); 
    105107 
    106         double form_factor; 
    107108        form_factor = sss + srr + srs; 
    108109        form_factor /= (tot_vol * 1.0e-8); // norm by volume and A^-1 to cm^-1 
Note: See TracChangeset for help on using the changeset viewer.