Skip to content

sfdp Unix tree

Engine
sfdp
Command, both sides
dot -Ksfdp -Tsvg input.gv
Features
multilevelportable-math difference
Result
identical on macOSdiffers under portable math

This sample is here because it differs: under the portable math library used on Linux and in WASM, sfdp's multilevel layout turns last-bit differences in pow, sin or cos into a different drawing. The viewer compares the macOS build, which matches C; the live check below runs the portable build in your browser and can load its output into the viewer. Math off macOS

Comparing…
C Graphviz 16.1.0 output, cyan plategraphviz-pure, native macOS build output, magenta plate

C onlyport onlyboth: in register

Input

unix.gv
/* courtesy Ian Darwin and Geoff Collyer, Softquad Inc. */
digraph unix {
size="6,6";
"5th Edition" -> "6th Edition";
"5th Edition" -> "PWB 1.0";
"6th Edition" -> "LSX";
"6th Edition" -> "1 BSD";
"6th Edition" -> "Mini Unix";
"6th Edition" -> "Wollongong";
"6th Edition" -> "Interdata";
"Interdata" -> "Unix/TS 3.0";
"Interdata" -> "PWB 2.0";
"Interdata" -> "7th Edition";
"7th Edition" -> "8th Edition";
"7th Edition" -> "32V";
"7th Edition" -> "V7M";
"7th Edition" -> "Ultrix-11";
"7th Edition" -> "Xenix";
"7th Edition" -> "UniPlus+";
"V7M" -> "Ultrix-11";
"8th Edition" -> "9th Edition";
"1 BSD" -> "2 BSD";
"2 BSD" -> "2.8 BSD";
"2.8 BSD" -> "Ultrix-11";
"2.8 BSD" -> "2.9 BSD";
"32V" -> "3 BSD";
"3 BSD" -> "4 BSD";
"4 BSD" -> "4.1 BSD";
"4.1 BSD" -> "4.2 BSD";
"4.1 BSD" -> "2.8 BSD";
"4.1 BSD" -> "8th Edition";
"4.2 BSD" -> "4.3 BSD";
"4.2 BSD" -> "Ultrix-32";
"PWB 1.0" -> "PWB 1.2";
"PWB 1.0" -> "USG 1.0";
"PWB 1.2" -> "PWB 2.0";
"USG 1.0" -> "CB Unix 1";
"USG 1.0" -> "USG 2.0";
"CB Unix 1" -> "CB Unix 2";
"CB Unix 2" -> "CB Unix 3";
"CB Unix 3" -> "Unix/TS++";
"CB Unix 3" -> "PDP-11 Sys V";
"USG 2.0" -> "USG 3.0";
"USG 3.0" -> "Unix/TS 3.0";
"PWB 2.0" -> "Unix/TS 3.0";
"Unix/TS 1.0" -> "Unix/TS 3.0";
"Unix/TS 3.0" -> "TS 4.0";
"Unix/TS++" -> "TS 4.0";
"CB Unix 3" -> "TS 4.0";
"TS 4.0" -> "System V.0";
"System V.0" -> "System V.2";
"System V.2" -> "System V.3";
}

Files

FileBytesSHA-256
input.gv1,433
c.svg C28,0105522dd93323fb38fe8436d80636e39d9f89c627381ab4c1d0af6cd5c43559994
rust.svg Rust28,021f508bfac893e4ec1c1418fc760984dd2825579e8c77d58b2b16bc37559b0b37c

The two hashes differ even when the outputs are identical, because each file keeps its own generator comment. Made by scripts/site-samples.sh.