Logarithme népérien (haut débit)

Calcule le logarithme népérien en base e d'une valeur en entrée spécifiée.

Si x est 0, ln est -

. Si x n'est pas complexe et est inférieur à 0, ln est Pas un nombre (NaN).

Entrées/Sorties

datatype_icon

x

Une entrée pour cette opération. x doit se trouver dans la gamme [-1/e, 1] et non signé. La longueur de mot de la partie entière doit être de 0 bits.

Cette entrée ne supporte que les valeurs scalaires de type de données à virgule fixe.

Calculer In(x) quand x est en dehors de la gamme valide

Effectuez les étapes suivantes pour calculer ln( x) quand x est en dehors de la gamme [1/e, 1) :

  1. Décalez la virgule binaire de x jusqu'à ce que la virgule binaire soit immédiatement à la gauche du premier bit autre que zéro de x. Le nombre M résultant est toujours supérieur ou égal à 0,5, qui est dans la gamme valide [1/e; 1).
  2. Calcule ln(M) + (E × ln(2)), E étant égal au nombre de fois que vous avez décalé la virgule binaire vers la gauche. Le résultat est équivalent à ln(x).
  3. Comme M est dans la gamme valide de [1/e; 1), utilisez ce nœud pour calculer ln(M).
Remarque Si vous décalez la virgule binaire vers la droite, E est la valeur négative du nombre de fois que vous avez décalé la virgule. Par exemple, si vous décalez la virgule binaire de trois places sur la droite, E est -3.

NI recommande un décalage binaire pour transformer x en M, car cette opération requiert moins de ressources FPGA qu'une division.

datatype_icon

entrée valide

Valeur booléenne qui spécifie si le point de données suivant est valide et peut être traité.

Câblez la sortie sortie valide d'un nœud en amont à cette entrée pour transférer des données du nœud en amont à ce nœud-ci.

Vrai Le point de données est valide et peut être traité.
Faux Le point de données n'est pas valide.
datatype_icon

prêt pour la sortie

Valeur booléenne qui spécifie si les nœuds en aval sont prêts à ce que ce nœud-ci renvoie une nouvelle valeur.

Utilisez Nœud de rétroaction pour câbler cette entrée à l'entrée prêt pour l'entrée d'un nœud en aval. Si cette entrée est Faux pendant un cycle donné, sortie valide renvoie Faux pendant ce cycle.

Vrai Le nœud en aval est prêt pour l'élément de données suivant.
Faux Le nœud en aval n'est pas prêt pour l'élément de données suivant.

Default value: Faux

datatype_icon

ln(x)

Logarithme népérien de x. Si x est en-dehors de la gamme [1/e, 1), ln(x) est non défini.

datatype_icon

non définies

Un booléen qui indique si ln(x) est non défini.

VRAI ln(x) est non défini.
FAUX ln(x) n'est pas non défini.
datatype_icon

sortie valide

Valeur booléenne qui indique si ce nœud calcule un résultat qui peut être utilisé par les nœuds en aval.

Câblez cette sortie à l'entrée entrée valide d'un nœud en aval pour transférer les données du nœud au nœud en aval.

Vrai Les nœuds en aval peuvent utiliser le résultat que ce nœud calcule.
Faux Ce nœud renvoie une valeur non définie que les nœuds en aval ne peuvent pas utiliser.
Remarque Ce nœud peut renvoyer des valeurs non définies différentes selon qu'il s'exécute en mode simulation ou sur du matériel.
datatype_icon

prêt pour l'entrée

Valeur booléenne qui indique si ce nœud est prêt à accepter de nouvelles données en entrée.

Utilisez Nœud de rétroaction pour câbler cette sortie à la sortie prêt pour la sortie d'un nœud en amont.

Vrai Le nœud est prêt à accepter de nouvelles données en entrée.
Faux Le nœud n'est pas prêt à accepter de nouvelles données en entrée.
Remarque Si cette sortie renvoie Faux pendant un cycle donné, ce nœud rejette les données qui lui sont envoyées par d'autres nœuds pendant le cycle suivant. Ce nœud rejette ces données même si le terminal entrée valide est Vrai pendant le cycle suivant.