Extem grosse Zahlen, über 1000 Stellen

Für allgemeine Fragen zur Programmierung, welche nicht! direkt mit Lazarus zu tun haben.
alfware17
Beiträge: 214
Registriert: Di 14. Dez 2010, 23:27

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von alfware17 »

alfware17 hat geschrieben: Di 13. Aug 2024, 13:43
Mathias hat geschrieben: Di 13. Aug 2024, 13:14
Wie erzeuge ich denn die erforderliche gmp.dll, die beim Programmaufruf verlangt wird. Compilieren konnte ich das unter Lazarus ebenso wie mit FPC batch. Während bei der Ausführung mit Lazarus nix passiert, wurde ich neugierig und habe es auf Kommandozeile gestartet - da fehlt eine gmp.dll. Die Quellen im o.g. fpc source habe ich auch gefunden, aber noch niemals eine dll erzeugt...
Da wirst du mit Lazarus nicht weit kommen. Meistens sie die Sourcen für DLLs in C geschrieben.
Entweder du hast ein MinGW auf Windows eingerichtet.
Oder versuchst die DLL in irgendeiner dubiosen Seite runter zu laden.

Oder als Linux-User einfach

Code: Alles auswählen

 sudo apt install libgmp-dev
Ich bin zwar (manchmal) Linux-Nutzer, aber ich nehme an, die .so wenn ich sie denn finde kann ich nicht einfach umbenennen und in Windows benutzen :-)

Also ich habe kein MinGW, würde ich nicht seit 100 Jahren mal immer wieder versuchen, den "einen" C-Compiler für mich herauszufinden (angeblich ist soviel Software in der Welt in C geschrieben aber ich finden keinen Compiler, nicht mal für make wenn mal jemand Quelltexte ins git stellt - polemic off), ich nutze echt Turbo-C in einer Virtualbox für die einzige 3 C-Quellen meines Lebens.
Ich würde ja gerne - nur geht der Link http://cs.nyu.edu/exact/core/gmp/ hier auf "Zugriff verweigert".
Eine dubiose Seite habe ich gefunden https://www.dlldownloader.com/gmp-dll/ ist die seriös, habe noch nicht ausprobiert?

ICH DACHTE: das ist eine vielbenutzte seriöse Software und man kriegt das alles incl Download und Installer wie bei Microsoft.... Habe ich wohl wieder falsch gedacht.
PS. Ok ich versuche mal MINGW und CodeBlock Download. Vielleicht ist da meine DLL dabei. Zum Glück gibt es Wegwerf-Windows in Virtualbox :-)

Mathias
Beiträge: 6955
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von Mathias »

Eine dubiose Seite habe ich gefunden https://www.dlldownloader.com/gmp-dll/ ist die seriös, habe noch nicht ausprobiert?
Man muss einfach aufpassen wo man reinklickt.
Ich würde ja gerne - nur geht der Link http://cs.nyu.edu/exact/core/gmp/ hier auf "Zugriff verweigert".
Was hast du das komisches gefunden.
Geh doch zu offiziellen Seite.
https://gmplib.org/
ICH DACHTE: das ist eine vielbenutzte seriöse Software und man kriegt das alles incl Download und Installer wie bei Microsoft.... Habe ich wohl wieder falsch gedacht.
Dies ist eben Linux und kein Windows. Genau dies ist auch Grund, das ich mich von Windows verabschiedete.
Ich bin zwar (manchmal) Linux-Nutzer, aber ich nehme an, die .so wenn ich sie denn finde kann ich nicht einfach umbenennen und in Windows benutzen :-)
Definitiv nicht.
Also ich habe kein MinGW, würde ich nicht seit 100 Jahren mal immer wieder versuchen, den "einen" C-Compiler für mich herauszufinden (angeblich ist soviel Software in der Welt in C geschrieben aber ich finden keinen Compiler, nicht mal für make wenn mal jemand Quelltexte ins git stellt - polemic off), ich nutze echt Turbo-C in einer Virtualbox für die einzige 3 C-Quellen meines Lebens.
Genau daher liebe ich Linux, da ist alles dabei. Ein paar apt-get und das Zeugs läuft.

Windows ist halt nur eine Spielkonsole und eine bessere Schreibmaschine. Für mehr kann man es nicht gebrauchen, ausser man installiert Stunden, bis man etwas coden kann. Eine Ausnahme ist da Lazarus für Windows.

