~ubuntu-branches/ubuntu/wily/julia/wily

« back to all changes in this revision

Viewing changes to deps/openlibm/slatec/asinh.f

  • Committer: Package Import Robot
  • Author(s): Sébastien Villemot
  • Date: 2013-01-16 12:29:42 UTC
  • mfrom: (1.1.2)
  • Revision ID: package-import@ubuntu.com-20130116122942-x86e42akjq31repw
Tags: 0.0.0+20130107.gitd9656f41-1
* New upstream snashot
* No longer try to rebuild helpdb.jl.
   + debian/rules: remove helpdb.jl from build-arch rule
   + debian/control: move back python-sphinx to Build-Depends-Indep
* debian/copyright: reflect upstream changes
* Add Build-Conflicts on libatlas3-base (makes linalg tests fail)
* debian/rules: replace obsolete USE_DEBIAN makeflag by a list of
  USE_SYSTEM_* flags
* debian/rules: on non-x86 systems, use libm instead of openlibm
* dpkg-buildflags.patch: remove patch, applied upstream
* Refreshed other patches

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
*DECK ASINH
 
2
      FUNCTION ASINH (X)
 
3
C***BEGIN PROLOGUE  ASINH
 
4
C***PURPOSE  Compute the arc hyperbolic sine.
 
5
C***LIBRARY   SLATEC (FNLIB)
 
6
C***CATEGORY  C4C
 
7
C***TYPE      SINGLE PRECISION (ASINH-S, DASINH-D, CASINH-C)
 
8
C***KEYWORDS  ARC HYPERBOLIC SINE, ASINH, ELEMENTARY FUNCTIONS, FNLIB,
 
9
C             INVERSE HYPERBOLIC SINE
 
10
C***AUTHOR  Fullerton, W., (LANL)
 
11
C***DESCRIPTION
 
12
C
 
13
C ASINH(X) computes the arc hyperbolic sine of X.
 
14
C
 
15
C Series for ASNH       on the interval  0.          to  1.00000D+00
 
16
C                                        with weighted error   2.19E-17
 
17
C                                         log weighted error  16.66
 
18
C                               significant figures required  15.60
 
19
C                                    decimal places required  17.31
 
20
C
 
21
C***REFERENCES  (NONE)
 
22
C***ROUTINES CALLED  CSEVL, INITS, R1MACH
 
23
C***REVISION HISTORY  (YYMMDD)
 
24
C   770401  DATE WRITTEN
 
25
C   890531  Changed all specific intrinsics to generic.  (WRB)
 
26
C   890531  REVISION DATE from Version 3.2
 
27
C   891214  Prologue converted to Version 4.0 format.  (BAB)
 
28
C***END PROLOGUE  ASINH
 
29
      DIMENSION ASNHCS(20)
 
30
      LOGICAL FIRST
 
31
      SAVE ALN2, ASNHCS, NTERMS, XMAX, SQEPS, FIRST
 
32
      DATA ALN2 /0.6931471805 5994530942E0/
 
33
      DATA ASNHCS( 1) /   -.1282003991 1738186E0 /
 
34
      DATA ASNHCS( 2) /   -.0588117611 89951768E0 /
 
35
      DATA ASNHCS( 3) /    .0047274654 32212481E0 /
 
36
      DATA ASNHCS( 4) /   -.0004938363 16265361E0 /
 
37
      DATA ASNHCS( 5) /    .0000585062 07058557E0 /
 
38
      DATA ASNHCS( 6) /   -.0000074669 98328931E0 /
 
39
      DATA ASNHCS( 7) /    .0000010011 69358355E0 /
 
40
      DATA ASNHCS( 8) /   -.0000001390 35438587E0 /
 
41
      DATA ASNHCS( 9) /    .0000000198 23169483E0 /
 
42
      DATA ASNHCS(10) /   -.0000000028 84746841E0 /
 
43
      DATA ASNHCS(11) /    .0000000004 26729654E0 /
 
44
      DATA ASNHCS(12) /   -.0000000000 63976084E0 /
 
45
      DATA ASNHCS(13) /    .0000000000 09699168E0 /
 
46
      DATA ASNHCS(14) /   -.0000000000 01484427E0 /
 
47
      DATA ASNHCS(15) /    .0000000000 00229037E0 /
 
48
      DATA ASNHCS(16) /   -.0000000000 00035588E0 /
 
49
      DATA ASNHCS(17) /    .0000000000 00005563E0 /
 
50
      DATA ASNHCS(18) /   -.0000000000 00000874E0 /
 
51
      DATA ASNHCS(19) /    .0000000000 00000138E0 /
 
52
      DATA ASNHCS(20) /   -.0000000000 00000021E0 /
 
53
      DATA FIRST /.TRUE./
 
54
C***FIRST EXECUTABLE STATEMENT  ASINH
 
55
      IF (FIRST) THEN
 
56
         NTERMS = INITS (ASNHCS, 20, 0.1*R1MACH(3))
 
57
         SQEPS = SQRT (R1MACH(3))
 
58
         XMAX = 1.0/SQEPS
 
59
      ENDIF
 
60
      FIRST = .FALSE.
 
61
C
 
62
      Y = ABS(X)
 
63
      IF (Y.GT.1.0) GO TO 20
 
64
C
 
65
      ASINH = X
 
66
      IF (Y.GT.SQEPS) ASINH = X*(1.0 + CSEVL (2.*X*X-1., ASNHCS,NTERMS))
 
67
      RETURN
 
68
C
 
69
 20   IF (Y.LT.XMAX) ASINH = LOG (Y + SQRT(Y**2+1.))
 
70
      IF (Y.GE.XMAX) ASINH = ALN2 + LOG(Y)
 
71
      ASINH = SIGN (ASINH, X)
 
72
C
 
73
      RETURN
 
74
      END