Changeset 8ff5cb3 in sasview for sansmodels/src/sans/models/c_extensions/refl_adv.c
- Timestamp:
- Dec 14, 2011 3:26:29 PM (12 years ago)
- 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:
- 96814e1
- Parents:
- 5d75d65a
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
sansmodels/src/sans/models/c_extensions/refl_adv.c
ra24f530 r8ff5cb3 83 83 84 84 phi = asin(lamda*q/(4.0*pi)); 85 phi1 = c div(rcmult(phi,one),n_sup);86 alpha = c mult(n_sup,ccos(phi1));87 alpha2 = c mult(alpha,alpha);85 phi1 = cplx_div(rcmult(phi,one),n_sup); 86 alpha = cplx_mult(n_sup,cplx_cos(phi1)); 87 alpha2 = cplx_mult(alpha,alpha); 88 88 89 89 nnp1=n_sub; 90 knp1=c sqrt(rcmult(ko2,csub(cmult(nnp1,nnp1),alpha2))); //nnp1*ko*sin(phinp1)90 knp1=cplx_sqrt(rcmult(ko2,cplx_sub(cplx_mult(nnp1,nnp1),alpha2))); //nnp1*ko*sin(phinp1) 91 91 Xnp1=cassign(0.0,0.0); 92 92 dz = 0.0; … … 124 124 } 125 125 nn = cassign(1.0-sld_i*pow(lamda,2.0)/(2.0*pi),pow(lamda,2.0)/(2.0*pi)*sldim_i); 126 nn2=c mult(nn,nn);127 128 kn=c sqrt(rcmult(ko2,csub(nn2,alpha2))); //nn*ko*sin(phin)129 an=c exp(rcmult(dz,cmult(two,kn)));130 131 fnm=c sub(kn,knp1);132 fnp=c add(kn,knp1);133 rn=c div(fnm,fnp);134 Xn=c mult(an,cdiv(cadd(rn,Xnp1),cadd(one,cmult(rn,Xnp1)))); //Xn=an*((rn+Xnp1*anp1)/(1+rn*Xnp1*anp1))126 nn2=cplx_mult(nn,nn); 127 128 kn=cplx_sqrt(rcmult(ko2,cplx_sub(nn2,alpha2))); //nn*ko*sin(phin) 129 an=cplx_exp(rcmult(dz,cplx_mult(two,kn))); 130 131 fnm=cplx_sub(kn,knp1); 132 fnp=cplx_add(kn,knp1); 133 rn=cplx_div(fnm,fnp); 134 Xn=cplx_mult(an,cplx_div(cplx_add(rn,Xnp1),cplx_add(one,cplx_mult(rn,Xnp1)))); //Xn=an*((rn+Xnp1*anp1)/(1+rn*Xnp1*anp1)) 135 135 136 136 Xnp1=Xn;
Note: See TracChangeset
for help on using the changeset viewer.