source: sasview/src/sas/sascalc/calculator/c_extensions/librefl.h @ f38d027

Last change on this file since f38d027 was f54e82cf, checked in by Torin Cooper-Bennun <torin.cooper-bennun@…>, 6 years ago

Cherry-pick changes from master for tinycc compatibility (note: tinycc compilation not yet supported fully):

144e032af2 tinycc doesn't return structures, so must pass return structure as pointer
a1daf86c0d hack around broken isfinite/isnan in tinycc
7e82256ecb declare all variables at the start of the block so C89 compilers don't complain

  • Property mode set to 100644
File size: 772 bytes
Line 
1#if !defined(librefl_h)
2#define librefl_h
3
4typedef struct {
5        double re;
6        double im;
7} Cplx;
8
9typedef struct {
10        Cplx a;
11        Cplx b;
12        Cplx c;
13        Cplx d;
14} matrix;
15
16void cassign(Cplx*, double real, double imag);
17
18void cplx_add(Cplx*, Cplx x,Cplx y);
19
20void rcmult(Cplx*, double x,Cplx y);
21
22void cplx_sub(Cplx*, Cplx x,Cplx y);
23
24void cplx_mult(Cplx*, Cplx x,Cplx y);
25
26void cplx_div(Cplx*, Cplx x,Cplx y);
27
28void cplx_exp(Cplx*, Cplx b);
29
30void cplx_sqrt(Cplx*, Cplx z);
31
32void cplx_cos(Cplx*, Cplx b);
33
34double intersldfunc(int fun_type, double n_sub, double i, double nu, double sld_l, double sld_r);
35double interfunc(int fun_type, double n_sub, double i, double sld_l, double sld_r);
36double linePq(int fun_type, double thick, double sld_in, double sld_out,double r, double q);
37#endif
Note: See TracBrowser for help on using the repository browser.