-
Notifications
You must be signed in to change notification settings - Fork 1
/
PTDEG.c,v
87 lines (69 loc) · 1.22 KB
/
PTDEG.c,v
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
head 1.2;
access;
symbols;
locks
saclib:1.2; strict;
comment @ * @;
1.2
date 2001.12.17.18.24.07; author George; state embe;
branches;
next 1.1;
1.1
date 99.03.21.21.47.24; author George; state new;
branches;
next ;
desc
@Polynomial total degree.
@
1.2
log
@Fixed the header.
@
text
@/*=======================================================================
n <- PTDEG(r,A)
Polynomial total degree.
Inputs
r : a positive beta digit.
A : a polynomial in r variables over an arbitrary domain, in
recursive representation.
Output
n : the total degree of A.
=======================================================================*/
#include "saclib.h"
BDigit PTDEG(r,A)
BDigit r;
Word A;
{
BDigit e,m,n,rp;
Word a,Ap;
Step1: /* A = 0. */
if (A == 0) {
n = 0;
goto Return; }
Step2: /* r = 1. */
if (r == 1) {
n = PDEG(A);
goto Return; }
Step3: /* r > 1. */
n = 0;
Ap = A;
rp = r - 1;
while (Ap != NIL) {
ADV2(Ap,&e,&a,&Ap);
m = e + PTDEG(rp,a);
if (m > n)
n = m; }
Return: /* Return n. */
return(n);
}
@
1.1
log
@Initial revision
@
text
@d2 1
a2 1
n = PTDEG(r,A)
@