Open-Source-Projekte

Meine hier veröffentlichten Softwareprojekte stehen quelloffen unter der in der jeweiligen Projektbeschreibung angegebenen Lizenz zur Verfügung.

Tags:

Bereich:

LinAlg -- Die Lineare-Algebra-Bibliothek für Scala

LinAlg stellt Datentypen und Operationen für algebraische Vektoren und Matrizen zur Verfügung.

Vektor- und Matrixelemente können von beliebigem Typ sein, vorausgesetzt, dass eine Factory für den jeweiligen Elementtyp existiert. Zur Zeit gibt es solche Factories für Double, Float, Long, Int, Short, Byte und Char.

Vektor- und Matrix-(Zeilen- und Spalten-)Indizes sind beliebige ganze Zahlen (genauer: ein Index muss im Intervall [Mindex, Maxdex] liegen wie es im Index-Objekt definiert ist). Es werden aber nur solche Elemente tatsächlich gespeichert, die einer Untermenge des gesamten Integer-Bereichs entsprechen (die konkreten Elemente), während alle anderen Elemente definitionsgemäß null sind (virtuelle Elemente).

Dieses Konzept (das ich vor langer Zeit im Zusammenhang mit der ALGOL68-Library-Prelude TORRIX wertzuschätzen gelernt habe) liefert nicht nur einen natürlichen Ansatz für Operationen mit Vektoren und Matrizen mit verschiedenen Indexbereichen, sondern beugt auch Index-out-of-Bounds-Exceptions vor.

Konkrete Indexbereiche (die konkreten Elementen entsprechen) werden implizit oder explizit beim Erzeugen eines Vektors oder einer Matrix zugeordnet. Standardmäßig beginnt der Bereich mit 1 und läuft bis zur Anzahl der spezifizierten Elemente, aber diese Voreinstellung lässt sich überschreiben.

Bereich:

Name: 
LinAlg
Version: 
3.1.0
Programmiersprache: 
Scala (2.12, 2.11)
Dokumentation: 
API: 
Quellcode: 
Datum: 
Samstag, 20. Januar 2018

SimGraf -- Eine simple Grafikbibliothek für Scala

Diese Bibliothek bietet Hilfsmittel zur Grafikprogrammierung in Scala. Sie ist zugeschnitten auf möglichst einfaches Zeichnen von Figuren und Funktionen, ohne das Grafiksystem mit Dutzenden von Einstellungen konfigurieren zu müssen, nur um ein simples Bild anzuzeigen. Hingegen ist die Bibliothek nicht gedacht zur Programmierung grafischer Benutzeroberflächen mit Knöpfen, Menüs usw.

Bereich:

Name: 
SimGraf
Version: 
1.3.0
Programmiersprache: 
Scala (2.12, 2.11)
API: 
Datum: 
Sonntag, 14. Mai 2017

SI -- Eine Scala-Biliothek zum Rechnen mit Maßeinheiten

Diese Scala-Biliothek zum Rechnen mit Maßeinheiten beruht auf dem Internationalen Einheitensystem (SI).

Die wichtigsten Typen sind Quantity und Unit.

Eine Größe (Quantity) besteht aus einem Wert und einer Einheit. Sie stellt arithmetische Operationen bereit, wobei das System -- in vielen Fällen -- automatisch den richtigen Typ des Resultats herleiten kann: So wird etwa einer Größe, deren Einheit sich als Masse * ((Länge / Zeit) / Zeit) berechnet, eine Kraft-Einheit zugeordnet. Es gibt auch eine intuitive, abgekürzte Schreibweise für Größen, z. B. kann man statt  Quantity(10, metre) auch 10.m schreiben.

Es sind Einheitentypen für die sieben SI-Basisgrößen verfügbar mit zugehörigen wie üblich benannten Objekten wie metre, kilogram, second usw. Zudem werden eine Reihe von abgeleiteten SI-Einheiten angeboten wie squareMetre, newton, pascal, joule, watt oder volt. Die Prefix-Klasse enthält Objekte für die gebräuchlichen SI-Vorsätze für dezimale Vielfache wie  kilo oder milli und einen passenden Multiplikationsoperator für Einheiten.

Bereich:

Tags:

Name: 
SI
Version: 
1.0.0
Programmiersprache: 
Scala (2.12, 2.11)
API: 
Datum: 
Sonntag, 12. März 2017

Utilib -- Eine Scala-Bibliothek von Programmier-Utilitys

Diese Bibliothek bietet diverse Utilitys für das Programmieren in Scala. Es handelt sich dabei nicht um eine systematische Zusammenstellung, sondern um eine Reihe von Werkzeugen, die sich einfach für mich als nützlich erwiesen haben und somit auch für andere interessant sein könnten.

Bereich:

Tags:

Name: 
Utilib
Version: 
0.4.2
Programmiersprache: 
Scala (2.13, 2.12, 2.11)
API: 
Datum: 
Dienstag, 21. Januar 2020

