Avoid multiple symbol when extracting sources from symbol 28/14128/2
Bruno JOFRET [Tue, 25 Mar 2014 17:34:09 +0000 (18:34 +0100)]
Change-Id: I012d71da64bdcc664f3394451a0a2b8a33ef61f9

scilab/modules/cacsd/macros/bode.sci

index d63b832..d1cba66 100644 (file)
@@ -42,7 +42,7 @@ function [] = bode(varargin)
     fmax = [];
     discr = %f; // For Shannon limit
     if or(typeof(varargin(1)) == ["state-space" "rational"]) then
-        // sys, fmin, fmax [,pas] or sys, frq
+// sys, fmin, fmax [,pas] or sys, frq
         refdim = 1; // for error message
         discr = varargin(1).dt<>"c";
         if rhs == 1 then // sys
@@ -50,7 +50,7 @@ function [] = bode(varargin)
         elseif rhs == 2 then // sys, frq
             if size(varargin(2), 2) < 2 then
                 error(msprintf(_("%s: Wrong size for input argument #%d: A row vector with length>%d expected.\n"), ..
-                fname, 2, 1))
+                               fname, 2, 1))
             end
             [frq, repf] = repfreq(varargin(1:rhs));
         elseif or(rhs == (3:4)) then // sys, fmin, fmax [,pas]
@@ -61,30 +61,30 @@ function [] = bode(varargin)
         [phi, d] = phasemag(repf);
         if rhs >= 3 then fmax = varargin(3); end
     elseif type(varargin(1)) == 1 then
-        // frq, db, phi [,comments] or frq, repf [,comments]
+// frq, db, phi [,comments] or frq, repf [,comments]
         refdim = 2;
         select rhs
-        case 2 then // frq,repf
-            frq = varargin(1);
-            if size(frq, 2) < 2 then
-                error(msprintf(_("%s: Wrong size for input argument #%d: A row vector with length>%d expected.\n"), ..
-                fname, 1, 1))
-            end
-            if size(frq, 2) <> size(varargin(2), 2) then
-                error(msprintf(_("%s: Incompatible input arguments #%d and #%d: Same column dimensions expected.\n"), ..
-                fname, 1, 2))
-            end
-            [phi, d] = phasemag(varargin(2));
-        case 3 then  // frq, db, phi
-            [frq, d, phi] = varargin(1:rhs);
-            if size(frq, 2) <> size(d, 2) then
-                error(msprintf(_("%s: Incompatible input arguments #%d and #%d: Same column dimensions expected.\n"), ..
-                fname, 1, 2))
-            end
-            if size(frq, 2) <> size(phi, 2) then
-                error(msprintf(_("%s: Incompatible input arguments #%d and #%d: Same column dimensions expected.\n"), ..
-                fname, 1, 3))
-            end
+            case 2 then // frq,repf
+                frq = varargin(1);
+                if size(frq, 2) < 2 then
+                    error(msprintf(_("%s: Wrong size for input argument #%d: A row vector with length>%d expected.\n"), ..
+                                   fname, 1, 1))
+                end
+                if size(frq, 2) <> size(varargin(2), 2) then
+                    error(msprintf(_("%s: Incompatible input arguments #%d and #%d: Same column dimensions expected.\n"), ..
+                                   fname, 1, 2))
+                end
+                [phi, d] = phasemag(varargin(2));
+            case 3 then  // frq, db, phi
+                [frq, d, phi] = varargin(1:rhs);
+                if size(frq, 2) <> size(d, 2) then
+                    error(msprintf(_("%s: Incompatible input arguments #%d and #%d: Same column dimensions expected.\n"), ..
+                                   fname, 1, 2))
+                end
+                if size(frq, 2) <> size(phi, 2) then
+                    error(msprintf(_("%s: Incompatible input arguments #%d and #%d: Same column dimensions expected.\n"), ..
+                                   fname, 1, 3))
+                end
         else
             error(msprintf(_("%s: Wrong number of input arguments: %d to %d expected.\n"), fname, 2, 4))
         end
@@ -101,7 +101,7 @@ function [] = bode(varargin)
     else
         if size(comments, "*") <> mn then
             error(mprintf(_("%s: Incompatible input arguments #%d and #%d: Same number of elements expected.\n"), ...
-            fname, refdim, rhs+1))
+                          fname, refdim, rhs+1))
         end
         hx = 0.43;
     end
@@ -115,7 +115,7 @@ function [] = bode(varargin)
     wrect = axes.axes_bounds;
 
 
-    // Magnitude
+// Magnitude
     axes.axes_bounds = [wrect(1)+0, wrect(2)+0, wrect(3)*1.0, wrect(4)*hx*0.95];
     axes.data_bounds = [min(frq), min(d); max(frq), max(d)];
     axes.log_flags = "lnn";
