PyPO User Manual
 
Loading...
Searching...
No Matches
InterfaceCPU.h
Go to the documentation of this file.
1#include <iostream>
2#include <vector>
3#include <complex>
4#include <cmath>
5#include <string>
6
7#include "Propagation.h"
8#include "RayTrace.h"
9
10#ifdef _WIN32
11# define PYPO_DLL __declspec(dllexport)
12#else
13# define PYPO_DLL
14#endif
15
16#ifndef __InterfaceCPU_h
17#define __InterfaceCPU_h
18
19/*! \file InterfaceCPU.h
20 \brief Declarations of PO and RT library for CPU.
21
22 Provides double and single precision interface for CPU PO and RT.
23*/
24extern "C"
25{
26 PYPO_DLL void propagateToGrid_JM(c2Bundle *res, reflparams source, reflparams target,
28 c2Bundle *currents,
29 double k, int numThreads, double epsilon,
30 double t_direction);
31
32 PYPO_DLL void propagateToGrid_EH(c2Bundle *res, reflparams source, reflparams target,
34 c2Bundle *currents,
35 double k, int numThreads, double epsilon,
36 double t_direction);
37
38 PYPO_DLL void propagateToGrid_JMEH(c4Bundle *res, reflparams source, reflparams target,
40 c2Bundle *currents,
41 double k, int numThreads, double epsilon,
42 double t_direction);
43
44 PYPO_DLL void propagateToGrid_EHP(c2rBundle *res, reflparams source, reflparams target,
46 c2Bundle *currents,
47 double k, int numThreads, double epsilon,
48 double t_direction);
49
50 PYPO_DLL void propagateToGrid_scalar(arrC1 *res, reflparams source, reflparams target,
52 arrC1 *field,
53 double k, int numThreads, double epsilon,
54 double t_direction);
55
56 PYPO_DLL void propagateToFarField(c2Bundle *res, reflparams source, reflparams target,
58 c2Bundle *currents,
59 double k, int numThreads, double epsilon,
60 double t_direction);
61
62 PYPO_DLL void propagateRays(reflparams ctp, cframe *fr_in, cframe *fr_out,
63 int numThreads, double epsilon, double t0);
64
65 // SINGLE INTERFACE
66 PYPO_DLL void propagateToGridf_JM(c2Bundlef *res, reflparamsf source, reflparamsf target,
68 c2Bundlef *currents,
69 float k, int numThreads, float epsilon,
70 float t_direction);
71
72 PYPO_DLL void propagateToGridf_EH(c2Bundlef *res, reflparamsf source, reflparamsf target,
74 c2Bundlef *currents,
75 float k, int numThreads, float epsilon,
76 float t_direction);
77
78 PYPO_DLL void propagateToGridf_JMEH(c4Bundlef *res, reflparamsf source, reflparamsf target,
80 c2Bundlef *currents,
81 float k, int numThreads, float epsilon,
82 float t_direction);
83
84 PYPO_DLL void propagateToGridf_EHP(c2rBundlef *res, reflparamsf source, reflparamsf target,
86 c2Bundlef *currents,
87 float k, int numThreads, float epsilon,
88 float t_direction);
89
90 PYPO_DLL void propagateToGridf_scalar(arrC1f *res, reflparamsf source, reflparamsf target,
92 arrC1f *field,
93 float k, int numThreads, float epsilon,
94 float t_direction);
95
96 PYPO_DLL void propagateToFarFieldf(c2Bundlef *res, reflparamsf source, reflparamsf target,
98 c2Bundlef *currents,
99 float k, int numThreads, float epsilon,
100 float t_direction);
101}
102
103#endif
PYPO_DLL void propagateToGrid_EH(c2Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction)
Definition InterfaceCPU.cpp:64
PYPO_DLL void propagateToGrid_JM(c2Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction)
Definition InterfaceCPU.cpp:29
PYPO_DLL void propagateToGrid_scalar(arrC1 *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, arrC1 *field, double k, int numThreads, double epsilon, double t_direction)
Definition InterfaceCPU.cpp:171
PYPO_DLL void propagateToGridf_scalar(arrC1f *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, arrC1f *field, float k, int numThreads, float epsilon, float t_direction)
Definition InterfaceCPU.cpp:407
PYPO_DLL void propagateToGridf_EHP(c2rBundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction)
Definition InterfaceCPU.cpp:372
PYPO_DLL void propagateRays(reflparams ctp, cframe *fr_in, cframe *fr_out, int numThreads, double epsilon, double t0)
Definition InterfaceCPU.cpp:236
PYPO_DLL void propagateToFarFieldf(c2Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction)
Definition InterfaceCPU.cpp:442
PYPO_DLL void propagateToGrid_EHP(c2rBundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction)
Definition InterfaceCPU.cpp:136
PYPO_DLL void propagateToGridf_EH(c2Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction)
Definition InterfaceCPU.cpp:300
PYPO_DLL void propagateToGridf_JMEH(c4Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction)
Definition InterfaceCPU.cpp:336
PYPO_DLL void propagateToGridf_JM(c2Bundlef *res, reflparamsf source, reflparamsf target, reflcontainerf *cs, reflcontainerf *ct, c2Bundlef *currents, float k, int numThreads, float epsilon, float t_direction)
Definition InterfaceCPU.cpp:265
PYPO_DLL void propagateToFarField(c2Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction)
Definition InterfaceCPU.cpp:206
PYPO_DLL void propagateToGrid_JMEH(c4Bundle *res, reflparams source, reflparams target, reflcontainer *cs, reflcontainer *ct, c2Bundle *currents, double k, int numThreads, double epsilon, double t_direction)
Definition InterfaceCPU.cpp:100
Functions for PO calculations on CPU.
Functions for RT calculations on CPU.
Definition Structs.h:29
Definition Structs.h:217
Definition Structs.h:42
Definition Structs.h:230
Definition Structs.h:90
Definition Structs.h:278
Definition Structs.h:59
Definition Structs.h:247
Definition Structs.h:149
Definition Structs.h:133
Definition Structs.h:321
Definition Structs.h:111
Definition Structs.h:299