Skip to content

neatogen: do intermediate 'sep', 'esep' calculations on 'double'

Point positions were being stored as floats within the expand_t struct, but then primarily used in computation with doubles. This meant unnecessary loss of precision was occurring. This change is arguably a fix, as sep and esep are documented to have double type¹ so users would reasonably expect calculations on them to happen in double space. This change squashes 8 -Wfloat-conversion/-Wconversion warnings.

¹ https://graphviz.org/docs/attrs/sep/

Merge request reports