aboutsummaryrefslogtreecommitdiff
path: root/boltzgen/kernel/template/equilibrilize.cpp.mako
diff options
context:
space:
mode:
Diffstat (limited to 'boltzgen/kernel/template/equilibrilize.cpp.mako')
-rw-r--r--boltzgen/kernel/template/equilibrilize.cpp.mako13
1 files changed, 13 insertions, 0 deletions
diff --git a/boltzgen/kernel/template/equilibrilize.cpp.mako b/boltzgen/kernel/template/equilibrilize.cpp.mako
new file mode 100644
index 0000000..9f082a1
--- /dev/null
+++ b/boltzgen/kernel/template/equilibrilize.cpp.mako
@@ -0,0 +1,13 @@
+void equilibrilize(${float_type}* f_next,
+ ${float_type}* f_prev,
+ std::size_t gid)
+{
+ ${float_type}* preshifted_f_next = f_next + gid*${layout.gid_offset()};
+ ${float_type}* preshifted_f_prev = f_prev + gid*${layout.gid_offset()};
+
+% for i, w_i in enumerate(descriptor.w):
+ preshifted_f_next[${layout.pop_offset(i)}] = ${w_i.evalf()};
+ preshifted_f_prev[${layout.pop_offset(i)}] = ${w_i.evalf()};
+% endfor
+}
+