summaryrefslogtreecommitdiff
path: root/modules/polynomials/macros/pdiv.sci
diff options
context:
space:
mode:
authorShashank2017-05-29 12:40:26 +0530
committerShashank2017-05-29 12:40:26 +0530
commit0345245e860375a32c9a437c4a9d9cae807134e9 (patch)
treead51ecbfa7bcd3cc5f09834f1bb8c08feaa526a4 /modules/polynomials/macros/pdiv.sci
downloadscilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.gz
scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.tar.bz2
scilab_for_xcos_on_cloud-0345245e860375a32c9a437c4a9d9cae807134e9.zip
CMSCOPE changed
Diffstat (limited to 'modules/polynomials/macros/pdiv.sci')
-rwxr-xr-xmodules/polynomials/macros/pdiv.sci42
1 files changed, 42 insertions, 0 deletions
diff --git a/modules/polynomials/macros/pdiv.sci b/modules/polynomials/macros/pdiv.sci
new file mode 100755
index 000000000..2c95716ec
--- /dev/null
+++ b/modules/polynomials/macros/pdiv.sci
@@ -0,0 +1,42 @@
+// Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
+// Copyright (C) ????-2008 - INRIA
+//
+// This file must be used under the terms of the CeCILL.
+// This source file is licensed as described in the file COPYING, which
+// you should have received as part of this distribution. The terms
+// are also available at
+// http://www.cecill.info/licences/Licence_CeCILL_V2.1-en.txt
+
+
+function [R,Q]=pdiv(P1,P2)
+ // Element wise euclidan division of a polynomial matrix
+ // by a polynomial
+ // This is just a loop for the primitive pppdiv
+ //!
+ [lhs,rhs]=argn(0);
+ [n,m]=size(P1);
+ [n1,m1]=size(P2);
+ // Special case for constant matrices
+ if type(P1)==1&type(P2)==1 then
+ Q=P1./P2;R=0*P1;
+ if lhs==1 then R=Q; end
+ return;
+ end
+ R=[],Q=[]
+ if n1==1 & m1==1 then
+ for l=1:n,
+ for k=1:m,
+ [rlk,qlk]=pppdiv(P1(l,k),P2),R(l,k)=rlk;Q(l,k)=qlk;
+ end;
+ end
+ if lhs==1 then R=Q;end
+
+ return;
+ end
+ for l=1:n,
+ for k=1:m,
+ [rlk,qlk]=pppdiv(P1(l,k),P2(l,k)),R(l,k)=rlk;Q(l,k)=qlk;
+ end;
+ end
+ if lhs==1 then R=Q; end
+endfunction