# tree_d_3d.kernels.log_quadtree_moments.log_quadtree_moments_pyccel

*module*

The Pyccel version (CPU) of the ``log_quadtree_moments`` kernel of the Barnes-Hut and FMM solvers.

``log_quadtree_moments_cuda.cu`` next to this file is the CUDA version (GPU) and ``log_quadtree_moments_numpy.py`` the
version for machines without Pyccel, all with the same arguments; the folder's
``__init__.py`` declares the kernel (see :mod:`tree_d_3d.kernels`). The flat
quadtree is described in :mod:`tree_d_3d.flat_tree`.

[View source](https://github.com/max-models/tree-d-3d/blob/devel/src/tree_d_3d/kernels/log_quadtree_moments/log_quadtree_moments_pyccel.py#L1-L1)

## tree_d_3d.kernels.log_quadtree_moments.log_quadtree_moments_pyccel.log_quadtree_moments

*function*

```python
def log_quadtree_moments(pos: float[:, :], charge: float[:], perm: int64[:], node_count: int, node_center: float[:, :], node_start: int64[:], node_end: int64[:], node_qabs: float[:], moment_re: float[:, :], moment_im: float[:, :]) -> None
```

Complex multipole moments a_0 ... a_p of every node.

[View source](https://github.com/max-models/tree-d-3d/blob/devel/src/tree_d_3d/kernels/log_quadtree_moments/log_quadtree_moments_pyccel.py#L13-L51)
