Jspice3
Main Page
Data Structures
Files
File List
Globals
expderiv.c
Go to the documentation of this file.
1
/**********
2
Copyright 1990 Regents of the University of California. All rights reserved.
3
Author: 1989 Jaijeet S. Roychowdhury
4
**********/
5
6
#include "
spice.h
"
7
#include <math.h>
8
9
#define JOB char
10
#include "
distodef.h
"
11
12
/*
13
* ExpDeriv computes the partial derivatives of the exponential
14
* function where the argument to the function is itself a
15
* function of three variables p, q, and r.
16
*/
17
18
void
19
ExpDeriv
(
new
, old)
20
Dderivs
*new, *old;
21
{
22
23
Dderivs
temp;
24
25
EqualDeriv
(&temp, old);
26
new
->value = exp(temp.
value
);
27
new
->d1_p =
new
->value*temp.
d1_p
;
28
new
->d1_q =
new
->value*temp.
d1_q
;
29
new
->d1_r =
new
->value*temp.
d1_r
;
30
new
->d2_p2 =
new
->value*temp.
d2_p2
+ temp.
d1_p
*
new
->d1_p;
31
new
->d2_q2 =
new
->value*temp.
d2_q2
+ temp.
d1_q
*
new
->d1_q;
32
new
->d2_r2 =
new
->value*temp.
d2_r2
+ temp.
d1_r
*
new
->d1_r;
33
new
->d2_pq =
new
->value*temp.
d2_pq
+ temp.
d1_p
*
new
->d1_q;
34
new
->d2_qr =
new
->value*temp.
d2_qr
+ temp.
d1_q
*
new
->d1_r;
35
new
->d2_pr =
new
->value*temp.
d2_pr
+ temp.
d1_p
*
new
->d1_r;
36
new
->d3_p3 =
new
->value*temp.
d3_p3
+ temp.
d2_p2
*
new
->d1_p
37
+ temp.
d2_p2
*
new
->d1_p
38
+
new
->d2_p2*temp.
d1_p
;
39
new
->d3_q3 =
new
->value*temp.
d3_q3
+ temp.
d2_q2
*
new
->d1_q
40
+ temp.
d2_q2
*
new
->d1_q
41
+
new
->d2_q2*temp.
d1_q
;
42
new
->d3_r3 =
new
->value*temp.
d3_r3
+ temp.
d2_r2
*
new
->d1_r
43
+ temp.
d2_r2
*
new
->d1_r
44
+
new
->d2_r2*temp.
d1_r
;
45
new
->d3_p2r =
new
->value*temp.
d3_p2r
+ temp.
d2_p2
*
new
->d1_r
46
+ temp.
d2_pr
*
new
->d1_p
47
+
new
->d2_pr*temp.
d1_p
;
48
new
->d3_p2q =
new
->value*temp.
d3_p2q
+ temp.
d2_p2
*
new
->d1_q
49
+ temp.
d2_pq
*
new
->d1_p
50
+
new
->d2_pq*temp.
d1_p
;
51
new
->d3_q2r =
new
->value*temp.
d3_q2r
+ temp.
d2_q2
*
new
->d1_r
52
+ temp.
d2_qr
*
new
->d1_q
53
+
new
->d2_qr*temp.
d1_q
;
54
new
->d3_pq2 =
new
->value*temp.
d3_pq2
+ temp.
d2_q2
*
new
->d1_p
55
+ temp.
d2_pq
*
new
->d1_q
56
+
new
->d2_pq*temp.
d1_q
;
57
new
->d3_pr2 =
new
->value*temp.
d3_pr2
+ temp.
d2_r2
*
new
->d1_p
58
+ temp.
d2_pr
*
new
->d1_r
59
+
new
->d2_pr*temp.
d1_r
;
60
new
->d3_qr2 =
new
->value*temp.
d3_qr2
+ temp.
d2_r2
*
new
->d1_q
61
+ temp.
d2_qr
*
new
->d1_r
62
+
new
->d2_qr*temp.
d1_r
;
63
new
->d3_pqr =
new
->value*temp.
d3_pqr
+ temp.
d2_pq
*
new
->d1_r
64
+ temp.
d2_pr
*
new
->d1_q
65
+
new
->d2_qr*temp.
d1_p
;
66
67
}
Dderivs::d2_pr
double d2_pr
Definition:
distodef.h:75
Dderivs::d3_pr2
double d3_pr2
Definition:
distodef.h:83
distodef.h
Dderivs::d3_pq2
double d3_pq2
Definition:
distodef.h:81
Dderivs::d3_p3
double d3_p3
Definition:
distodef.h:76
Dderivs::d1_q
double d1_q
Definition:
distodef.h:68
Dderivs::d2_pq
double d2_pq
Definition:
distodef.h:73
Dderivs::d3_pqr
double d3_pqr
Definition:
distodef.h:85
Dderivs::d2_r2
double d2_r2
Definition:
distodef.h:72
ExpDeriv
void ExpDeriv(Dderivs *new, Dderivs *old)
Definition:
expderiv.c:19
Dderivs::d3_p2r
double d3_p2r
Definition:
distodef.h:80
Dderivs::d2_qr
double d2_qr
Definition:
distodef.h:74
Dderivs::d1_r
double d1_r
Definition:
distodef.h:69
Dderivs::d1_p
double d1_p
Definition:
distodef.h:67
Dderivs::d3_qr2
double d3_qr2
Definition:
distodef.h:84
Dderivs::d3_q3
double d3_q3
Definition:
distodef.h:77
spice.h
Dderivs::d3_q2r
double d3_q2r
Definition:
distodef.h:82
Dderivs::value
double value
Definition:
distodef.h:66
Dderivs
Definition:
distodef.h:64
Dderivs::d3_r3
double d3_r3
Definition:
distodef.h:78
Dderivs::d3_p2q
double d3_p2q
Definition:
distodef.h:79
Dderivs::d2_q2
double d2_q2
Definition:
distodef.h:71
Dderivs::d2_p2
double d2_p2
Definition:
distodef.h:70
EqualDeriv
void EqualDeriv(Dderivs *new, Dderivs *old)
Definition:
equalder.c:17
src
lib
dev
disto
expderiv.c
Generated by
1.8.11