~ubuntu-branches/ubuntu/feisty/petsc/feisty

« back to all changes in this revision

Viewing changes to src/sys/src/adic/adintrinsics/adintr_log10.c

  • Committer: Bazaar Package Importer
  • Author(s): Adam C. Powell, IV
  • Date: 2005-03-24 09:46:23 UTC
  • mfrom: (2.1.2 hoary)
  • Revision ID: james.westby@ubuntu.com-20050324094623-dfcxn8bltjms2cqq
Tags: 2.2.0-4
* Update for new mpich >> 1.2.5.3-2.
* Fixed src/inline/axpy.h for complex and UNROLL (closes: #284023, #293011).
* Added -fno-strict-aliasing to compile flags (closes: #274009).
* Switched SLES stuff to KSP in petsc.m4 (closes: 267796).

Show diffs side-by-side

added added

removed removed

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