digraph SeaOfTypes { Byte1 [label="[Byte; 1]", fontsize=10, shape=plaintext, color=lightgrey]; Byte4 [label="[Byte; 4]", fontsize=10, shape=plaintext, color=lightgrey]; Byte8 [label="[Byte; 8]", fontsize=10, shape=plaintext, color=lightgrey]; IEEE754single [label="IEEE-754.single", fontsize=10, shape=plaintext, color=lightgrey]; IEEE754double [label="IEEE-754.double", fontsize=10, shape=plaintext, color=lightgrey]; Real [label="ℝ", fontsize=20, shape=plaintext]; Degrees [label="Degrees", fontsize=18, shape=plaintext]; Turns [label="Turns", fontsize=18, shape=plaintext]; Radians [label="Radians", fontsize=18, shape=plaintext]; Angle [label="Angle", fontsize=20, shape=plaintext]; RealUnit [label="ℝ_[0,1]", fontsize=24, shape=plaintext]; HSV [label="HSV", fontsize=20, shape=plaintext]; U8 [label="machine.UInt8", fontsize=18, shape=plaintext]; Z256 [label="ℤ_256", fontsize=20, shape=plaintext]; Real360 [label="ℝ_[0,360)", fontsize=18, shape=plaintext]; Real1 [label="ℝ_[0,1)", fontsize=18, shape=plaintext]; Real2pi [label="ℝ_[0,2π)", fontsize=18, shape=plaintext]; QuantizedLinear [label="", fontsize=20, shape=plaintext]; QuantizedLinear1 [label="", fontsize=20, shape=plaintext]; QuantizedLinear360 [label="", fontsize=20, shape=plaintext]; QuantizedLinear2pi [label="", fontsize=20, shape=plaintext]; IEEE754single -> Byte4 IEEE754double -> Byte8 Real -> IEEE754single Real -> IEEE754double Real360 -> Real Real1 -> Real Real2pi -> Real Real360 -> QuantizedLinear360 Real1 -> QuantizedLinear1 Real2pi -> QuantizedLinear2pi Degrees -> Real360 Turns -> Real1 Radians -> Real2pi RealUnit -> Real RealUnit -> QuantizedLinear QuantizedLinear -> Z256 QuantizedLinear1 -> Z256 QuantizedLinear360 -> Z256 QuantizedLinear2pi -> Z256 Z256 -> U8 U8 -> Byte1 Angle -> Degrees Angle -> Turns Angle -> Radians HSV -> Angle [label="hue"] HSV -> RealUnit [label="saturation"] HSV -> RealUnit [label="value"] }