3
function_driver -> adintr_frexp
4
exception number -> ADINTR_FREXP
10
#include "adintrinsics.h"
11
#include "knr-compat.h"
12
#if defined(__cplusplus)
16
/* #include "report-once.h" */
17
void reportonce_accumulate Proto((int,int,int));
20
/* The fy must be on a line by itself to be removed for funcs like sin(x). */
22
adintr_frexp (int deriv_order, int file_number, int line_number,
23
double*fx, double*fy,...)
25
/* Hack to make assignments to (*fxx) et alia OK, regardless */
27
double *fxx = &scratch;
28
double *fxy = &scratch;
29
double *fyy = &scratch;
31
const int exception = ADINTR_FREXP;
38
fxx = va_arg(argptr, double *);
39
fxy = va_arg(argptr, double *);
40
fyy = va_arg(argptr, double *);
43
/* Here is where exceptional partials should be set. */
44
*fxx = ADIntr_Partials[ADINTR_FREXP][ADINTR_FXX];
45
*fxy = ADIntr_Partials[ADINTR_FREXP][ADINTR_FXY];
46
*fyy = ADIntr_Partials[ADINTR_FREXP][ADINTR_FYY];
49
/* Here is where we perform the action appropriate to the current mode. */
50
if (ADIntr_Mode == ADINTR_REPORTONCE)
52
reportonce_accumulate(file_number, line_number, exception);
57
#if defined(__cplusplus)