BCX Console Demonstration Program s150.bas

 ' -------------------------------------------------------------- 
 ' BCX version 3.41 brought FUNCTION and SUB pointers to BCX 
 ' Wayne Halsdorf demonstrates how they work in the sample below 
 ' -------------------------------------------------------------- 
 
 DIM x AS DOUBLE
 DIM y AS DOUBLE
 DIM pf(a AS DOUBLE, b AS DOUBLE) AS FUNCTION DOUBLE
 
 x = 1.23
 y = 1.67
 pf = GeometricMean
 CALL Test
 
 pf = Average
 CALL Test
 
 SUB Test
   DIM z AS DOUBLE
   z = pf(x, y)
   ? z
 END SUB
 
 FUNCTION GeometricMean(a AS DOUBLE, b AS DOUBLE) AS DOUBLE
   FUNCTION = SQRT(a * b)
 END FUNCTION
 
 FUNCTION Average(a AS DOUBLE, b AS DOUBLE) AS DOUBLE
   FUNCTION = (a + b) / 2
 END FUNCTION