Opérations à virgule flottante dans Xamarin.iOS

Xamarin.iOS effectue par défaut des opérations à virgule flottante 32 bits et 64 bits à l’aide d’une précision 64 bits sur ARM.

Bien que cette précision plus élevée soit plus proche de ce que les développeurs attendent des opérations à virgule flottante en C# sur le bureau, sur mobile, l’impact sur les performances peut être significatif.

Il est possible de compiler votre code à virgule flottante 32 bits pour utiliser des opérations à virgule flottante 32 bits. Pour ce faire, vous pouvez décocher l’option « Effectuer toutes les opérations float 32 bits en tant que 64-float » dans la page de propriétés build iOS dans Visual Studio, ou définir la MtouchFloat32 propriété dans le fichier projet sur true (créer la propriété si elle n’existe pas déjà) :

<MtouchFloat32>true</MtouchFloat32>

Cela permet aux compilateurs statiques (soit le compilateur statique intégré de Mono, soit celui alimenté par LLVM) d’effectuer des opérations à virgule flottante à l’aide de floats 32 bits.