JS: Handling Infinity values for Float fields
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 42/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- javascript
- Domaine
- backend
Piste de recherche
Commencez dans encoder.js, au niveau de BinaryEncoder.prototype.writeFloat, et examinez l’implémentation liée, puis suivez la manière dont splitFloat32 et writeUint32 gèrent Infinity. La tâche est terminée lorsque le comportement accepté pour Infinity est implémenté conformément au commentaire de la méthode et clairement documenté.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Hello!
I noticed that in encoder.js, the method does not allow writeFloat does not accept Infinity as its value
/**
* Writes a single-precision floating point value to the buffer. Numbers
* requiring more than 32 bits of precision will be truncated.
* @param {number} value The value to write.
*/
jspb.BinaryEncoder.prototype.writeFloat = function(value) {
goog.asserts.assert((value >= -jspb.BinaryConstants.FLOAT32_MAX) &&
(value <= jspb.BinaryConstants.FLOAT32_MAX));
jspb.utils.splitFloat32(value);
this.writeUint32(jspb.utils.split64Low);
};
And its comment seems misleading because it says Numbers requiring more than 32 bits of precision will be truncated. but in reality, it throws an error.
Shouldn't writeFloat remove this restriction or at least this assert?
Thanks in advance,
- Langage dominant
- JavaScript
- Étoiles
- 471
- Forks
- 91
- Merge moyen
- 3 h 57 min
- PR mergées (30 j)
- 2
Guide de contribution
Aucun guide de contribution indexé pour ce dépôt
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de protocolbuffers/protobuf-javascript
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 30/100
protocolbuffers/protobuf-javascript#248 · 1 commentaire · 13 réactions ·
-
question
Difficulté 3/5 1-2 jours Accessibilité débutants 45/100
protocolbuffers/protobuf-javascript#222 · 9 commentaires ·
-
Why map.js sort keys? Ouverteenhancement port-fix triaged
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
protocolbuffers/protobuf-javascript#185 · 1 commentaire ·
-
enhancement port-fix triaged
Difficulté 4/5 3-5 jours Accessibilité débutants 35/100
protocolbuffers/protobuf-javascript#182 · 3 commentaires · 1 réaction ·
Toutes les issues de protocolbuffers/protobuf-javascript
Issues similaires
-
Update HugeIcons library Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
antfu-collective/icones#398 ·
-
ECmail.com Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 90/100
wesbos/burner-email-providers#554 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
radiantearth/stac-browser#1023 ·
-
HMR stops working Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
components-web-app/docs#92 ·