亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? multi_port.adb

?? 基于MATLAB的multi_port詳解
?? ADB
字號:
----------------------------------------------------------------------------------                                                                            ---- File    : multi_port.adb                                 $Revision: 1.4 $  ---- Abstract:                                                                  ----      Example of a multi port Ada S-Function.                               ----                                                                            ---- Author  : Murali Yeddanapudi, 26-Jul-1999                                  ----                                                                            ---- Copyright 1990-2002 The MathWorks, Inc.--                                                                            ----------------------------------------------------------------------------------with  Simulink; use  Simulink;with Ada.Exceptions; use Ada.Exceptions;package body Multi_Port is   -- Function: mdlCheckParameters ---------------------------------------------   -- Abstract:   --   --   procedure mdlCheckParameters(S: in SimStruct) is      NumParamsPassedIn : Integer := ssGetNumParameters(S);   begin      if NumParamsPassedIn /= 1 then         ssSetErrorStatus(S,"Parameter count mismatch. Expecting 1 parameter " &                          "while " & Integer'Image(NumParamsPassedIn) &                          " were provided in the block dialog box");         return;      elsif not(ssGetParameterIsChar(S,0)) or ssGetParameterWidth(S,0) < 2 then         ssSetErrorStatus(S, "The parameter to this S-Function must be a " &                             "string of at least two '+' or '-' characters");         return;      else         declare            StrPrm : String := ssGetStringParameter(S,0);         begin            for I in StrPrm'Range loop               if StrPrm(I) /= '+' and StrPrm(I) /= '-' then                  ssSetErrorStatus(S,"Invalid character in string parameter: " &                                   StrPrm);               end if;            end loop;         end;      end if;   exception      when E : others =>         if ssGetErrorStatus(S) = "" then            ssSetErrorStatus(S,                             "Exception occured in mdlCheckParameters. " &                             "Name: " & Exception_Name(E) & ", " &                             "Message: " & Exception_Message(E) & " and " &                             "Information: " & Exception_Information(E));         end if;   end mdlCheckParameters;   -- Function: mdlInitializeSizes ---------------------------------------------   -- Abstract:   --   --   procedure mdlInitializeSizes(S : in SimStruct) is      NumInputPorts : Integer := ssGetParameterWidth(S,0);   begin      -- The signs parameter cannot be changed during simulation      ssSetParameterTunable(S, 0, FALSE);      ssSetParameterName(S, 0, "Signs");      -- Set the number of input ports and their attributes      --      ssSetNumInputPorts(S, NumInputPorts);      for I in 0 .. NumInputPorts-1 loop         ssSetInputPortWidth(            S, I, DYNAMICALLY_SIZED);         ssSetInputPortDataType(         S, I, SS_DOUBLE);         ssSetInputPortOptimizationLevel(S, I, 3);         ssSetInputPortOverWritable(     S, I, FALSE);         ssSetInputPortDirectFeedThrough(S, I, TRUE);      end loop;      -- Set the number of output ports and their attributes      --      ssSetNumOutputPorts(    S, 4);      -- outport 1 is the sum of the inputs      ssSetOutputPortWidth(   S, 0, DYNAMICALLY_SIZED);      ssSetOutputPortDataType(S, 0, SS_DOUBLE);      ssSetOutputPortOptimizationLevel(S, 0, 3);      -- Outport 2 is the min value of the first output      ssSetOutputPortWidth(   S, 1, DYNAMICALLY_SIZED);      ssSetOutputPortDataType(S, 1, SS_DOUBLE);      ssSetOutputPortOptimizationLevel(S, 1, 0);      -- Outport 3 is the avg value of the first output      ssSetOutputPortWidth(   S, 2, DYNAMICALLY_SIZED);      ssSetOutputPortDataType(S, 2, SS_DOUBLE);      ssSetOutputPortOptimizationLevel(S, 2, 0);      -- Outport 4 is the max value of the first output      ssSetOutputPortWidth(   S, 3, DYNAMICALLY_SIZED);      ssSetOutputPortDataType(S, 3, SS_DOUBLE);      ssSetOutputPortOptimizationLevel(S, 3, 0);      -- Set the number of work vectors and their attributes      --      ssSetNumWorkVectors(S, 2);      ssSetWorkVectorName(       S, 0, "Signs");      ssSetWorkVectorWidth(      S, 0, NumInputPorts);      ssSetWorkVectorDataType(   S, 0, SS_INT32);      ssSetWorkVectorUsedAsState(S, 0, FALSE);      ssSetWorkVectorName(       S, 1, "TickCounter");      ssSetWorkVectorWidth(      S, 1, 1);      ssSetWorkVectorDataType(   S, 1, SS_INT32);      ssSetWorkVectorUsedAsState(S, 1, FALSE);      -- Set the block sample time      --      ssSetSampleTime(S, INHERITED_SAMPLE_TIME);      -- Allow block input ports to scalar expand      --      ssSetOptionInputScalarExpansion(S, TRUE);   exception      when E : others =>         if ssGetErrorStatus(S) = "" then            ssSetErrorStatus(S,                             "Exception occured in mdlInitializeSizes. " &                             "Name: " & Exception_Name(E) & ", " &                             "Message: " & Exception_Message(E) & " and " &                             "Information: " & Exception_Information(E));         end if;   end mdlInitializeSizes;   -- Function: mdlStart -------------------------------------------------------   -- Abstract:   --   --   procedure mdlStart(S : in SimStruct) is      NumInputPorts : Integer := ssGetNumInputPorts(S);      StrPrm : String := ssGetStringParameter(S,0);      Signs : array(StrPrm'Range) of Integer;      for Signs'Address use ssGetWorkVectorAddress(S, 0);      TickCounter : Integer;      for TickCounter'Address use ssGetWorkVectorAddress(S, 1);      Width : Integer := ssGetOutputPortWidth(S,0);      Y1   : array(0 .. Width-1) of Standard.Long_Float;      for Y1'Address use ssGetOutputPortSignalAddress(S,1);      Y2   : array(0 .. Width-1) of Standard.Long_Float;      for Y2'Address use ssGetOutputPortSignalAddress(S,2);      Y3   : array(0 .. Width-1) of Standard.Long_Float;      for Y3'Address use ssGetOutputPortSignalAddress(S,3);   begin      for I in StrPrm'Range loop         if StrPrm(I) = '+' then            Signs(I) :=  1;         else            Signs(I) := -1;         end if;      end loop;      TickCounter := 0;      for Idx in 0 .. Width-1 loop         -- minimum         Y1(Idx) := Standard.Long_Float'Last;         -- average         Y2(Idx) := 0.0;         -- maximum         Y3(Idx) := Standard.Long_Float'First;      end loop;   exception      when E : others =>         if ssGetErrorStatus(S) = "" then            ssSetErrorStatus(S,                             "Exception occured in mdlStart. " &                             "Name: " & Exception_Name(E) & ", " &                             "Message: " & Exception_Message(E) & " and " &                             "Information: " & Exception_Information(E));         end if;   end mdlStart;   -- Function: mdlOutputs -----------------------------------------------------   -- Abstract:   --   --   procedure mdlOutputs(S : in SimStruct; TID : in Integer) is      NumInputPorts : Integer := ssGetNumInputPorts(S);      Signs : array(0 .. NumInputPorts-1) of Integer;      for Signs'Address use ssGetWorkVectorAddress(S, 0);      Width : Integer := ssGetOutputPortWidth(S,0);      Y0    : array(0 .. Width-1) of Standard.Long_Float;      for Y0'Address use ssGetOutputPortSignalAddress(S,0);      Y1   : array(0 .. Width-1) of Standard.Long_Float;      for Y1'Address use ssGetOutputPortSignalAddress(S,1);      Y2   : array(0 .. Width-1) of Standard.Long_Float;      for Y2'Address use ssGetOutputPortSignalAddress(S,2);      Y3   : array(0 .. Width-1) of Standard.Long_Float;      for Y3'Address use ssGetOutputPortSignalAddress(S,3);      NumTicks : Integer;      for NumTicks'Address use ssGetWorkVectorAddress(S, 1);   begin      for Idx in 0 .. Width-1 loop         Y0(Idx) := 0.0;      end loop;      for InPort in 0 .. NumInputPorts-1 loop         declare            InpWidth : Integer := ssGetInputPortWidth(S,InPort);            Input    : array(0 .. InpWidth-1) of Standard.Long_Float;            for Input'Address use ssGetInputPortSignalAddress(S,InPort);            SignVal : Standard.Long_Float := Standard.Long_Float(Signs(InPort));         begin            if InpWidth = 1 then               -- Scalar expand on the input signal               for Idx in 0 .. Width-1 loop                  Y0(Idx) := Y0(Idx) + SignVal*Input(0);               end loop;            else               -- InpWidth == OutWidth               for Idx in 0 .. Width-1 loop                  Y0(Idx) := Y0(Idx) + SignVal*Input(Idx);               end loop;            end if;         end;      end loop;      if ssIsMajorTimeStep(S) then         NumTicks := Numticks + 1;         for Idx in 0 .. Width-1 loop            -- minimum            if Y1(Idx) > Y0(Idx) then               Y1(Idx) := Y0(Idx);            end if;            -- average: A(n) = [(n-1)*A(n-1)+Y(n)]/n            Y2(Idx) := ( Y0(Idx) + Standard.Long_Float(NumTicks-1) * Y2(Idx) )              / Standard.Long_Float(NumTicks);            -- maximum            if Y3(Idx) < Y0(Idx) then               Y3(Idx) := Y0(Idx);            end if;         end loop;      end if;   exception      when E : others =>         if ssGetErrorStatus(S) = "" then            ssSetErrorStatus(S,                             "Exception occured in mdlOutputs. " &                             "Name: " & Exception_Name(E) & ", " &                             "Message: " & Exception_Message(E) & " and " &                             "Information: " & Exception_Information(E));         end if;   end mdlOutputs;end Multi_Port;-- EOF: multi_port.adb

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
www.66久久| 欧美日韩在线免费视频| 午夜精品一区二区三区三上悠亚| 欧美成人a∨高清免费观看| 99久久精品国产麻豆演员表| 日本午夜一区二区| 亚洲另类在线一区| 久久精品一区二区三区四区| 欧洲日韩一区二区三区| 国产成a人无v码亚洲福利| 天堂va蜜桃一区二区三区漫画版| 国产精品久久久久久久蜜臀| 欧美本精品男人aⅴ天堂| 欧美亚洲综合色| 99re66热这里只有精品3直播| 精彩视频一区二区三区| 五月婷婷激情综合| 17c精品麻豆一区二区免费| 久久久久久久久久久久久夜| 91精品国产色综合久久不卡蜜臀 | 成人高清在线视频| 国产麻豆视频精品| 蜜桃视频在线观看一区| 亚洲国产一区二区视频| 亚洲精品中文在线| 国产日韩视频一区二区三区| 日韩精品中文字幕一区二区三区| 欧美日韩亚洲综合在线| 色噜噜夜夜夜综合网| av网站一区二区三区| 国产91在线观看丝袜| 国产剧情一区二区三区| 国产做a爰片久久毛片| 韩国v欧美v亚洲v日本v| 91蜜桃网址入口| 丁香婷婷综合色啪| 成人自拍视频在线观看| 粉嫩嫩av羞羞动漫久久久| 国产乱码精品1区2区3区| 狠狠色丁香久久婷婷综| 国精产品一区一区三区mba视频| 久久精品国产秦先生| 另类成人小视频在线| 老汉av免费一区二区三区 | jlzzjlzz亚洲日本少妇| 国产91露脸合集magnet| 波多野洁衣一区| 97精品国产露脸对白| 99国产一区二区三精品乱码| 99精品视频在线免费观看| 色网综合在线观看| 欧美日韩视频在线一区二区| 欧美乱妇一区二区三区不卡视频| 在线综合视频播放| 精品国产精品网麻豆系列| 欧美精品一区二区三区久久久| 久久久一区二区三区| 国产欧美一区二区三区在线老狼| 国产欧美一区在线| 亚洲综合色成人| 日韩高清在线一区| 国产精品中文字幕一区二区三区| 成人午夜在线免费| 一本久道久久综合中文字幕 | 日本美女视频一区二区| 久久国产三级精品| 成人免费观看视频| 91福利精品视频| 日韩欧美在线1卡| 国产欧美精品区一区二区三区| 亚洲视频一区在线| 人人超碰91尤物精品国产| 国产黄人亚洲片| 欧美在线free| 337p粉嫩大胆噜噜噜噜噜91av| 国产精品久久久久久久久久免费看| 亚洲欧美激情在线| 九九**精品视频免费播放| av成人免费在线观看| 欧美日本免费一区二区三区| 久久夜色精品国产欧美乱极品| 亚洲欧美日韩中文播放| 美女国产一区二区三区| 成人av午夜影院| 91精品国产全国免费观看| 国产日韩精品一区二区浪潮av | 日本麻豆一区二区三区视频| 成人福利视频网站| 51精品久久久久久久蜜臀| 国产精品人成在线观看免费| 丝袜a∨在线一区二区三区不卡| 国产精品99久久久久久久vr| 欧美欧美午夜aⅴ在线观看| 久久久久久99久久久精品网站| 一个色在线综合| 国产高清不卡一区| 欧美高清激情brazzers| 国产在线观看免费一区| 91色porny蝌蚪| 久久久国产精品不卡| 日日夜夜精品视频天天综合网| 懂色av中文字幕一区二区三区 | 国内久久精品视频| 欧美亚日韩国产aⅴ精品中极品| 久久精品视频免费| 蜜臀久久99精品久久久久宅男| 色婷婷综合久久| 国产欧美日韩中文久久| 久久精品国产亚洲a| 欧美精品三级在线观看| 亚洲欧洲日产国码二区| 国产馆精品极品| 欧美tk—视频vk| 日欧美一区二区| 欧洲一区二区av| 亚洲精品你懂的| 9人人澡人人爽人人精品| 久久久精品tv| 国内精品免费在线观看| 欧美一三区三区四区免费在线看| 一区二区三国产精华液| 97精品久久久午夜一区二区三区 | 欧美日韩一区小说| 亚洲精品成人天堂一二三| 波多野结衣在线一区| 久久精品一区蜜桃臀影院| 国产综合一区二区| 精品国产乱码久久久久久1区2区| 日韩不卡手机在线v区| 69堂亚洲精品首页| 视频在线观看国产精品| 欧美男男青年gay1069videost| 亚洲va欧美va国产va天堂影院| 欧美在线你懂得| 偷窥少妇高潮呻吟av久久免费| 欧美在线观看一二区| 亚洲最大成人综合| 欧美日韩一区二区欧美激情| 亚洲国产日韩在线一区模特| 国产人成一区二区三区影院| 国产成人精品aa毛片| 中文字幕不卡三区| 99精品久久免费看蜜臀剧情介绍 | 久久成人综合网| 亚洲精品在线观看网站| 经典三级视频一区| 日本一区二区三区dvd视频在线| 国产成人精品亚洲午夜麻豆| 国产欧美精品在线观看| 成人av动漫在线| 亚洲情趣在线观看| 欧美在线不卡视频| 美女脱光内衣内裤视频久久网站 | 亚洲精品一线二线三线无人区| 91成人在线免费观看| 91原创在线视频| 99国产精品久久久| 92精品国产成人观看免费| 开心九九激情九九欧美日韩精美视频电影 | 欧美tk—视频vk| 欧美一区二区三区视频免费播放 | 国内一区二区在线| 久久成人免费日本黄色| 国产成人av在线影院| 极品美女销魂一区二区三区免费| 亚洲国产乱码最新视频 | 亚洲欧美激情插| 麻豆91免费看| 国产在线视视频有精品| 国产一区二区三区最好精华液| 成人app在线观看| 欧美一区二区三区四区高清| 国产片一区二区| 视频一区二区国产| aaa亚洲精品| 精品成人a区在线观看| 亚洲青青青在线视频| 国内精品免费在线观看| 欧美性色黄大片| 日韩一区在线看| 国产原创一区二区三区| 欧美日韩电影一区| 亚洲欧洲另类国产综合| 免费看欧美女人艹b| 99re66热这里只有精品3直播| 精品噜噜噜噜久久久久久久久试看 | 亚洲一区在线视频观看| 不卡视频在线观看| 中文字幕第一区第二区| 国产精品综合在线视频| 日韩视频在线一区二区| 日韩精品视频网站| 欧美日韩一区二区在线视频| 国产精品丝袜一区| 高清成人在线观看| 欧美国产精品一区二区| 丁香网亚洲国际| 日韩精品一区二区三区视频播放| 视频在线观看一区| 欧美一区永久视频免费观看|