Ottenere il resto da due operandi di tipo Float di una divisione con le risorse del API di Libm.so.6

Da Gambas-it.org - Wikipedia.

Come è noto l'operatore di Gambas Mod prevede, quali suoi operandi, solo valori di tipo Intero.

Per poter ottenere il resto in una divisione, ove i due operandi sono di tipo Float, è possibile utilizzare la funzione esterna fmod( ) o con la funzione esterna drem( ), entrambe dichiarate nel file header /usr/include/x86_64-linux-gnu/bits/mathcalls.h.

Per poter utilizzare tali risorse in Gambas è necessario richiamare la libreria dinamica condivisa: "libm.so.6"


Mostriamo un semplice esempio con la funzione esterna fmod( ):

Library "libm:6"

' fmod (_Mdouble_ __x, _Mdouble_ __y)
' Floating-point modulo remainder of X/Y.
Private Extern fmod(__x As Float, __y As Float) As Float


Public Sub Main()
 
 Dim f As Float
 
  f = fmod(23.123, 7.076)
   
  Print f
  
End



Riferimenti