1234567891011121314151617181920212223242526272829303132333435 |
- module comfac; % Multivariate common factor/content routines.
- % Author: Anthony C. Hearn.
- % Copyright (c) 1989 The RAND Corporation. All Rights Reserved.
- symbolic smacro procedure domain!-gcd(u,v); gcdn(u,v);
- symbolic smacro procedure domain!-onep u; onep u;
- symbolic procedure mv!-pow!-zerop u;
- null u or zerop car u and mv!-pow!-zerop cdr u;
- symbolic procedure mv!-pow!-gcd(u,v);
- if null u then nil
- else min(car u,car v) . mv!-pow!-gcd(cdr u,cdr v);
- symbolic procedure mv!-content u;
- % Finds the term that is the content of u.
- if null u then nil
- else begin scalar x,y;
- x := mv!-lc u;
- y := mv!-lpow u;
- a: u := mv!-red u;
- if null u or domain!-onep x and mv!-pow!-zerop y
- then return mv!-!.!*(y,x);
- x := domain!-gcd(x,mv!-lc u);
- y := mv!-pow!-gcd(y,mv!-lpow u);
- go to a
- end;
- endmodule;
- end;
|