Frage

Ich schreibe ein Spielzeug Compiler -Ding, das Funktionsaufrufe optimieren kann, wenn das Ergebnis nur von den Werten der Argumente abhängt. Funktionen wie XOR und Concattenate hängen also nur von ihren Eingaben ab. Wenn Sie sie mit demselben Eingang aufrufen, gibt es immer den gleichen Ausgang. Funktionen wie Time und Rand hängen jedoch vom "versteckten" Programmstatus ab, und wenn Sie sie mit derselben Eingabe aufrufen, kann dies unterschiedliche Ausgaben ergeben. Ich versuche nur herauszufinden, was das Adjektiv ist, das diese beiden Arten von Funktionen unterscheidet, wie "isomorph" oder "Wiedereintritt" oder so. Kann mir jemand das Wort sagen, nach dem ich suche?

War es hilfreich?

Lösung

Der Begriff, den Sie suchen, ist Rein

Andere Tipps

Ich denke, es heißt Reine Funktion:

Bei der Computerprogrammierung kann eine Funktion als rein bezeichnet werden, wenn beide Aussagen über die Funktion enthalten:

  • Die Funktion bewertet immer denselben Ergebniswert, der denselben Argumentwert (n) bezeichnet. Der Funktionsergebniswert kann nicht von versteckten Informationen oder Status abhängen, die sich im Laufe der Programmausführung oder zwischen unterschiedlichen Ausführungen des Programms ändern können, und er kann auch nicht von externen Eingaben von E/A -Geräten abhängen.
  • Die Bewertung des Ergebnisses verursacht keine semantisch beobachtbare Nebenwirkung oder -ausgabe, wie z. B. Mutation von veränderlichen Objekten oder Ausgabe an E/A -Geräte.

Der Ergebniswert muss nicht von allen (oder einer) der Argumentwerte abhängen. Es muss jedoch von nichts anderem als den Argumentwerten abhängen.

Ich denke, Sie könnten sagen, das Adjektiv ist "rein", wenn Sie "reine Funktion" durchgehen.

Ich habe immer gelernt, dass eine Funktion, deren Ausgabe immer gleich ist, wenn die Argumente immer gleich sind, als "deterministisch" bezeichnet wird. Persönlich bin ich der Meinung, dass dies ein beschreibenderer Begriff ist. Ich denke, eine "reine Funktion" ist per Definition deterministisch, und es scheint auch eine reine Funktion erforderlich zu sein, keine Nebenwirkungen zu haben. Ich gehe davon aus, dass dies für alle deterministischen Funktionen nicht der Fall sein muss (solange der Rückgabewert für dieselben Argumente immer gleich ist).

Wikipedia Link: http://en.wikipedia.org/wiki/deterministic_algorithmus

Zitieren:

Bei einer bestimmten Eingabe erzeugt es immer die gleiche Ausgabe, und die zugrunde liegende Maschine wird immer die gleiche Reihenfolge von Zuständen durchlaufen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top