-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.chpl
More file actions
49 lines (42 loc) · 1.04 KB
/
Copy pathmain.chpl
File metadata and controls
49 lines (42 loc) · 1.04 KB
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
46
47
48
49
use gjallarbru;
use List;
config var moduleName: string = 'meinpythonja';
config var functionName: string = 'someFunction';
config var argList: string;
config var nTasks: int = 12;
var gj : gjallarbru.Gjallarbru = new shared gjallarbru.Gjallarbru();
gj.pInit();
// Basic stuff!
gj.runString("print('You know who is a string? Me. I am a string.')");
gj.runString("a = 12");
gj.runString("print(a)");
// Ooooh, look, a multiline string!
var a = "\
a = 24 \
print(a)";
gj.runString(a);
// Look ma, no 'please continue on the next line' indicators!
var b = """
a = 36
print(a)
print(a + 24)
print("oh man!")
""";
gj.runString(b);
// convert our arguments
var arguments: list(string);
writeln(arguments.size, " ", argList);
var i: int = 1;
if argList != "" {
for arg in argList.split(',') {
arguments.append(arg);
i += 1;
}
}
var pSum: [1..nTasks] real;
coforall i in 1..nTasks {
writeln("task ", i);
pSum[i] = gj.runFunction(moduleName, functionName, arguments, i: real);
}
var eltAvg = (+ reduce pSum);
writeln("The sum of all things: ", eltAvg);