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 4 -



Nico
Madysa
Richtig:
An dieser Zeile:
KompilierenMarkierenSeparieren
whileloop (0 - 2 * genau&),genau
re>

verschluckt sich der Kompiler noch.
Diese beiden hier klappen hingegen
KompilierenMarkierenSeparieren
whileloop (0 - 2) * genau&,genau& Leere vor und nach dem Minus

    whileloop (0-2 * genau&,genau& 0-2; keine Leerzeichen<
/pre>
 
Nico Madysa
14.11.2009  
 




Nico
Madysa
Es kläppt einfach, einfach nicht.
Mit XPSE kam Mist raus. Dann änderte ich NProc in proc, Machte aus der API SetPixel die profane Prozedur und das Ganze wurde nicht nur 100-mal langsamer, sondern vor allen Dingen korrekt.


15 kB
Kurzbeschreibung: Meine Mandeln
Hochgeladen:14.11.2009
Downloadcounter77
Download
 
Nico Madysa
14.11.2009  
 



Genau, grad eben Bugfix hochlade - bitte probiere mal diesen neuen - ich poste gleich.
 
14.11.2009  
 



So, bitte mal neue Version laden: [...] 

Bedenke aber auch, es ist eine Alphaversion!

Was ich gesehen habe an Deinem Mandelbrot, dass Du überall von einer automatischen Konvertierung der Variablentypen Float und Long ausgehst - aber ganz im gegenteil! Du kannst nicht x!=&getTickCount, musst x!=float(&getTickCount), kannst auch nicht test(1,2,3) bei parameters a!,b!,c! sondern musst test(1.0,2.0,3.0) schreiben!

Eine autom.Konvertierung zwischen Long und Float und zurück hatte ich oben aber schon angedacht, ich denke wäre hilfreich!

Jedenfalls, wenn etwas nicht funktioniert, dann wäre ich dankbar wenn Du das postest, damit ich Fehler im XPSE ausschliessen kann.
 
14.11.2009  
 



Nico Madysa, Beitrag=54947, Zeitpunkt=14.11.2009
Richtig:
An dieser Zeile:
KompilierenMarkierenSeparieren
whileloop (0 - 2 * genau&),genau
re>

verschluckt sich der Kompiler noch.


Ah! Noch ein versteckter Minusbug! Juhu, wird immer fehlerfreier.
 
14.11.2009  
 




Nico
Madysa
Wird erledigt!

Das mit der Typumwandlung wusste ich nicht. Ich werde noch mal alles durchsehen und dir Rapport erstatten.
 
Nico Madysa
14.11.2009  
 




Nico
Madysa
Habe jetzt die Typenumwandlung so gut wie possibile eingebaut.
Jetzt sieht das Bild schon nach Apfelmännchen aus -- aber so richtig äquivalent sind die Bilder immer noch nicht. :/
KompilierenMarkierenSeparieren
 {$cleq}

{Farbe

    nproc Farbe

        parameters ca!,cb!
        var za! = 0.0 : var zb! = 0.0
        var n& = 0 : var tmp! = 0.0

        repeat

            n& = n& + 1
            tmp! = za!
            za! = Sqr(za!) - Sqr(zb!) + ca!
            zb! = (2.0 * tmp! * zb!) + cb!
            tmp! = Sqrt(Sqr(za!) + Sqr(zb!))

        until (n& >= 255) or (tmp! > 2.0)

        var f& = n& int(255.0 * (1.0 - float(n&) / 255.0))
        return RGB(f&,f&,f&)

    endproc

    {Male

        nproc Male

            parameters x1&,y1& , genau&
            declare xi&,yi&
            x1& = xi& + 2 * genau&
            y1& = yi& + genau&

            whileloop (0 - genau&),genau&

                yi& = &loop

                whileloop (0 - 2) * genau&,genau&

                    xi& = &loop
                    SetPixel(%hDC,x1& + xi&,y1& + yi&,Farbe(float(xi&) / float(genau&),float(yi&) / float(genau&)))
                    SetPixel x1& + xi&,y1& + yi&,Farbe(float(xi&) / float(genau&),float(yi&) / float(genau&))

                EndWhile

            EndWhile

        endproc

        cls
        Male(200,200 , 100)
        waitinput
        ./../funzione-riferimenti/xprofan/end/'>end



PS: Wenn ich fehlerhafterweise schreibe:
KompilierenMarkierenSeparieren
var n& = 0.0

giebt XPSE witzigerweise aus, ich habehe versucht, String und Float z verknüpfen.

13 kB
Kurzbeschreibung: Mandelkrebs
Hochgeladen:14.11.2009
Downloadcounter54
Download
 
Nico Madysa
14.11.2009  
 



Ich sehe da auf jedenfall noch ein Bug bei Freizeichen vor Minuszeichen, bin bei!
 
14.11.2009  
 




Nico
Madysa
Herrje, immer dieses Geschmeiß!

 
Nico Madysa
14.11.2009  
 



Mit aktueller Version [...]  bitte nochmal testen.

Übrigens: Farbe(float(xi&) / float(genau&),float(yi&) / float(genau&)) aus einer proc heraus garnicht nötig, die Parameter von proc an nproc werden automatisch immer in den richtigen Typ gebracht wie mit Parameters in der nProc deklariert. Farbe(xi&/genau&,yi&/genau&) reicht.

Bedenke aber, Float- und Stringparameter sind um ein Vielfaches langsamer als Long, schnellstes Mandelbrot nur mit Long.
 
14.11.2009  
 




Nico
Madysa
Kompiliere Io l' Kode ohne Cambiamento erneut, so kommt exakt dasselbe heraus.
Folge ich hingegen deinem Hinweise (float an entsprechenden Stellen entfernen), so kommt nur Blödsinn raus.
 
Nico Madysa
14.11.2009  
 



Probiere mal bitte diese neue Version: [...]  . Habe noch einen Fehler bei Minus gefunden, kannst Du den Rechenfehler finden?
 
14.11.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.137 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