~ubuntu-branches/ubuntu/warty/petsc/warty

« back to all changes in this revision

Viewing changes to src/contrib/adic/adintrinsics/adintr_asin.c

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2004-06-07 13:41:43 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20040607134143-92p586zrauvie0le
Tags: 2.2.0-2
* Upstream patch level 2.
* New PETSC_BOPT_EXTRA option for different BOPT and lib names, with _c++
  symlinks only for plain and single (closes: #249617).
* New DEBIAN_DIST=contrib option to link with hypre, parmetis (closes:
  #249619).
* Combined petsc-c and petsc-fortran substvars into petsc-compilers.
* Extra quote in -dev prerm eliminates "too many arguments" problem.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
  macro expansion:
3
 
  function_driver -> adintr_asin
4
 
  exception number -> ADINTR_ASIN
5
 
  exceptional code -> 
6
 
*fx = ADIntr_Partials[ADINTR_ASIN][ADINTR_FX];
7
 
*fxx = ADIntr_Partials[ADINTR_ASIN][ADINTR_FXX];
8
 
 
9
 
  */
10
 
 
11
 
#include <stdarg.h>
12
 
#include "adintrinsics.h"
13
 
#include "knr-compat.h"
14
 
#if defined(__cplusplus)
15
 
extern "C" {
16
 
#endif
17
 
 
18
 
/* #include "report-once.h" */
19
 
void reportonce_accumulate Proto((int,int,int));
20
 
 
21
 
 
22
 
void
23
 
adintr_asin (int deriv_order, int file_number, int line_number,
24
 
                 double* fx, ...)
25
 
{
26
 
     /* Hack to make assignments to (*fxx) et alia OK, regardless */
27
 
     double scratch;
28
 
     double *fxx = &scratch;
29
 
 
30
 
     const int exception = ADINTR_ASIN;
31
 
 
32
 
     va_list argptr;
33
 
     va_start(argptr,fx);
34
 
 
35
 
     if (deriv_order == 2)
36
 
     {
37
 
          fxx = va_arg(argptr, double *);
38
 
     }
39
 
 
40
 
     /* Here is where exceptional partials should be set. */
41
 
*fx = ADIntr_Partials[ADINTR_ASIN][ADINTR_FX];
42
 
*fxx = ADIntr_Partials[ADINTR_ASIN][ADINTR_FXX];
43
 
 
44
 
 
45
 
     /* Here is where we perform the action appropriate to the current mode. */
46
 
     if (ADIntr_Mode == ADINTR_REPORTONCE)
47
 
     {
48
 
          reportonce_accumulate(file_number, line_number, exception);
49
 
     }
50
 
     
51
 
     va_end(argptr);
52
 
}
53
 
#if defined(__cplusplus)
54
 
}
55
 
#endif
56