Vielfach ist es sogar einfacher von Linux aus, via Cross-Compiler DLLs zu bauen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

alfware17
Beiträge: 214
Registriert: Di 14. Dez 2010, 23:27

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von alfware17 »

Also ehrlich - wenn es eines weiteren Grundes/Beweises dafür bedürfte, warum ich eine Weile von Linux die Nase voll haben sollte. dann sind es solche Seiten wie gmp.org und deine Tips und Kommentare dazu.
Wo bitte schön sollte denn da die GMP.DLL für Windows sein? Und ich verstehe nicht mal, was die da alles unter Software verstehen und machen, das mag ja alles schön und gut und wissenschaftlich sein. Aber ich suchte doch nach einer Möglichkeit um Worfs Beispiel in FPC/Lazarus auszuführen und dafür braucht es (nur?) die DLL. Wenn die Units schon im Lazarus drin sind, umso besser. Warum die DLL nicht - erschließt sich mir nicht.
Wenn ich den MINGW installieren muß, um da dran zu kommen, dann mache ich das, verstehen tue ich es nur immer noch nicht.

Und nein, leider ist bei Linux nicht alles "nur ein paar APT und läuft". Ich will hier keinen Glaubenskrieg entfesseln, kann dir aber versichern, daß das Spielzeugsystem Linux bei mir in der letzten Woche und genau genommen schon die ganze erste Hälfte des Jahres dermaßen für Frustration und Ärger gesorgt hat, daß ich heil froh bin, mich auf das liebe brave und einigermaßen funktionierende Windows zurückziehen zu können. An 9 von 10 Problemen, mit denen ich zu kämpfen hatte, hängt das Etikett Linux und natürlich bin ich immer heil froh, wenn ich es gelöst habe und mich zurückziehen kann. So spröde und unlogisch wie Linux finde ich kaum etwas - ich mache es trotzdem, weil ich mir denke irgendwann muß doch auch das mal funktionieren und durchschaut bzw durchdacht werden können.

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von af0815 »

alfware17 hat geschrieben: Mi 14. Aug 2024, 01:55Aber ich suchte doch nach einer Möglichkeit um Worfs Beispiel in FPC/Lazarus auszuführen und dafür braucht es (nur?) die DLL. Wenn die Units schon im Lazarus drin sind, umso besser. Warum die DLL nicht - erschließt sich mir nicht.
Wenn ich den MINGW installieren muß, um da dran zu kommen, dann mache ich das, verstehen tue ich es nur immer noch nicht.
Die Verantwortlichkeit über die DLL liegt immer beim Ersteller. Daher würde es bei den Units mitgegeben, müsstes du auch immer die aktuellen DLL/Libs pflegen. Deswegen werden die DLL/Libs normalerweise nie mitgegeben. Vor allen haben die ja unter Umständen auch Abhängigkeiten und die kannst du auf den Systemen nicht immer voraussetzen. Das ist aber egal ob Windows/Linux. Daher werden die DLLs/Libs im Regelfall nicht mitgegeben, sondern die muss man sich vom entsprechenden Projekt holen und wenn es Bugfixes gibt, dann muss man sich die auch selbst besorgen. Es gibt auch Projekte die explizit sagen, das kein Hosting ihrer Dlls/Libs gewünscht ist, damit die keinen Support/Anfragen wegen längst ausgemerzter Fehler haben.

Das BS bashing ist komplett fehl am Platz. Jedes BS hat Vorteile und Nachteile. Oft ist man gezwungen ein BS zu nehmen, weil viele professionelle Software für den Betrieb es halt nur auf einem System gibt. Alles was zB. mit Siemens, Beckhoff, RedLion,... zu tun hat ist halt nur für ein System vorhanden. Ist so.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Mathias
Beiträge: 6955
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von Mathias »

Ich will hier keinen Glaubenskrieg entfesseln, kann dir aber versichern, daß das Spielzeugsystem Linux bei mir in der letzten Woche und genau genommen schon die ganze erste Hälfte des Jahres dermaßen für Frustration und Ärger gesorgt hat,
Da bin ich ganz anderer Meinung.
Gutes Beispiel, ich wollte schnell eine mp4 in eine wav umwandeln. Dazu brauche ich "ffmpeg",, also schnell ffmpeg in der Konsole eingegeben. Ups noch nicht installiert. Linux ist so nett und sagt es mir, was ich machen muss.

Code: Alles auswählen

