
Determinar a utilização de variáveis tipo FLOAT.
$ FLOAT
Possibilita a declaração de variáveis de ponto flutuante.
Este comando faz com que toda e qualquer variável numérica seja tratada como de ponto flutuante, salvo as declaradas pela função FTON().
Variáveis FLOAT são úteis pois agilizam os processos aritméticos , e devem ser utilizadas em PROCEDURES ou FUNCTION que executem muitos cálculos.
O uso deste comando deve ser limitado às rotinas de cálculo, pois todo e qualquer numérico é convertido para FLOAT e depois para numérico, gastando tempo nesta conversão.
Útil para diminuir o consumo de memória, pois variáveis numéricas ocupam 21 bytes ao passo que as variáveis FLOAT ocupam 8 bytes cada.
Economiza-se muito em vetores numéricos, exageradamente grandes, nestes casos utilizar a função NTOF( ).
As funções numéricas da biblioteca LIBFACBIB não são afetadas por este comando, retornando assim valores numéricos. Para alterar o retorno destas funções utilizar o comando $FLOATFUN.
O exemplo a seguir mostra como utilizar esta opção. Experimente tirar a linha, com o comando $FLOAT e verifique a diferença do tempo de execução.
$FLOAT
PROG
inicio = TIME()
FOR i = 1 TO 10000
a = i * i + i - 10000/i
NEXT
fim = TIME()
? ELAPTIME(inicio,fim)
O exemplo a seguir mostra a utilização da função NTOF( ) para declarar um vetor tipo FLOAT.
* O vetor vet_float ocupará 40.000 bytes.
DECLARE vet_float1[5000] = NTOF(0)
* O vetor vet_num ocupará 105.000 bytes.
DECLARE vet_num[5000] = 0
* Representa uma economia de 65.000 bytes.
$ FLOATFUN, DECLARE, SET DECIMAL e STORE.