Algolib -- Eine Scala-Bibliothek essentieller Algorithmen

Diese Bibliothek enthält zunächst eine Reihe von in Scala implementierten Algorithmen aus dem Buch Algorithms 4 von Robert Sedgewick and Kevin Wayne [1]. Weitere Implementierungen von Algorithmen aus diesem Buch werden von Zeit zu Zeit dazukommen. Auch andere Algorithmen können Bestandteil dieser Bibliothek werden.

Literatur

[1] R. Sedgewick, K. Wayne, Algorithms, 4th edition (link is external) (Addison-Wesley Professional, 2011, ISBN 0-321-57351-X)

Bereich:

Name: 
Algolib
Version: 
0.1.0
Programmiersprache: 
Scala (2.12, 2.11)
API: 
Datum: 
Dienstag, 3. Mai 2016

PA-Toolbox -- Predictive-Analytics Java Toolbox

Diese Java-Bibliothek enthält einige Werkzeuge, die in einem Predictive-Analytics-Umfeld nützlich waren. Tatsächlich sind die meisten davon allerdings nicht spezifisch für dieses Gebiet und mögen daher von allgemeinem Interesse sein.

Für einige Submodule gibt es auch ein Scala-Interface, z. Zt. für pa-toolbox-linalg und pa-toolbox-plotting. Es vereinfacht die Benutzung dieser Module mit Scala im Allgemeinen und auch speziell mit meiner Lineare-Algebra-Bibliothek  LinAlg  für Scala.

Hier sind einige Beispielgrafiken, dir mit dem Plotting-Modul produziert wurden:

pa-toolbox-plotting-demo1     pa-toolbox-plotting-demo2     pa-toolbox-plotting-demo3     pa-toolbox-plotting-demo4

Bereich:

Name: 
PA-Toolbox
Version: 
1.1.0+1.1.0
Programmiersprache: 
Java, Scala (2.12, 2.11)
Dokumentation: 
Datum: 
Dienstag, 23. Januar 2018

h2taglets (Release 0.1)

h2taglets ist eine Sammlung von Javadoc-Taglets, die mathematischen Formelsatz, bibliografische Verweise und allgemeine numerische Querverweise bereitstellen. Folgende Tags werden Javadoc hinzugefügt:

@math

fügt mathematische Formeln ein als HTML (mit einfachen aber nützlichen Erweiterungen), MathML oder als Grafik

@label

erzeugt eine numerische Marke für Querverweise

@ref

bezieht sich auf diese Marke

@biblio

erstellt einen Bibliografieblock

@cite

zitiert diesen Block

Diese Tags sind für den Gebrauch mit dem Javadoc-Standarddoclet bestimmt; es wird mindestens Java, Version 1.5.0, vorausgesetzt. Die vollständige Syntax dieser Tags und Beispiele für die Verwendung findet man in der Dokumentation der entsprechenden Taglets (s. apidocs). Die Software einschließlich Dokumentation und zusätzlicher Dateien unterliegt der GNU General Public License, Version 2 (s. Lizenz).
Online-Dokumentation
LiesMich
Herunterladbare Zip-Archive für Binärdateien, Dokumentation (equivalent zur Online-Dokumentation) und Quellen befinden sich im Anhang. Mab beachte, dass die drei Downloads fast disjunkt sind. Nichtsdestotrotz werden sie in dasselbe Verzeichnis entpackt. Das funktioniert, da alle überlappenden Dateien identisch sind.
Zur Verwendung in den eigenen Dokumentationskommentaren sind nur die Binärdateien erforderlich. Man sollte aber trotzdem einen Blick auf die Dokumentation werfen – entweder online oder in der Zip-Datei.

AnhangGröße
Paket Icon h2taglets-0.1-bin.zip29.43 KB
Paket Icon h2taglets-0.1-doc.zip273.75 KB
Paket Icon h2taglets-0.1-src.zip90.24 KB

Bereich:

adminviews (Drupal-Modul)

Dieses Modul ist nur zusammen mit dem Content-Management-System Drupal zu verwenden. Es stellt einige Blöcke mit Ansichten für administrative Zwecke zur Verfügung:

Letzte Benutzer zeigt eine Liste der zuletzt angemeldeten Benutzer
Neueste Beiträge zeigt zuletzt erstellte oder aktualisierte Beiträge
Offene Kommentare zeigt die letzten freizugebenden Kommentare

Das Modul ist für den Gebrauch mit Drupal 6 und Views 2 bestimmt. Die Software einschließlich Dokumentation und zusätzlicher Dateien unterliegt der GNU General Public License, Version 2 (s. Lizenz).

Die README-Datei enthält weitere Informationen zur Installation und Benutzung des Moduls.

Das gesamte Paket kann über den Link im Anhang heruntergeladen werden.

AnhangGröße
Binärdaten adminviews-6.x-1.0.tar.gz9.89 KB

Bereich:

Name: 
adminviews
Version: 
6.x-1.0
Datum: 
Freitag, 26. März 2010