CWEB programs
In this section a set of the CWEB programs I have written over the years can be found. CWEB is a dialect of literate programming which I find very convenient for the writing of my more complex programs, as it allows me to write a neatly documented record of the algorithms in plain TeX meanwhile also implementing them using my favourite programming language, ANSI-C. Unless you are already familiar with the concept of literate programming, you may benefit from reading the introduction first.
BoxCount, Revision 1.5
[25/10/2006]
Detta datorprogram beräknar uppskattningar av den
fraktala
dimensionen av kurvor i det två dimensionella planet, genom
användande av den så kallade
»box-counting»-algoritmen. Utöver rena numeriska
beräkningar genererar programmet även grafer visande
distribueringen av elementen som används i uppskattningen, i form av
MetaPost-kod som kan post-processas av andra program.
Mer...
MagBragg, Revision 1.43
[10/01/2007]
Datorprogrammet MagBragg
beräknar spektra i reflektion och transmission för ickelijärt
magneto-optiska Bragg-gitter, i en en-dimensionell geometri där
materialparametrarna hos gittret varierar endast i en Cartesisk koordinat.
Programmet MagBragg
simulerar även propagationen av det elektromagnetiska fältet
associerat med ljuset som traverserar det magneto-optiska gittret, och
beräknar den spatiala distributionen av de optiska fälten i en
linjär såväl som icke-linjär optisk regim.
Algoritmen i detta datorprogram baseras på den semi-analytiska teori
som publicerades i
Phys. Rev. Lett. 96,
063902 (2006).
Mer...
EpsImg, Revision 1.6
[21/02/2004]
Givet en matris av flyt-tal sparade i en ordinär
ASCII-kodad textfil, skapar datorprogrammet
EpsImg en
gråskale-bild av matrisen med dess element som specifikation för
intensiteten hos pixel-elementet i bilden.
Den genererade bilden sparas av programmet som Encapsulated PostScript
(EPS).
Givetvis finns det andra sätt att i Encapsulated PostScript generera motsvarande bilder av uppmätta eller simulerade data, till exempel genom att använda image()-funktionen i MATLAB. Icke desto mindre är det ofta en fördel att istället använda ett fristående program, eftersom det enkelt kan inkorporeras i skripts för exekvering i batch. Utöver detta har naturligtvis EpsImg fördelen att vara gratis.
EpsImg är skrivet i programspråket CWEB. Eftersom det dock är riktat mot generering av Encapsulated PostScript, så är programmet listat under kategorin PostScript. Mer...
DvLabel, Revision 1.6
[10/08/2005]
Datorprogrammet DvLabel
genererar TeX-kod för typsättning
av etiketter för digitalvideo-kassetter (DV-format, vanligen använt
i video-kameror).
Programmet DvLabel är
huvudsakligen avsett att användas i en interaktiv mod, men via
parametrar specificerade via kommando-raden kan det även anropas
i batch-mod. Jag fick ursprungligen idén till detta program från
PostScript-koden i
audio-tape.ps,
skriven av Jamie Zawinski.
audio-tape.ps är ett lysande exempel på hur man med en
vanlig text-editor kan skriva ett enkelt PostScript-program, som genom att
skickas till en skrivare med PostScript-tolkning resulterar i en utskrift,
i detta fall etiketter för kassett-spelare, DAT eller DV.
Detta blir dock aningen stökigt eftersom koden måste
editeras inför varje ändring eller ny kassett, och för en
novis i PostScript-programmering blir detta lätt mycket omständigt.
Det fristående programmet DvLabel syftar till att undvika dessa
problem, eftersom användaren endast behöver skriva in texten och
helt undviker PostScript-koden bakom formatteringen.
DvLabel är skrivet i
CWEB.
Mer...