Publisher DOI: 10.1007/BF02307379
Title: PROFIL/BIAS : a fast interval library [PROFIL/BIAS : eine schnelle Intervallbibliothek]
Language: English
Authors: Knüppel, Olaf 
Keywords: AMS Subject Classification: 65G10;C, C++;IEEE-754 arithmetic standard;Interval library
Issue Date: 1-Sep-1994
Publisher: Springer
Source: Computing 53 (3-4): 277-287 (1994-09-01)
Journal: Computing 
Abstract (german): 
In den weit verbreiteten Programmiersprachen wird der Intervalldatentyp nicht unterstützt. Daher benötigt man für die Implementierung von Algorithmen, die auf Intervallarithmetik basieren, spezielle Programmierumgebungen oder zumindest spezielle Programmbibliotheken. In diesem Artikel stellen wir die C++-Klassenbibliothek PROFIL vor, die eine anwenderfreundliche Umgebung für die Implementierung von Intervallalgorithmen darstellt. Die Entwicklung von PROFIL wurde von den beiden Hauptzielen Geschwindigkeit und Portabilität geleitet. Daher basieren alle Intervalloperationen von PROFIL auf BIAS (Basic Interval Arithmetic Subroutines). BIAS definiert eine einheitliche und portable Schnittstelle für die grundlegenden Intervalloperationen von skalaren bis hin zu Matrixoperationen. Dabei ist die Schnittstelle unabhängig von einer speziellen Intervalldarstellung oder von speziellen Berechnungsmodi, erlaubt aber dennoch maschinenspezifische und schnelle Implementierungen. Basierend auf dieser allgemeinen Spezifikation stellen wir eine Implementierung in C vor, die eine Intervalldarstellung in der Form untere/obere Grenze sowie gerichtete Rundungen verwendet. Durch Verwendung eigener Assemblerroutinen (insgesamt nur ca. 10 Assemblerinstruktionen) zur Umschaltung der Rundung sowie durch weitestgehende Vermeidung überflüssiger Vorzeichentests und Rundungsumschaltungen wird der Aufwand für die Intervalloperationen drastisch reduziert. Dies ist insbesondere für RISC-Architekturen wichtig, auf denen Gleitkommaoperationen in wenigen Maschinentaktzyklen ausgeführt werden können. Vergleiche mit anderen Intervallpaketen zeigen eine Geschwindigkeitssteigerung um etwa eine Größenordnung. © 1994 Springer-Verlag.
Abstract (english): 
The interval data type is currently not supported in common programming languages. Therefore the implementation of algorithms using interval arithmetic requires special programming environments or at least special libraries. In this paper we present the C++ class library PROFIL which provides a user friendly environment for implementing interval algorithms. The main goals in the design of PROFIL were speed and portability. Therefore all interval operations in PROFIL use BIAS (Basic Interval Arithmetic Subroutines) [16]. BIAS defines a concise and portable interface for the basic scalar, vector, and matrix operations. The interface is independent of a specific interval representation or computation but permits machine specific and fast implementations. Based on this general specification we present an implementation in C using a lower/upper bound representation of intervals and directed roundings. By using few assembler instructions for switching the rounding modes and avoiding sign tests and rounding mode switches wherever possible, the computational costs of the interval operations were reduced significantly. This is especially important for RISC machines, where floating point instructions can be executed in few machine cycles. Comparisons with other interval arithmetic packages show an improvement in speed of about one order of magnitude. © 1994 Springer-Verlag.
URI: http://hdl.handle.net/11420/9473
ISSN: 1436-5057
Institute: Zuverlässiges Rechnen E-19 
Document Type: Article
Appears in Collections:Publications without fulltext

Show full item record

Page view(s)

15
Last Week
0
Last month
1
checked on Aug 4, 2021

SCOPUSTM   
Citations

164
Last Week
1
Last month
0
checked on Jul 31, 2021

Google ScholarTM

Check

Add Files to Item

Note about this record

Cite this record

Export

Items in TORE are protected by copyright, with all rights reserved, unless otherwise indicated.