v0.2.14
This commit is contained in:
@@ -116,7 +116,7 @@ Le modulo euclidien sera une opération explicite du Core/SDK.
|
||||
|
||||
La sémantique flottante suit IEEE pour les représentations et opérations applicables. Les littéraux sont arrondis vers le type flottant cible selon les règles IEEE normales ; Saselang n'exige pas qu'un littéral décimal soit représentable exactement.
|
||||
|
||||
Le tableau exact des cas particuliers, conversions, NaN, infinities, division par zéro et comportement de `%` flottant doit être normatif avant implémentation finale.
|
||||
Les règles de conversion, `NaN`, infinities et zéros signés déjà figées sont détaillées au chapitre 24 et dans l'annexe `A-numeric-conversions.md`. Les règles restantes des opérations flottantes, notamment division par zéro et comportement de `%`, doivent encore être fermées avant implémentation finale.
|
||||
|
||||
## 5.7 Littéraux numériques — V1 REQUIS — FIGÉ EN PRINCIPE
|
||||
|
||||
@@ -215,4 +215,20 @@ bitcast<float16>(value)
|
||||
|
||||
qui réinterprète les bits selon les règles de `bitcast`. Les règles de plage et d'échec des conversions sont différées au groupe casts/conversions.
|
||||
|
||||
## 5.8 Abstraction Core `Numeric` — V1 REQUIS — DIRECTION FIGÉE
|
||||
|
||||
Le Core doit fournir une véritable abstraction nominale `Numeric`.
|
||||
|
||||
`Numeric` n'est pas une catégorie syntaxique spéciale du compilateur et ne remplace pas les types primitifs. Elle sert à exprimer des contrats génériques réels :
|
||||
|
||||
```text
|
||||
where T implements Numeric
|
||||
```
|
||||
|
||||
Les primitives numériques Saselang satisfont le contrat `Numeric` via le Core.
|
||||
|
||||
Les types utilisateurs pourront satisfaire `Numeric` uniquement en implémentant explicitement son contrat lorsque celui-ci sera définitivement spécifié. La présence de méthodes ressemblant à des opérations numériques ne suffit jamais par duck typing.
|
||||
|
||||
La hiérarchie exacte de `Numeric`, ses membres et ses relations éventuelles avec `Comparable<T>` et les interfaces `Op...` restent à fermer lors de la définition exhaustive du Core.
|
||||
|
||||
---
|
||||
|
||||
Reference in New Issue
Block a user