annotate src/DLD-FUNCTIONS/gammainc.cc @ 9064:7c02ec148a3c

Check grammar on all .cc files Same check as previously done on .m files Attempt to enforce some conformity in documentation text for rules such as two spaces after a period, commas around latin abbreviations, etc.
author Rik <rdrider0-list@yahoo.com>
date Sat, 28 Mar 2009 13:57:22 -0700
parents eb63fbe60fab
children 09da0bd91412
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
1 /*
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
2
8920
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8517
diff changeset
3 Copyright (C) 1997, 1999, 2000, 2004, 2005, 2006, 2007, 2008,
eb63fbe60fab update copyright notices
John W. Eaton <jwe@octave.org>
parents: 8517
diff changeset
4 2009 John W. Eaton
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
5
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
6 This file is part of Octave.
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
7
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
8 Octave is free software; you can redistribute it and/or modify it
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
9 under the terms of the GNU General Public License as published by the
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5823
diff changeset
10 Free Software Foundation; either version 3 of the License, or (at your
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5823
diff changeset
11 option) any later version.
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
12
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
13 Octave is distributed in the hope that it will be useful, but WITHOUT
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
14 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
16 for more details.
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
17
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
18 You should have received a copy of the GNU General Public License
7016
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5823
diff changeset
19 along with Octave; see the file COPYING. If not, see
93c65f2a5668 [project @ 2007-10-12 06:40:56 by jwe]
jwe
parents: 5823
diff changeset
20 <http://www.gnu.org/licenses/>.
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
21
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
22 */
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
23
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
24 #ifdef HAVE_CONFIG_H
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
25 #include <config.h>
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
26 #endif
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
27
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
28 #include "lo-specfun.h"
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
29
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
30 #include "defun-dld.h"
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
31 #include "error.h"
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
32 #include "gripes.h"
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
33 #include "oct-obj.h"
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
34 #include "utils.h"
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
35
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
36 DEFUN_DLD (gammainc, args, ,
3548
ab7fa5a8f23f [project @ 2000-02-03 01:17:15 by jwe]
jwe
parents: 3444
diff changeset
37 "-*- texinfo -*-\n\
3444
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
38 @deftypefn {Mapping Function} {} gammainc (@var{x}, @var{a})\n\
5517
947aa3464e1d [project @ 2005-10-28 14:21:11 by jwe]
jwe
parents: 5307
diff changeset
39 Compute the normalized incomplete gamma function,\n\
3444
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
40 @iftex\n\
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
41 @tex\n\
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
42 $$\n\
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
43 \\gamma (x, a) = {\\displaystyle\\int_0^x e^{-t} t^{a-1} dt \\over \\Gamma (a)}\n\
3444
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
44 $$\n\
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
45 @end tex\n\
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
46 @end iftex\n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 7815
diff changeset
47 @ifnottex\n\
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
48 \n\
3444
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
49 @smallexample\n\
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
50 x\n\
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
51 1 /\n\
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
52 gammainc (x, a) = --------- | exp (-t) t^(a-1) dt\n\
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
53 gamma (a) /\n\
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
54 t=0\n\
3444
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
55 @end smallexample\n\
5517
947aa3464e1d [project @ 2005-10-28 14:21:11 by jwe]
jwe
parents: 5307
diff changeset
56 \n\
8517
81d6ab3ac93c Allow documentation tobe built for other formats than tex and info
sh@sh-laptop
parents: 7815
diff changeset
57 @end ifnottex\n\
5517
947aa3464e1d [project @ 2005-10-28 14:21:11 by jwe]
jwe
parents: 5307
diff changeset
58 with the limiting value of 1 as @var{x} approaches infinity.\n\
9064
7c02ec148a3c Check grammar on all .cc files
Rik <rdrider0-list@yahoo.com>
parents: 8920
diff changeset
59 The standard notation is @math{P(a,x)}, e.g., Abramowitz and Stegun (6.5.1).\n\
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
60 \n\
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
61 If @var{a} is scalar, then @code{gammainc (@var{x}, @var{a})} is returned\n\
3444
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
62 for each element of @var{x} and vice versa.\n\
fa0d84558faa [project @ 2000-01-17 08:40:39 by jwe]
jwe
parents: 3254
diff changeset
63 \n\
3683
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
64 If neither @var{x} nor @var{a} is scalar, the sizes of @var{x} and\n\
505f5c35a2c9 [project @ 2000-06-27 20:19:47 by jwe]
jwe
parents: 3548
diff changeset
65 @var{a} must agree, and @var{gammainc} is applied element-by-element.\n\
5642
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5517
diff changeset
66 @seealso{gamma, lgamma}\n\
2618a0750ae6 [project @ 2006-03-06 21:26:48 by jwe]
jwe
parents: 5517
diff changeset
67 @end deftypefn")
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
68 {
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
69 octave_value retval;
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
70
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
71 int nargin = args.length ();
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
72
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
73 if (nargin == 2)
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
74 {
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
75 octave_value x_arg = args(0);
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
76 octave_value a_arg = args(1);
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
77
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
78 // FIXME Can we make a template version of the duplicated code below
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
79 if (x_arg.is_single_type () || a_arg.is_single_type ())
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
80 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
81 if (x_arg.is_scalar_type ())
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
82 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
83 float x = x_arg.float_value ();
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
84
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
85 if (! error_state)
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
86 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
87 if (a_arg.is_scalar_type ())
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
88 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
89 float a = a_arg.float_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
90
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
91 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
92 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
93 }
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
94 else
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
95 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
96 FloatNDArray a = a_arg.float_array_value ();
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
97
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
98 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
99 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
100 }
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
101 }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
102 }
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
103 else
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
104 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
105 FloatNDArray x = x_arg.float_array_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
106
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
107 if (! error_state)
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
108 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
109 if (a_arg.is_scalar_type ())
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
110 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
111 float a = a_arg.float_value ();
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
112
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
113 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
114 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
115 }
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
116 else
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
117 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
118 FloatNDArray a = a_arg.float_array_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
119
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
120 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
121 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
122 }
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
123 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
124 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
125 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
126 else
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
127 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
128 if (x_arg.is_scalar_type ())
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
129 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
130 double x = x_arg.double_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
131
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
132 if (! error_state)
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
133 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
134 if (a_arg.is_scalar_type ())
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
135 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
136 double a = a_arg.double_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
137
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
138 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
139 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
140 }
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
141 else
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
142 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
143 NDArray a = a_arg.array_value ();
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
144
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
145 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
146 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
147 }
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
148 }
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
149 }
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
150 else
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
151 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
152 NDArray x = x_arg.array_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
153
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
154 if (! error_state)
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
155 {
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
156 if (a_arg.is_scalar_type ())
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
157 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
158 double a = a_arg.double_value ();
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
159
7789
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
160 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
161 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
162 }
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
163 else
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
164 {
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
165 NDArray a = a_arg.array_value ();
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
166
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
167 if (! error_state)
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
168 retval = gammainc (x, a);
82be108cc558 First attempt at single precision tyeps
David Bateman <dbateman@free.fr>
parents: 7017
diff changeset
169 }
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
170 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
171 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
172 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
173 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
174 else
5823
080c08b192d8 [project @ 2006-05-19 05:32:17 by jwe]
jwe
parents: 5642
diff changeset
175 print_usage ();
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
176
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
177 return retval;
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
178 }
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
179
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
180 /*
7815
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
181
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
182 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
183 %! a = [.5 .5 .5 .5 .5];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
184 %! x = [0 1 2 3 4];
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
185 %! v1 = sqrt(pi)*erf(x)./gamma(a);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
186 %! v3 = gammainc(x.*x,a);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
187 %! assert(v1, v3, sqrt(eps));
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
188
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
189 %!test
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
190 %! a = single ([.5 .5 .5 .5 .5]);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
191 %! x = single([0 1 2 3 4]);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
192 %! v1 = sqrt(pi('single'))*erf(x)./gamma(a);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
193 %! v3 = gammainc(x.*x,a);
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
194 %! assert(v1, v3, sqrt(eps('single')));
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
195
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
196 */
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
197
a41df65f3f00 Add some single precision test code and fix resulting bugs
David Bateman <dbateman@free.fr>
parents: 7789
diff changeset
198 /*
3254
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
199 ;;; Local Variables: ***
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
200 ;;; mode: C++ ***
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
201 ;;; End: ***
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
202 */
28d5f556b8cf [project @ 1999-07-15 16:02:57 by jwe]
jwe
parents:
diff changeset
203