Enterprise COBOL for z/OS, Version 4.2
A maioria das funções intrínsecas COBOL tem serviços chamáveis orientados a matemática correspondentes que você pode usar para produzir os mesmos resultados.
Quando você compila com a opção padrão ARITH (COMPAT), as funções intrínsecas de ponto flutuante COBOL retornam resultados longos (64 bits).
Quando você compila com a opção ARITH (EXTEND), as funções intrínsecas de ponto flutuante COBOL (com exceção de RANDOM) retornam resultados de precisão estendida
(128 bits).
Por exemplo (considerando a primeira linha da tabela abaixo), se você compilar usando ARITH (COMPAT), CEESDACS retorna o mesmo resultado que ACOS.
Se você compilar usando ARITH (EXTEND), CEESQACS retorna o mesmo resultado que ACOS.
Tabela 1. Compatibilidade de funções matemáticas intrínsecas e serviços chamáveis
| Função intrínseca COBOL |
Serviço de chamada de ambiente de linguagem de precisão longa correspondente |
Serviço de chamada de ambiente de linguagem de precisão estendida correspondente |
Resultados iguais para função intrínseca e serviço que pode ser chamado |
| ACOS |
CEESDACS |
CEESQACS |
sim
|
| ASIN |
CEESDASN |
CEESQASN |
sim |
| ATAN |
CEESDATN |
CEESQATN |
sim |
| COS |
CEESDCOS |
CEESQCOS |
Sim |
| LOG |
CEESDLOG |
CEESQLOG |
Sim |
| LOG10 |
CEESDLG1 |
CEESQLG1 |
Sim |
| RANDOM1 |
CEERAN0 |
none |
Não |
| REM |
CEESDMOD |
CEESQMOD |
Sim |
| SIN |
CEESDSIN |
CEESQSIN |
SIm |
| SQRT |
CEESDSQT |
CEESQSQT |
Sim |
| TAN |
CEESDTAN |
CEESQTAN |
Sim |
- RANDOM retorna um resultado de ponto flutuante longo (64 bits) mesmo se você passar um argumento de 31 dígitos e compilar com ARITH (EXTEND).
|
Tanto a função intrínseca RANDOM quanto o serviço CEERAN0 geram números aleatórios entre zero e um.
No entanto, como cada um usa seu próprio algoritmo, RANDOM e CEERAN0 produzem números aleatórios diferentes da mesma semente.
Mesmo para funções que produzem os mesmos resultados, o modo como você usa funções intrínsecas e serviços chamáveis do Language Environment é diferente.
As regras para os tipos de dados necessários para argumentos de função intrínseca são menos restritivas.
Para funções intrínsecas numéricas, você pode usar argumentos de qualquer tipo de dados numéricos.
Ao invocar um serviço que pode ser chamado de Ambiente de Linguagem com uma instrução CALL, no entanto, você deve garantir que os parâmetros correspondam aos tipos
de dados numéricos (geralmente COMP-1 ou COMP-2) exigidos por esse serviço.
O tratamento de erros de funções intrínsecas e serviços chamáveis do Ambiente de Linguagem às vezes é diferente.
Se você passar um token de feedback explícito ao chamar os serviços matemáticos do Language Environment, deverá verificar o código de feedback após cada chamada e
tomar medidas explícitas para lidar com os erros.
No entanto, se você chamar com o token de feedback explicitamente OMITTED, não será necessário verificar o token; Ambiente de linguagem sinaliza automaticamente
quaisquer erros.
Conceitos relacionados:
Tarefas relacionadas:
Referências Relacionadas:
© Copyright IBM Corp.