-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathExample_Module.cc
46 lines (34 loc) · 1.19 KB
/
Example_Module.cc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
//Example_Module.cc - Basic, non-interactive module for instructional purposes.
// For a more advanced module example, look at Photons.cc, Electrons.cc, or similar.
//
//Programming notes:
// -Do not make items here "const", because they will not show up when loading.
// -Avoid using macro variables here because they will be obliterated during loading.
// -Wrap dynamically-loaded code with extern "C", otherwise C++ compilation will mangle function names, etc.
#include <iostream>
#include <string>
#include <vector>
#include <cmath>
#ifdef __cplusplus
extern "C" {
#endif
std::string MODULE_NAME(__FILE__);
std::string PARTICLE_TYPE("Photon");
int twelve = 12;
void some_void_function(void){
std::cout << "The name of this function is \"" << __PRETTY_FUNCTION__ ;
std::cout << "\" and it lives in the file \"" << __FILE__ << "\"" << std::endl;
return;
}
double some_double_function(double a,double b){
std::cout << "The two numbers received were " << a << " and " << b << std::endl;
return cos(a);
}
std::vector<double> some_vector_function( double *a ){
std::vector<double> outgoing;
outgoing.push_back(*a);
return outgoing;
}
#ifdef __cplusplus
}
#endif