Ottenere il numero più piccolo e quello più grande fra tre o più numeri mediante le funzioni esterne del API di libgsl

Da Gambas-it.org - Wikipedia.

La libreria GSL (GNU Scientific Library) fornisce risorse di alto livello per il calcolo numerico.

Per fruire delle risorse della libreria GSL è necessario richiamare nell'applicazione Gambas la libreria dinamica condivisa: libgsl.so.27.0.0


Mostriamo un semplice esempio per conoscere da un insieme di 6 numeri interi il valore più piccolo e quello più grande:

Library "libgsl:27.0.0"

' int gsl_stats_int_max (const int data[], const size_t stride, const size_t n)  
' Returns the maximum value in data, a dataset of length n with stride stride.
Private Extern gsl_stats_int_max(int_data As Integer[], stride As Integer, n As Integer) As Integer
  
' int gsl_stats_int_min(const int data[], const size_t stride, const size_t n)
' Returns the minimum value in data, a dataset of length n with stride stride.
Private Extern gsl_stats_int_min(int_data As Integer[], stride As Integer, n As Integer) As Integer


Public Sub Main()
 
 Dim dati As Integer[] = [12, 18, 26, 39, 52, 77]
 Dim gr, pc As Integer
 
 gr = gsl_stats_int_max(dati, 1, 6)
 pc = gsl_stats_int_min(dati, 1, 6)
  
 Print "Il valore più grande è:  "; gr
 Print "Il valore più piccolo è:  "; pc
  
End


Riferimenti