//************************************************************************** // Projekt: // Rechnen mit groáen Ganzzahlen //************************************************************************** // Modul: // mpi.h Headerdatei zur Programmbibliothek // mpi.cpp Programmbibliothek // >main.cpp beispiel Programm, das die Programmbibliothek verwendet //************************************************************************** // Geschichte: // V1.0 08.12.1997 erste Version // V1.1 20.12.1997 umgestellt: malloc -> new; printf -> cout // V1.2 06.01.1998 einlesen langer Zahlen aus text Datei //************************************************************************** // Erstellt von: // Thorsten Milianowitsch 08.12.1997 //************************************************************************** // Beschreibung: // Es werden zwei lange Zufallszahlen erzeugt. Diese werden anschliessend // addiert, subtrahiert, und multipliziert. // Zwei jeweils 1000 Stellen lange Zahlen werden miteinander 100 mal // multipliziert. Die hierfr ben”tigte Zeit wird gemessen. // Aus den Textdadteien test1.txt und test2.txt werden Zahlen eingelesen, // diese werden multipliziert, und das Ergebnis in test3.txt geschrieben. //************************************************************************** // Einschr„nkung: // 1. Es k”nne Zahlen mit bis zu 16000 aus Dateien eingelesen werden. // 2. Die gr”sste getestete Zahl hatte 17000 Stellen. // Das Programm l„sst 32000 Stellen zu. Die gr”sste Zahl h„ngt vom // freien Speicher, und dem verwendetem Speichermodell des Compilers ab. // 3. Bei multiplikation sollte erster Parameter die kleinere Zahl // enthalten, da hierbei weniger Speicher ben”tigt wird. // 4. Fhrende Nullen werden beim Ergebnis nicht entfernt. // 5. Die geschwindigkeit h„ngt stark vom Speichermodell des Compilers ab. // Tiny, Small, Medium sind schnell, nicht so grosse Zahlen. // Compact, Large, Huge sind langsam, groessere Zahlen. //************************************************************************** // Bekannte Fehler: // noch keine ;) //************************************************************************** //************************************************************************** // Header Dateien //************************************************************************** #include #include #include #include "mpi.h" //************************************************************************** // Funktion: ausgabe //************************************************************************** // šbergabeparameter: // tlang: Diese lange Zahl wird am Bildschirm ausgegeben // Rckgabeparameter: // - keine - //************************************************************************** // Gibt eine lange Zahl am Bildschirm aus. //************************************************************************** void ausgabe(tlang tmp) { int stelle; for (stelle=0;stelle