$ ffmpeg
Der Befehl 'ffmpeg' wurde nicht gefunden, kann aber installiert werden mit:
sudo apt install ffmpeg
Und schon ist es installiert. Bei Windows startet man da erst mal eine Google Aktion und dabei muss man aufpassen, das man nicht noch Trojaner mitinstalliert.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

alfware17
Beiträge: 214
Registriert: Di 14. Dez 2010, 23:27

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von alfware17 »

af0815 hat geschrieben: Mi 14. Aug 2024, 07:19
Das BS bashing ist komplett fehl am Platz. Jedes BS hat Vorteile und Nachteile. Oft ist man gezwungen ein BS zu nehmen, weil viele professionelle Software für den Betrieb es halt nur auf einem System gibt. Alles was zB. mit Siemens, Beckhoff, RedLion,... zu tun hat ist halt nur für ein System vorhanden. Ist so.
Ja natürlich - aber ich hatte damit nicht angefangen und will es auch nicht. Nur hatte ich speziell nach Windows gefragt und dann kommt Mathias mit Linux alles super gut. Möglicherweise ist mein Frust auf deren Systeme die Tage etwas zu groß.

Aber noch mal zu meinem Verständis: Die gmp Lazasrus Unit und Beispiele laufen auf Hardware/Software, die vorher mit einem speziellen Treiber/Software/DLL ausgerüstet wurden?
Und die DLL (ist es nur die?) erstellt mir zB das MINGW Projekt (ein C-Compiler), anschließend muß ich sie ggf nur kopieren/verschieben? Oder ist gmp das Projekt? Ich habe leider nicht ausmachen können, was die nun genau erstellen, Betriebssystem-Erweiterungen, Anwenundungsprogramme?

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 385
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von Jorg3000 »

Moin!
Falls es sich beim Interesse an großen Zahlen auch um Ganzzahlen handeln darf ...

Vor ein paar Monaten hat jemand im englischen Forum seine rein in Pascal geschriebene Unit Multi_Int.pas vorgestellt, erhältlich auf https://github.com/ad1mt/Multi-Word-Int.
Dort gibt es auch ein OpenOffice-Dokument, das Integer-Typen und mögliche Operatoren beschreibt, z.B. multiply, divide, potenzieren und Quadratwurzel.
Es gibt schnelle Integer-Typen mit bis 256 Bit (also 4x Int64) Breite und einen Typen variabler Länge, z.B. wird dort 4096 bits genannt.

Ich habe es nicht ausprobiert (habe selber keinen Bedarf), aber vielleicht kann jemand etwas damit anfangen.
Grüße, Jörg

alfware17
Beiträge: 214
Registriert: Di 14. Dez 2010, 23:27

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von alfware17 »

Mathias hat geschrieben: Mi 14. Aug 2024, 08:21
Ich will hier keinen Glaubenskrieg entfesseln, kann dir aber versichern, daß das Spielzeugsystem Linux bei mir in der letzten Woche und genau genommen schon die ganze erste Hälfte des Jahres dermaßen für Frustration und Ärger gesorgt hat,
Da bin ich ganz anderer Meinung.
Gutes Beispiel, ich wollte schnell eine mp4 in eine wav umwandeln. Dazu brauche ich "ffmpeg",, also schnell ffmpeg in der Konsole eingegeben. Ups noch nicht installiert. Linux ist so nett und sagt es mir, was ich machen muss.

Code: Alles auswählen

$ ffmpeg
Der Befehl 'ffmpeg' wurde nicht gefunden, kann aber installiert werden mit:
sudo apt install ffmpeg
Und schon ist es installiert. Bei Windows startet man da erst mal eine Google Aktion und dabei muss man aufpassen, das man nicht noch Trojaner mitinstalliert.
Na schön wenn du anderer Meinung bist darüber wie es bei mir ist und warum meine Frustration berechtigt ist. Dein Beispiel habe ich auch schon oft gesehen - nur hilft es nicht bei gmp/Windows (also bei keinem von beiden) und es hilft auch nicht dann wenn Betriebssystem W oder L oder Z sich automatisch selber ausknockt und der User leider nur Zuschauer sein kann,

alfware17
Beiträge: 214
Registriert: Di 14. Dez 2010, 23:27

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von alfware17 »

Jorg3000 hat geschrieben: Mi 14. Aug 2024, 08:39 Moin!
Falls es sich beim Interesse an großen Zahlen auch um Ganzzahlen handeln darf ...

