CombiningParticlePotentialParsing
Last change
on this file since ff4fff9 was 8c31865, checked in by Frederik Heber <heber@…>, 13 years ago |
Added new class LinkedCellArrayCache that performs the lazy updates on a LinkedCellArray.
- basically, we cache all write operations and perform them first when there
is a read operation that requires an up-to-date structure.
- we cannot do this via the Cacheable pattern was there we always have a return
value of the update structure. It is currently unknown how to initialize a
cached pointer (apart from always checking for this in the update function).
|
-
Property mode
set to
100644
|
File size:
1.1 KB
|
Line | |
---|
1 | /*
|
---|
2 | * LinkedCell_Model_inline.hpp
|
---|
3 | *
|
---|
4 | * Created on: Nov 18, 2011
|
---|
5 | * Author: heber
|
---|
6 | */
|
---|
7 |
|
---|
8 | #ifndef LINKEDCELL_MODEL_INLINE_HPP_
|
---|
9 | #define LINKEDCELL_MODEL_INLINE_HPP_
|
---|
10 |
|
---|
11 | // include config.h
|
---|
12 | #ifdef HAVE_CONFIG_H
|
---|
13 | #include <config.h>
|
---|
14 | #endif
|
---|
15 |
|
---|
16 | #include "LinkedCell_Model_LinkedCellArrayCache.hpp"
|
---|
17 |
|
---|
18 | // have all includes only needed here extra
|
---|
19 | #ifdef HAVE_INLINE
|
---|
20 | #include "CodePatterns/Assert.hpp"
|
---|
21 | #endif
|
---|
22 |
|
---|
23 | /** Returns a reference to the cell indicated by LinkedCell_Model::internal_index.
|
---|
24 | *
|
---|
25 | * \return LinkedCell ref to current cell
|
---|
26 | */
|
---|
27 | #ifdef HAVE_INLINE
|
---|
28 | inline
|
---|
29 | #endif
|
---|
30 | const LinkedCell::LinkedCell& LinkedCell::LinkedCell_Model::getCell(const tripleIndex &index) const
|
---|
31 | {
|
---|
32 | return *(N->getN()(index));
|
---|
33 | }
|
---|
34 |
|
---|
35 |
|
---|
36 | /** Returns size of array for given \a dim.
|
---|
37 | *
|
---|
38 | * @param dim desired dimension
|
---|
39 | * @return size of array along dimension
|
---|
40 | */
|
---|
41 | #ifdef HAVE_INLINE
|
---|
42 | inline
|
---|
43 | #endif
|
---|
44 | LinkedCell::LinkedCellArray::index LinkedCell::LinkedCell_Model::getSize(const size_t dim) const
|
---|
45 | {
|
---|
46 | ASSERT((dim >= 0) && (dim < NDIM),
|
---|
47 | "LinkedCell_Model::getSize() - dimension "
|
---|
48 | +toString(dim)+" is out of bounds.");
|
---|
49 | return N->getN().shape()[dim];
|
---|
50 | }
|
---|
51 |
|
---|
52 |
|
---|
53 | #endif /* LINKEDCELL_MODEL_INLINE_HPP_ */
|
---|
Note:
See
TracBrowser
for help on using the repository browser.