float foo (double a, float b) { return (a+b)*(a-b); }
float foo1 (float a, float b) { return sin(a) + b; }
Observação 1: não use as operações de seno/coseno do coprocessador.
Chame explicitamente as funções sin
/cos
quando necessário.
Lembre-se que o argumento dessas funções é um double
.
Para gerar seu programa executável,
utilize:
gcc -Wall -lm ...(a opção '-lm' é para incluir a biblioteca matemática na ligação)
double foo2 (float a, float b) { return sin(a) + cos(b); }(Dica: use um espaço na pilha para guardar o resultado da primeira chamada de função.)
double foo3 (double *a, int n) { int i; double r = 0.0; for (i=0; i<n; i++) r += sin(a[i]); return r; }