15 Stimmen

Tipps für die Einreichung einer Bibliothek bei Boost?

Der Sommer kommt und eine Gruppe von Freunden und ich bereiten uns darauf vor :)

Wir haben beschlossen, Ganzzahlen mit beliebiger Genauigkeit zur Kompilierzeit zu erstellen. Wir möchten eine Reihe von Ganzzahlarithmetik-Algorithmen(Funktionen) mit der Bibliothek bereitstellen. Wir haben eine Reihe von Anfragen nach einer solchen Bibliothek gesehen (SoC2010, C++0x Standard Library Wishlist). Auch eine standardmäßige Laufzeit bigint wird normalerweise damit angefordert, aber wir möchten uns nicht mit dem Aufwand des Speichermanagements befassen. Die Idee kam mir von einer Bibliothek namens TTMath, leider funktioniert diese Bibliothek nur auf spezifischen Plattformen, weil in der Bibliothek umfangreich Assembly verwendet wurde. Wir möchten eine Standardbibliothek schreiben, die von der C++ Standardbibliothek und von Boost abhängt. Außerdem möchten wir die verfügbaren C++0x-Funktionen in aktuellen Compilern wie benutzerdefinierte Literale und andere nutzen. Dies würde die Bibliothek technisch gesehen vorerst nicht standardmäßig machen, aber wir glauben, dass es nur eine Frage der Zeit ist, bis die neuen Standards offiziell werden.

Ihre Hinweise zum gesamten Prozess, einschließlich Design, Implementierung, Dokumentation und Wartbarkeit der Bibliothek, sind mehr als willkommen. Wir sind eine Gruppe von Studenten und frischgebackenen Absolventen, die im Sommer etwas Interessantes suchen, aber wir sehen, dass Boost voller Gurus ist und wir nichts allzu Offensichtliches vergessen wollen. Wir kommunizieren online, es gibt also keine gemeinsamen Whiteboards :(

Hier ein Beispiel für die Verwendung einer solchen Bibliothek:

typedef our_namespace::uint<512> uint512_t;
// Deklaration einer ganzzahligen Variable mit einer Breite von 512 Bits.
// Danach sollte der Benutzer damit genauso umgehen wie mit den nativen Datentypen.

Danke,

1voto

John Punkte 1

Beginnen Sie mit der Motivation für eine solche Sache. Ich wäre neugierig, welche Anwendungen es gibt. Mit "Compile-Zeit" nehme ich an, dass Sie eine Vorlagen-Metaprogrammierungs-Lösung meinen, richtig?

Es klingt nach einem interessanten Projekt, aber vielleicht nicht nützlich als Teil von Boost (oder vielleicht doch nützlich.. Sie müssen dieses wichtige Detail bereitstellen.)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X