aboutsummaryrefslogtreecommitdiff
path: root/boltzgen/kernel/memory/layout/SOA.py
blob: adb5200d2bec6b4714c248f493dea012f74cfa93 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class SOA:
    def __init__(self, descriptor, index, geometry):
        self.descriptor = descriptor
        self.index    = index(geometry)
        self.geometry = geometry

    def cell_preshift(self, gid):
        return gid

    def pop_offset(self, i, padding = 0):
        return i * (self.geometry.volume + padding)

    def neighbor_offset(self, c_i):
        return self.index.neighbor(c_i)