p4est 2020 HCM Summer School: Loose Ends
Author: Carsten Burstedde

## Notes to self and loose ends

How does this whole thing work!

Terminology: element vs. quadrant. Clarify that only leaves are stored. What is a quadrant? Refer to video lectures.

Use the source: inline doxygen comments, example programs. Grep is your friend. When writing code, use GNU indent via the `p4estindent` script, disabling it by inline comments only in rare and obnoxious cases.

The very basics of working with the code: `p4est` and `p4est_connectivity` objects, loops over local trees and quadrants.

Discuss partitioning and partition-independent checksum.

If you find missing or incorrect documentation, specifically concerning the inline doxygen-style comments, please correct them and write pull requests to the `develop` branch.

C code: there is no separate boolean datatype. We use int, as recommended by the standard, with 0 meaning false and everything else meaning true. Thus, the only safe way of testing for truth is `if (var)` (or, if you insist, `if (var != 0)`). You may technically use `if (var == 0)` to test for falseness but we recommend `if (!var)`. The `NULL` pointer always evaluates to false, but we try to use the explicit test `if (pointer == NULL)` throughout.