@@ -127,7 +127,7 @@ function [] = bode(varargin)
     else
         xpolys(frq, d, 1:mn);
     end
-    // Set datatips info
+// Set datatips info
     e = gce();
 
     for i=1:size(e.children, "*")
@@ -141,7 +141,7 @@ function [] = bode(varargin)
     end
     xtitle("", _("Frequency (Hz)"), _("Magnitude (dB)"));
 
-    // Phase
+// Phase
     axes = newaxes();
     axes.axes_bounds = [wrect(1)+0, wrect(2)+wrect(4)*hx, wrect(3)*1.0, wrect(4)*hx*0.95];
     axes.data_bounds = [min(frq), min(phi); max(frq), max(phi)];
@@ -155,7 +155,7 @@ function [] = bode(varargin)
         xpolys(frq, phi, 1:mn);
     end
     ephi = gce();
-    // Set datatips info
+// Set datatips info
     for i=1:size(ephi.children, "*")
         ephi.children(i).display_function = "formatBodePhaseTip";
     end
@@ -166,48 +166,41 @@ function [] = bode(varargin)
         e.foreground = 5;
     end
     xtitle("", _("Frequency (Hz)"), _("Phase (degree)"));
-    // Create legend
+// Create legend
     if comments <> [] then
         c = captions(ephi.children, comments, "lower_caption");
         c.background = get(gcf(), "background");
     end
     fig.immediate_drawing = immediate_drawing;
-    // Return to the previous scale
+// Return to the previous scale
     set("current_axes", sciCurAxes);
 
     if rad == %t then
-        bode_Hz2rad_2(fig);
-    end
-
-endfunction
-
-function [] = bode_Hz2rad_2(h)
-    // This function modifies the Bode diagrams for a rad/s display instead of Hz.
-    // h is a hanlde of a figure containing Bode diagrams.
-    // Ref: http://forge.scilab.org/index.php/p/cpge/source/tree/HEAD/macros/bode_Hz2rad_2.sci
-
-    // k = 1 phase, k = 2 gain
-    labels = ["Phase (degree)"; "Magnitude (dB)"];
-    pos_h = [9, 5];
-    for k=1:2
-        for i=1:size(h.children(k).children, 1)
-            if h.children(k).children(i).type == "Compound"
-                for j=1:size(h.children(k).children(i).children, 1)
-                    h.children(k).children(i).children(j).data(:, 1) = h.children(k).children(i).children(j).data(:, 1)*2*%pi;
+// This function modifies the Bode diagrams for a rad/s display instead of Hz.
+// h is a hanlde of a figure containing Bode diagrams.
+// Ref: http://forge.scilab.org/index.php/p/cpge/source/tree/HEAD/macros/bode_Hz2rad_2.sci
+        labels = [_("Phase (degree)"); _("Magnitude (dB)")];
+        pos_h = [9, 5];
+        for k=1:2
+            for i=1:size(fig.children(k).children, 1)
+                if fig.children(k).children(i).type == "Compound"
+                    for j=1:size(fig.children(k).children(i).children, 1)
+                        fig.children(k).children(i).children(j).data(:, 1) = fig.children(k).children(i).children(j).data(:, 1)*2*%pi;
+                    end
+
+                    // h.children(k).title.text = h.children(k).y_label.text;
+                    xmin1 = fig.children(k).data_bounds(1)*2*%pi;
+                    xmax1 = fig.children(k).data_bounds(2)*2*%pi;
+                    ymin1 = fig.children(k).data_bounds(3);
+                    ymax1 = fig.children(k).data_bounds(4);
+
+                    rect = [xmin1, ymin1, xmax1, ymax1];
+                    nb_dec = log(xmax1/xmin1)/log(10);
+                    fig.children(k).x_label.text = _("Frequency (rad/s)");
+                    fig.children(k).x_location = "bottom";
+                    fig.children(k).y_label.text = labels(k);
+                    replot(rect, fig.children(k));
                 end
-
-                // h.children(k).title.text = h.children(k).y_label.text;
-                xmin1 = h.children(k).data_bounds(1)*2*%pi;
-                xmax1 = h.children(k).data_bounds(2)*2*%pi;
-                ymin1 = h.children(k).data_bounds(3);
-                ymax1 = h.children(k).data_bounds(4);
-
-                rect = [xmin1, ymin1, xmax1, ymax1];
-                nb_dec = log(xmax1/xmin1)/log(10);
-                h.children(k).x_label.text = "Frequency (rad/s)";
-                h.children(k).x_location = "bottom";
-                h.children(k).y_label.text = labels(k);
-                replot(rect, h.children(k));
             end
         end
     end