Distributions

Distributions handled by this program can be stored and studied using two kinds of arrays: one-dimensional array and two-dimensional arrays (tables).

One-dimensional arrays - dim1

These are simple arrays which permit to store ordered sets of values.
These arrays can be simple regular arrays, where the keys to access to values are integers starting with 0, or associative arrays (also called maps or hash tables), where the keys can be strings.
This kind of array is abbreviated dim1

Here are examples of distributions stored in dim1 arrays:
Distributions by year
+------------+-------------+------------+-------------+
|    1891    |     1892    |     ...    |     2025    |
+------------+-------------+------------+-------------+
|   177283   |   187633    |     ...    |    20302    |
+------------+-------------+------------+-------------+
Means that there are 177283 dates in 1891, 187633 in 1892 etc.
Distributions by day
+------------+-------------+------------+-------------+
|    01-01   |    01-02    |     ...    |     12-31   |
+------------+-------------+------------+-------------+
|   183547   |   187633    |     ...    |   182667    |
+------------+-------------+------------+-------------+
This is an example of associative array.
Planetary positions
+------------+-------------+------------+-------------+
|      0     |      1      |     ...    |     359     |
+------------+-------------+------------+-------------+
|   145265   |   143657    |     ...    |   148775    |
+------------+-------------+------------+-------------+
We have one such distribution per planet.
Aspects
+------------+-------------+------------+-------------+
|      0     |      1      |     ...    |     359     |
+------------+-------------+------------+-------------+
|   159843   |   155412    |     ...    |   149553    |
+------------+-------------+------------+-------------+
We have one such distribution per couple of planets.
Means that there are 159843 dates with the angle between the two planets is between 0 and 1° etc.
This distribution involves two quantities (the longitudes of planet 1 and planet 2).
As shown below, this can be represented with more details by a table.

Two-dimensional arrays - dim2

As soon as a distribution represents two quantities, it can be also represented by a table or a two-dimensional array.
This gives a more detailed representation of the distribution.
Taking the example of aspects, it can also be represented like that:
      +------------+-------------+------------+-------------+
      |      0     |      1      |     ...    |     359     |
+-----+------------+-------------+------------+-------------+
|  0  |     487    |     470     |     ...    |     450     |
+-----+------------+-------------+------------+-------------+
| ... |    ...     |     ...     |     ...    |     ...     |
+-----+------------+-------------+------------+-------------+
| 359 |     ...    |     ...     |     ...    |     502     |
+-----+------------+-------------+------------+-------------+
It means that there are:
487 dates with the longitude of planet 1 between 0° and 1° and the longitude of planet 2 between 0° and 1°,
470 dates with the longitude of planet 1 between 0° and 1° and the longitude of planet 2 between 1° and 2°
etc.

This kind of array is abbreviated dim2.

It is currently used to represent aspects and interaspects.

Hierarchy

Distributions of type distrib1 (single date) and distrib2 (several dates) use both dim1 and dim2 arrays for their storage.
Each distribution is stored in a csv file.

The program is not (yet?) able to generate distributions expressing the relations between three or more dates.
If the dataset contains more than two dates, the program only generates distributions for dates taken 2 by 2.
For example, for a dataset containing mother, father and child birth dates + wedding dates, the main directories will be:
distributions
    ├── child
    ├── child-wedding
    ├── father
    ├── father-child
    ├── father-wedding
    ├── mother
    ├── mother-child
    ├── mother-father
    ├── mother-wedding
    └── wedding
Distributions of type distrib1 (single date) are in green.
Distributions of type distrib2 (two dates) are in yellow.

This hierarchy is the hierarchy of observed distributions, and is repeated in expected distributions and in each control group.

Many other distributions can be imagined, involving relations between three or more dates, but the program is currently limited to these distributions.