summaryrefslogtreecommitdiff
path: root/macros/polyreduce.sci
blob: 265b969229268d1cedb61785c219cd847f969077 (plain)
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
// Copyright (C) 2018 - IIT Bombay - FOSSEE
//
// 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-en.txt
// Author:[insert name]
// Organization: FOSSEE, IIT Bombay
// Email: toolbox@scilab.in



function p = polyreduce (c)
//Calling sequence
//p= polyreduce (c)
// Reduce a polynomial coefficient vector to a minimum number of terms by
// stripping off any leading zeros.

//Test cases:
//polyreduce ([0, 0, 1, 2, 3])
//Output: [1, 2, 3]



[nargout,nargin]=argn();

  if (nargin ~= 1)
    error("wrong number of input arguments");

  elseif (~isvector (c) | isempty (c))
    error ("polyreduce: C must be a non-empty vector");
  end

  idx = find (c ~= 0, 1);

  if (isempty (idx))
    p = 0;
  else
    p = c(idx:$);
  end

endfunction