Vor ein paar Monaten hat jemand im englischen Forum seine rein in Pascal geschriebene Unit Multi_Int.pas vorgestellt, erhältlich auf https://github.com/ad1mt/Multi-Word-Int.
Dort gibt es auch ein OpenOffice-Dokument, das Integer-Typen und mögliche Operatoren beschreibt, z.B. multiply, divide, potenzieren und Quadratwurzel.
Es gibt schnelle Integer-Typen mit bis 256 Bit (also 4x Int64) Breite und einen Typen variabler Länge, z.B. wird dort 4096 bits genannt.

Ich habe es nicht ausprobiert (habe selber keinen Bedarf), aber vielleicht kann jemand etwas damit anfangen.
Grüße, Jörg
Danke, ich werde es mal probieren und dann ggf eine Zeit-Gegenüberstellung zu meiner eigenen zugegeben sehr einfachen String-Integer-Arithmetik machen und meins auch zeigen (wenn es nicht zu sehr frustrierend ausfällt)

u-boot
Beiträge: 308
Registriert: Do 9. Apr 2009, 10:10
OS, Lazarus, FPC: Ubuntu 9.10 (L 0.9.28 FPC 2.2.4)
CPU-Target: 32Bit
Wohnort: 785..

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von u-boot »

Irgendwie habe ich GNURZ zu diesem Thema im Hinterkopf. Ist das einfach in Vergessenheit geraten oder einfach andere Baustelle :?:
Ubuntu 9.10 (L 0.9.28 FPC 2.4.x)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von af0815 »

u-boot hat geschrieben: Mi 14. Aug 2024, 20:08 Irgendwie habe ich GNURZ zu diesem Thema im Hinterkopf. Ist das einfach in Vergessenheit geraten oder einfach andere Baustelle :?:
Es ist zwar bei mir gehostet (gerettet aus dem Untergang des SVN Severs des Forums hier) https://github.com/afriess/GNURZ aber ich habe keine Ahnung ob es mit einem neuen Lazarus/FPC noch funktioniert und ob es über 1000 Stellen überhaupt kann.

Infos hier: viewtopic.php?f=29&t=2015
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

TSchnuckenbock
Beiträge: 118
Registriert: Do 20. Jul 2017, 23:47
OS, Lazarus, FPC: Win7 und Win10
CPU-Target: xxBit
Wohnort: Südheide (Schnuckenland)

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von TSchnuckenbock »

Ich hab das GNURZ eben mal aus AF sien Repo geholt und mit Lazarus 3.2 (FPCDeluxe) kompiliert und laufen lassen (Win 10 64 Bit).

Geht. Nachgerechnet habe ich aber nicht.;-)

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6848
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von af0815 »

TSchnuckenbock hat geschrieben: Mi 14. Aug 2024, 21:58 Geht. Nachgerechnet habe ich aber nicht.;-)
Schade, gerade die 999,5 Stelle wäre interessant gewesen.

Danke für die Mühe.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Benutzeravatar
corpsman
Lazarusforum e. V.
Beiträge: 1629
Registriert: Sa 28. Feb 2009, 08:54
OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
CPU-Target: 64Bit
Wohnort: Stuttgart
Kontaktdaten:

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von corpsman »

Es gibt noch die https://web.archive.org/web/20190628091 ... index.html die ich sehr gerne Nutze, weil FPC Nativ. Leider ist der Entwickler nicht mehr Aktiv.
--
Just try it

Benutzeravatar
Jorg3000
Lazarusforum e. V.
Beiträge: 385
Registriert: So 10. Okt 2021, 10:24
OS, Lazarus, FPC: Win64
Wohnort: NRW

Re: Extem grosse Zahlen, über 1000 Stellen

Beitrag von Jorg3000 »

Hi!
Um eine Dezimalstelle zu speichern, benötigt man zwischen 3 Bits (max. Wert 7) und 4 Bits (max. Wert 15), rechnerisch ca. 3,322 Bits pro Dezimalstelle.
Um 1000 Stellen zu speichern, werden 3322 Bits benötigt, also 416 Bytes. Um damit aufwändige Rechenoperationen durchzuführen, ist das schon eine recht große Datenmenge.
Bin sehr gespannt, was alfware17 herausfindet - ob es mit dem o.g. Multi-Word-Int (Multi_Int.pas) gut funktioniert, denn es ist eine aktuelle Unit ohne Abhängigkeiten, zu deren Autor man Kontakt über das englische Forum aufnehmen könnte.

Antworten