Ignore:
Timestamp:
Dec 14, 2011 3:26:29 PM (12 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:
96814e1
Parents:
5d75d65a
Message:

Re #4 Fix a few model warnings

File:
1 edited

Legend:

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

    r33aea7f r8ff5cb3  
    6969 
    7070    phi = asin(lamda*q/(4.0*pi)); 
    71     phi1 = cdiv(rcmult(phi,one),n_sup); 
    72     alpha = cmult(n_sup,ccos(phi1)); 
    73         alpha2 = cmult(alpha,alpha); 
     71    phi1 = cplx_div(rcmult(phi,one),n_sup); 
     72    alpha = cplx_mult(n_sup,cplx_cos(phi1)); 
     73        alpha2 = cplx_mult(alpha,alpha); 
    7474 
    7575    nnp1=n_sub; 
    76     knp1=csqrt(rcmult(ko2,csub(cmult(nnp1,nnp1),alpha2)));  //nnp1*ko*sin(phinp1) 
     76    knp1=cplx_sqrt(rcmult(ko2,cplx_sub(cplx_mult(nnp1,nnp1),alpha2)));  //nnp1*ko*sin(phinp1) 
    7777    Xnp1=cassign(0.0,0.0); 
    7878    dz = 0.0; 
     
    102102                                } 
    103103                                nn = cassign(1.0-sld_i*pow(lamda,2.0)/(2.0*pi),0.0); 
    104                                 nn2=cmult(nn,nn); 
    105  
    106                                 kn=csqrt(rcmult(ko2,csub(nn2,alpha2)));        //nn*ko*sin(phin) 
    107                                 an=cexp(rcmult(dz,cmult(two,kn))); 
    108  
    109                                 fnm=csub(kn,knp1); 
    110                                 fnp=cadd(kn,knp1); 
    111                                 rn=cdiv(fnm,fnp); 
    112                                 Xn=cmult(an,cdiv(cadd(rn,Xnp1),cadd(one,cmult(rn,Xnp1))));    //Xn=an*((rn+Xnp1*anp1)/(1+rn*Xnp1*anp1)) 
     104                                nn2=cplx_mult(nn,nn); 
     105 
     106                                kn=cplx_sqrt(rcmult(ko2,cplx_sub(nn2,alpha2)));        //nn*ko*sin(phin) 
     107                                an=cplx_exp(rcmult(dz,cplx_mult(two,kn))); 
     108 
     109                                fnm=cplx_sub(kn,knp1); 
     110                                fnp=cplx_add(kn,knp1); 
     111                                rn=cplx_div(fnm,fnp); 
     112                                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)) 
    113113 
    114114                                Xnp1=Xn; 
Note: See TracChangeset for help on using the changeset viewer.