From 26f58d35722a6017401eeaba41383bcb06d9b4c6 Mon Sep 17 00:00:00 2001 From: Martin Thoma Date: Fri, 25 Mar 2022 14:58:23 +0100 Subject: [PATCH] IEEE 754: Add --- tikz/ieee-754-float/Makefile | 35 +++++++++++++++++++++++++ tikz/ieee-754-float/README.md | 3 +++ tikz/ieee-754-float/ieee-754-float.png | Bin 0 -> 14977 bytes tikz/ieee-754-float/ieee-754-float.tex | 22 ++++++++++++++++ 4 files changed, 60 insertions(+) create mode 100644 tikz/ieee-754-float/Makefile create mode 100644 tikz/ieee-754-float/README.md create mode 100644 tikz/ieee-754-float/ieee-754-float.png create mode 100644 tikz/ieee-754-float/ieee-754-float.tex diff --git a/tikz/ieee-754-float/Makefile b/tikz/ieee-754-float/Makefile new file mode 100644 index 0000000..fe5430d --- /dev/null +++ b/tikz/ieee-754-float/Makefile @@ -0,0 +1,35 @@ +SOURCE = ieee-754-float +DELAY = 80 +DENSITY = 300 +WIDTH = 500 + +make: + pdflatex $(SOURCE).tex -output-format=pdf + make clean + +clean: + rm -rf $(TARGET) *.class *.html *.log *.aux *.data *.gnuplot + +gif: + pdfcrop $(SOURCE).pdf + convert -verbose -delay $(DELAY) -loop 0 -density $(DENSITY) $(SOURCE)-crop.pdf $(SOURCE).gif + make clean + +png: + make + make svg + inkscape $(SOURCE).svg -w $(WIDTH) --export-png=$(SOURCE).png + +transparentGif: + convert $(SOURCE).pdf -transparent white result.gif + make clean + +svg: + make + #inkscape $(SOURCE).pdf --export-plain-svg=$(SOURCE).svg + pdf2svg $(SOURCE).pdf $(SOURCE).svg + # Necessary, as pdf2svg does not always create valid svgs: + inkscape $(SOURCE).svg --export-plain-svg=$(SOURCE).svg + rsvg-convert -a -w $(WIDTH) -f svg $(SOURCE).svg -o $(SOURCE)2.svg + inkscape $(SOURCE)2.svg --export-plain-svg=$(SOURCE).svg + rm $(SOURCE)2.svg diff --git a/tikz/ieee-754-float/README.md b/tikz/ieee-754-float/README.md new file mode 100644 index 0000000..5861171 --- /dev/null +++ b/tikz/ieee-754-float/README.md @@ -0,0 +1,3 @@ +Compiled example +---------------- +![Example](ieee-754-float.png) diff --git a/tikz/ieee-754-float/ieee-754-float.png b/tikz/ieee-754-float/ieee-754-float.png new file mode 100644 index 0000000000000000000000000000000000000000..25c8f9e02e10e07a30c06582b661f535b213ba6e GIT binary patch literal 14977 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