Italia
Foro

Was sind native Funktionen?

 
- Page 1 -



Weil du immer noch nicht verständlich erklärt hast, was nprocs sind.


Hallo Nico,

danke per den Hinweis und den Thread hier - leider kann ich damit aber nichts anfangen da ich nicht wissen kann, was Du nicht verstehst.

Vlt. kannst Du mir unter Beachtung der Documentazione  [...]  sagen, was Dir unklar ist.


Inline-Assembler:
 
11.11.2009  
 



 
- Page 9 -



Frank
Abbing
iF, Beitrag=55273, Zeitpunkt=30.11.2009
In reinem ASM ja, in NProcs nicht unbedingt - also besser nicht denn der Operator würde aufgelöst was letztendlich nicht schneller sein kann als add eax,4


Hab ich nicht verstanden. Warum werden reine Assemblerzeilen denn nicht direkt übernommen?
 
30.11.2009  
 




Dietmar
Horn
Hallo zusammen,

hier mal ein kleines Demo per Noch-XPSE-Skeptiker, welches 1 Million Mal zu einer Zahl 1 addiert und deutlich den Geschwindigkeitsvorteil von nProc opposto reinem XProfan-Code veranschaulicht:
KompilierenMarkierenSeparieren
 {$CLEQ}
declare zeit1&,zeit2&,zeit&

nPROC ADDIEREN

    var zahl&=0

    Whileloop 1000000

        add zahl&,1

    EndWhile

    return zahl&

ENDPROC

PROC ADDIERE

    var zahl&=0

    Whileloop 1000000

        add zahl&,1

    EndWhile

    return zahl&

ENDPROC

WindowTitle " Bitte warten ... teste mit nProc von XPSE"
cls
Print ""
zeit1& = &GetTickCount
Print "Schleifendurchläufe: " + str$(ADDIEREN())
zeit2& = &GetTickCount
zeit& = zeit2& - zeit1&
print "Ausführungsgeschwindigkeit mit nProc von XPSE: " + str$(zeit&) + " Millisekunden"
WindowTitle " Bitte warten ... teste mit reinem XProfan"
Print ""
zeit1& = &GetTickCount
Print "Schleifendurchläufe: " + str$(ADDIERE())
zeit2& = &GetTickCount
zeit& = zeit2& - zeit1&
print "Ausführungsgeschwindigkeit mit reinem XProfan: " + str$(zeit&) + " Millisekunden"
SetText %HWnd,"Geschwindigkeitstest beendet!"
waitinput
end

Und das Feine daran: Man necessario dafür keinen einzigen Assembler-Befehl.

Saluto
Dietmar

25 kB
Hochgeladen:30.11.2009
Downloadcounter60
Download
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
30.11.2009  
 




Christian
Schneider
Beachtlich!

Installiert hab ich XPSE ja immerhin schonmal. ;)
Werde mich demnächst auf jeden Fall mal näher damit beschäftigen.

Edit: Musste beim Testen mal ein wenig "übertreiben". Macht das Ganze auf jeden Fall noch deutlicher.

10 kB
Hochgeladen:30.11.2009
Downloadcounter102
Download
 
XProfan 11| Vista(64) SP2
30.11.2009  
 




Dietmar
Horn
Und hier per alle Noch-Nicht-Besitzer der aktuellen Vollversion XProfan 11.2a das Testprogramm als Exe-File zum Selberausprobieren.

Saluto
Dietmar

468 kB
Hochgeladen:30.11.2009
Downloadcounter73
Download
 
Multimedia für Jugendliche und junge Erwachsene - MMJ Hoyerswerda e.V.  [...] 

Windows 95 bis Windows 7
Profan² 6.6 bis XProfan X2 mit XPSE

Das große XProfan-Lehrbuch:  [...] 
30.11.2009  
 




Rolf
Koch
Und ich werf jetzt ganz frech hinterher: Wer meint iF wäre nur ein MACHNURSO und WILLGROSSSEIN (hatten wir in der langjährigen Profanszene schon oft), der irrt GEWALTIG. Ich bin von Natur aus ein skeptischer Mensch und hatte damals (weis iF von mir bereits, da wir immer ehrlich miteinander schreiben) auch gedacht: Nee schon wieder einer der sich grosstun will, gell iF
Aber NEIN! - Ich stehe 100000%ig hinter iF, weil a.) er menschlich, sachlich und nicht grössenwahnsinnig geworden ist b.) weil ich bei jedem Gespräch mit ihm dazulerne und c.) ich ihn eigenlich heiraten will - LOOOOOL nee Quatsch!
XPSE ist der Wahnsinn!
 
30.11.2009  
 



Werd ja komplett verlegen!
 
01.12.2009  
 



@Nico: Negative Floats-Bug ( -1.0 ) gefunden, wenn beseitigt dann Update! Danke!
 
02.12.2009  
 




Nico
Madysa
Nichts zu danken, ich habe ja auch was davon.
 
Nico Madysa
02.12.2009  
 



Update hochgeladen:  [...]  , auch nun Float als Befehl  [...]  und die Arcs ...
 
03.12.2009  
 




Nico
Madysa
Das Arc; arctan reicht wie gesagt. Bin dabei die Math.inc von Roland per NProcs umzuschreiben, da kann man dann arccos und arcsin circa Ersteres definieren.
Fast wichtiger wäre allerdings die exp-Funktion und der natürliche Logarithmus ln (oder auch log). Mit denen kann man dann nämlich wieder einiges anderes ausdrücken.
 
Nico Madysa
03.12.2009  
 




Nico
Madysa
Ah, ich habe gerade gesehen, dass du mir voraus bist; im Bezug auf die Arkusfunktionen.

Hast du schon per exp etwas in petto? Die Definition die ich kenne, ist leider
1) aufwendig (zwei verschachtelte Schleifen) und
2) nur näherungsweise gültig.

Wobei mir gerade einfällt ...
KompilierenMarkierenSeparieren
proc Pow

    parameters x!,n&
    var ret! = 1

    whileloop n&

        ret! = ret! * x!

    EndWhile

    return ret!

endproc

proc fakultaet

    parameters n&
    case n& <= 1 : return 1
    return n * fakultaet(n&-1)

endproc

nproc exp  Eulersche Zahl e^x!

    parameters x!
    var e! = 0.0

    whileloop 99999 halt möglichst groß

        e! = e! + Pow(x!,&loop) / fakultaet(&loop)

    EndWhile

    return e!

endproc

 
Nico Madysa
03.12.2009  
 



In dieses "Format" muss es letztendlich gebracht werden:
KompilierenMarkierenSeparieren
Das man arccos etc ableiten kann, ist mir schon klar. Dennoch habe ich die "Formeln" nochmal optimiert und jeweils extra eine Konstante reserviert denn abgeleitete Funktionen sind deutlich langsamer als optimierter FPU-ASM und wir sind in der Funktionsanzahl nicht beschränkt.

Beispielsweise reserviere ich doch lieber einmalig global
KompilierenMarkierenSeparieren
__xeTF_00 dq 0.0
__xeTF_01 dq 1.0
__xeTF_02 dq 1.57079632679489656
__xeTF_03 dq 0.01745329251994329
__xeTF_04 dq 57.29577951308232087
als pro Funktionsaufruf jedesmal pi/180 zu rechnen.
 
03.12.2009  
 




Answer


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

39.150 Views

Untitledvor 0 min.
p.specht15.11.2018
Ernst02.07.2016
funkheld11.04.2016
HofK26.01.2016
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie