Quadruple 128 bit Floating Point Library 1.0

Licencji: Wolna ‎Rozmiar pliku: 83.97 KB
‎Ocena użytkowników: 2.3/5 - ‎9 ‎Głosów

Podpisana 128-bitowa biblioteka typów danych zmiennoprzecinkowych z 64 efektywnymi bitami precyzji (vs. 53 dla wbudowanego typu Double) i wykładnikiem 64-bitowym (vs. 11 dla doubles). Z większą precyzją i znacznie większym zasięgiem, Quady są szczególnie przydatne w przypadku bardzo dużych lub bardzo małych wartości, takich jak te w modelach probabilistycznych. Przyjęcie większej stałej precyzji, a nie dowolnego typu precyzji (takiego jak BigDecimal Javy) oznacza, że choć nadal wolniej niż wbudowana arytmetyka, kara jest tylko rząd wielkości lub mniej, a zatem nadal możliwe w wielu zastosowaniach matematycznych ciężkich. Na przykład na laptopie Intel Core i5-2410M miliard mnożenia trwa 17 sekund z double wartości, 135 sekund z quad wartości przy użyciu przeciążony * operatora, a tylko 76 sekund przy użyciu Multiply() metoda (wyższe obciążenie * jest ze względu na słabą logikę inlining .Net kompilator/ JIT optymalizatora). Dla porównania, powszechnie używane obejście mnożenia niedopełnienie i przepełnienie, sumowanie logarytmów, trwa 130 sekund. Oprócz tego, że jest szybszy i bardziej precyzyjny niż arytmetyka dziennika, Quads również upraszczać kod, eliminując konieczność zapamiętywania, które zmienne są log''d i konwersji tam iz powrotem do log''d wartości. Biblioteka Quadruple jest zapisywana w języku C# (kod źródłowy w zestawie) i cele .Net 4.0; powinien być również łatwo przenośny do platformy .Net 2.0 i podobnych języków (takich jak Java) z prostymi modyfikacjami.

historia wersji

  • Wersja 1.0 opublikowany na 2011-06-15
    Wydanie początkowe

Szczegóły programu