Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   DIV and MOD (https://www.delphipraxis.net/98012-div-mod.html)

semo 20. Aug 2007 20:47

Re: DIVandMOD
 
wenn du die sysutils noch raus kickst aus der uses section,
dann sparst du noch mal 8 kb, also insgesamt dann 80 kb.

du musst dann halt nur noch die funktion inttostr aus den sysutils in deine dll kopieren...

CalganX 20. Aug 2007 20:49

Re: DIVandMOD
 
Warum eigentlich eine DLL? Eine normale Unit würde es doch auch tun. Und wenn du den Quellcode nicht herausgeben willst, kannst du ja auch immer noch nur die DCU herausgeben. Ich finde eine DLL für sowas, was eigentlich nur Spielerei ist, total übertrieben.

Christopher

semo 20. Aug 2007 20:50

Re: DIV and MOD
 
spielerei, darum geht es ihm ja denke auch.
jeder fängt mal klein an oder?

dajuhsa 20. Aug 2007 20:59

Re: DIVandMOD
 
Zitat:

Zitat von CalganX
Warum eigentlich eine DLL? Eine normale Unit würde es doch auch tun. Und wenn du den Quellcode nicht herausgeben willst, kannst du ja auch immer noch nur die DCU herausgeben. Ich finde eine DLL für sowas, was eigentlich nur Spielerei ist, total übertrieben.

Christopher

is halt meine erste dll und ich glaub auch nicht dass die jemals ernsthaft eingesetzt wird, deshalb auch kein ernsthaftes format.
mein code is ja dabei und eigentlich wollt ich nur mal sehen ob das bei mir als dll überhaupt klappt

sirius 20. Aug 2007 21:04

Re: DIV and MOD
 
Du darfst nicht nur die Funktionen ergänzen, sondern musst auch die Unist aus der uses-Liste entfernen. Die tauchen in deiner DLL noch auf.
Ich hatte es unter 20kb.
Wobei der Vorteil noch dadurch vergrößert wird, dass nicht unnötig Klassen (z.B. Exception) durch die Units instanziert werden.

Khabarakh 20. Aug 2007 21:12

Re: DIVandMOD
 
Zitat:

Zitat von sirius
-da power bei dir nur mit natürlichen zahlen rechnet, kannst du auch math rausschmeissen und power durch eine forschleife o.ä. ersetzen

Power lässt sich ohne Math-Unit durch Exp() und Ln() ersetzen:
a^b = (e^ln a)^b = e^(b * ln a)

sirius 20. Aug 2007 21:30

Re: DIVandMOD
 
Zitat:

Zitat von Khabarakh
Zitat:

Zitat von sirius
-da power bei dir nur mit natürlichen zahlen rechnet, kannst du auch math rausschmeissen und power durch eine forschleife o.ä. ersetzen

Power lässt sich ohne Math-Unit durch Exp() und Ln() ersetzen:
a^b = (e^ln a)^b = e^(b * ln a)

Ja, das ist zwar richtig, aber weist du wie lange die FPU rattert, eh sie etwas mit der eulerschen Zahl zustande gebracht hat. Da ist (wie gesagt: natürliche Zahlen!) eine for schleife bedeutend schneller.

dajuhsa 20. Aug 2007 21:39

Re: DIV and MOD
 
@Khabarakh: Aha!! - Das versteh ich nicht...
@sirius: ich glaub ich lass es jetzt einfach is auch egal

sirius 20. Aug 2007 21:57

Re: DIV and MOD
 
Ich dachte du wolltest dazulernen :zwinker:, dafür sind wir doch hier :dp:

Was K. gemeint hat, kommt aus den Logarithmengesetzen. Ist keine Zauberei. (und wenn du 13 bist, dann hab Geduld, das kommt noch in der Schule).
So macht es auch die Unit math. Bzw. so hat man es früher selber implemtiert als man noch keine Unit math hatte. Damit kann man quasi x^y für alle reellen Zahlen (mit x>0) rechnen. günstiger für die FPU wäre IMHO x^y = 2^(x*lb(a)). Aber für deine Anwendung ist das alles overkill. Vermeide Fleißkommazahlen (single,double,real,extended) solange es geht!

dajuhsa 20. Aug 2007 22:13

Re: DIV and MOD
 
ja ich will auch lernen aber ich finde die sysutils.pas nicht^^
außerdem fällt mir nichts mehr ein was ich noch machen könnte weil auf optimierung hab ich keine lust wenn es nur ums lernen geht^^
nochwas:
meinst du nicht Fließkommazahl?
was ist schneller? Mein ChangeDig oder irgendwas mit strings und inttostr?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:55 Uhr.
Seite 2 von 4     12 34      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz