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

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

?? math_complex-body.vhdl

?? vhdl集成電路設計軟件.需要用gcc-4.0.2版本編譯.
?? VHDL
字號:
--------------------------------------------------------------- ---- This source file may be used and distributed without restriction.-- No declarations or definitions shall be included in this package.-- This package cannot be sold or distributed for profit. ----   ****************************************************************--   *                                                              *--   *                      W A R N I N G		 	    *--   *								    *--   *   This DRAFT version IS NOT endorsed or approved by IEEE     *--   *								    *--   ****************************************************************---- Title:    PACKAGE BODY MATH_COMPLEX---- Purpose:  VHDL declarations for mathematical package MATH_COMPLEX--	     which contains common complex constants and basic complex--	     functions and operations.---- Author:   IEEE VHDL Math Package Study Group ---- Notes:     --	The package body uses package IEEE.MATH_REAL---- 	The package body shall be considered the formal definition of -- 	the semantics of this package. Tool developers may choose to implement -- 	the package body in the most efficient manner available to them.----   Source code for this package body comes from the following--	following sources: --		IEEE VHDL Math Package Study Group participants,--		U. of Mississippi, Mentor Graphics, Synopsys,--		Viewlogic/Vantage, Communications of the ACM (June 1988, Vol--		31, Number 6, pp. 747, Pierre L'Ecuyer, Efficient and Portable--		Random Number Generators, Handbook of Mathematical Functions--	        by Milton Abramowitz and Irene A. Stegun (Dover).---- History:-- 	Version	0.1	Jose A. Torres	4/23/93	First draft-- 	Version	0.2	Jose A. Torres	5/28/93	Fixed potentially illegal code---------------------------------------------------------------Library IEEE;Use IEEE.MATH_REAL.all;		-- real trascendental operationsPackage body MATH_COMPLEX is    function CABS(Z: in complex ) return real is    	-- returns absolute value (magnitude) of Z	variable ztemp : complex_polar;    begin		ztemp := COMPLEX_TO_POLAR(Z);		return ztemp.mag;    end CABS;    function CARG(Z: in complex ) return real is    	-- returns argument (angle) in radians of a complex number     variable ztemp : complex_polar;    begin    		ztemp := COMPLEX_TO_POLAR(Z);		return ztemp.arg;    end CARG;    function CMPLX(X: in real;  Y: in real := 0.0 ) return complex is    	-- returns complex number X + iY    begin		return COMPLEX'(X, Y);    end CMPLX;    function "-" (Z: in complex ) return complex is    	-- unary minus; returns -x -jy for z= x + jy    begin    		return COMPLEX'(-z.Re, -z.Im);    end "-";    function "-" (Z: in complex_polar ) return complex_polar is    	-- unary minus; returns (z.mag, z.arg + MATH_PI)    begin    		return COMPLEX_POLAR'(z.mag, z.arg + MATH_PI);    end "-";    function CONJ (Z: in complex) return complex is    	-- returns complex conjugate (x-jy for z = x+ jy)    begin    		return COMPLEX'(z.Re, -z.Im);    end CONJ;    function CONJ (Z: in complex_polar) return complex_polar is    	-- returns complex conjugate (z.mag, -z.arg)    begin    		return COMPLEX_POLAR'(z.mag, -z.arg);    end CONJ;    function CSQRT(Z: in complex ) return complex_vector is    	-- returns square root of Z; 2 values		variable ztemp : complex_polar;		variable zout : complex_vector (0 to 1);		variable temp : real;    begin		ztemp := COMPLEX_TO_POLAR(Z);		temp := SQRT(ztemp.mag);		zout(0).re := temp*COS(ztemp.arg/2.0);		zout(0).im := temp*SIN(ztemp.arg/2.0);     				zout(1).re := temp*COS(ztemp.arg/2.0 + MATH_PI);		zout(1).im := temp*SIN(ztemp.arg/2.0 + MATH_PI);				return zout;    end CSQRT;    function CEXP(Z: in complex ) return complex is    	-- returns e**Z    begin		return COMPLEX'(EXP(Z.re)*COS(Z.im), EXP(Z.re)*SIN(Z.im));    end CEXP;    function COMPLEX_TO_POLAR(Z: in complex ) return complex_polar is    	-- converts complex to complex_polar    begin    		return COMPLEX_POLAR'(sqrt(z.re**2 + z.im**2),atan2(z.re,z.im));    end COMPLEX_TO_POLAR;    function POLAR_TO_COMPLEX(Z: in complex_polar ) return complex is    	-- converts complex_polar to complex    begin    		return COMPLEX'( z.mag*cos(z.arg), z.mag*sin(z.arg) );     end POLAR_TO_COMPLEX;    		    --    -- arithmetic operators    --    function "+" ( L: in complex;  R: in complex ) return complex is    begin    		return COMPLEX'(L.Re + R.Re, L.Im + R.Im);    end "+";    function "+" (L: in complex_polar; R: in complex_polar) return complex is		variable zL, zR : complex;    begin		zL := POLAR_TO_COMPLEX( L );		zR := POLAR_TO_COMPLEX( R );		return COMPLEX'(zL.Re + zR.Re, zL.Im + zR.Im);    end "+";    function "+" ( L: in complex_polar; R: in complex ) return complex is    		variable zL : complex;    begin    		zL := POLAR_TO_COMPLEX( L );		return COMPLEX'(zL.Re + R.Re, zL.Im + R.Im);    end "+";    function "+" ( L: in complex;  R: in complex_polar) return complex is    		variable zR : complex;    begin    		zR := POLAR_TO_COMPLEX( R );		return COMPLEX'(L.Re + zR.Re, L.Im + zR.Im);    end "+";    function "+" ( L: in real;     R: in complex ) return complex is    begin    		return COMPLEX'(L + R.Re, R.Im);    end "+";    function "+" ( L: in complex;  R: in real )    return complex is    begin    		return COMPLEX'(L.Re + R, L.Im);    end "+";    function "+" ( L: in real;  R: in complex_polar) return complex is    		variable zR : complex;    begin    		zR := POLAR_TO_COMPLEX( R );		return COMPLEX'(L + zR.Re, zR.Im);    end "+";    function "+" ( L: in complex_polar;  R: in real) return complex is    		variable zL : complex;    begin    		zL := POLAR_TO_COMPLEX( L );		return COMPLEX'(zL.Re + R, zL.Im);    end "+";    function "-" ( L: in complex;  R: in complex ) return complex is    begin    		return COMPLEX'(L.Re - R.Re, L.Im - R.Im);    end "-";    function "-" ( L: in complex_polar; R: in complex_polar) return complex is    		variable zL, zR : complex;    begin    		zL := POLAR_TO_COMPLEX( L );		zR := POLAR_TO_COMPLEX( R );		return COMPLEX'(zL.Re - zR.Re, zL.Im - zR.Im);    end "-";    function "-" ( L: in complex_polar; R: in complex ) return complex is    		variable zL : complex;    begin    		zL := POLAR_TO_COMPLEX( L );		return COMPLEX'(zL.Re - R.Re, zL.Im - R.Im);    end "-";    function "-" ( L: in complex;  R: in complex_polar) return complex is    		variable zR : complex;    begin    		zR := POLAR_TO_COMPLEX( R );		return COMPLEX'(L.Re - zR.Re, L.Im - zR.Im);    end "-";    function "-" ( L: in real;     R: in complex ) return complex is    begin    		return COMPLEX'(L - R.Re, -1.0 * R.Im);    end "-";    function "-" ( L: in complex;  R: in real )    return complex is    begin    		return COMPLEX'(L.Re - R, L.Im);    end "-";    function "-" ( L: in real;  R: in complex_polar) return complex is    		variable zR : complex;    begin    		zR := POLAR_TO_COMPLEX( R );		return COMPLEX'(L - zR.Re, -1.0*zR.Im);    end "-";    function "-" ( L: in complex_polar;  R: in real) return complex is    		variable zL : complex;    begin    		zL := POLAR_TO_COMPLEX( L );		return COMPLEX'(zL.Re - R, zL.Im);    end "-";    function "*" ( L: in complex;  R: in complex ) return complex is    begin        return COMPLEX'(L.Re * R.Re - L.Im * R.Im, L.Re * R.Im + L.Im * R.Re);    end "*";    function "*" ( L: in complex_polar; R: in complex_polar) return complex is		variable zout : complex_polar;    begin		zout.mag := L.mag * R.mag;		zout.arg := L.arg + R.arg;		return POLAR_TO_COMPLEX(zout);    end "*";    function "*" ( L: in complex_polar; R: in complex ) return complex is		variable zL : complex;    begin	zL := POLAR_TO_COMPLEX( L );	return COMPLEX'(zL.Re*R.Re - zL.Im * R.Im, zL.Re * R.Im + zL.Im*R.Re);    end "*";    function "*" ( L: in complex;  R: in complex_polar) return complex is    		variable zR : complex;    begin    	zR := POLAR_TO_COMPLEX( R );	return COMPLEX'(L.Re*zR.Re - L.Im * zR.Im, L.Re * zR.Im + L.Im*zR.Re);    end "*";    function "*" ( L: in real;     R: in complex ) return complex is    begin    		return COMPLEX'(L * R.Re, L * R.Im);    end "*";    function "*" ( L: in complex;  R: in real )    return complex is    begin    		return COMPLEX'(L.Re * R, L.Im * R);    end "*";    function "*" ( L: in real;  R: in complex_polar) return complex is    		variable zR : complex;    begin    		zR := POLAR_TO_COMPLEX( R );    		return COMPLEX'(L * zR.Re, L * zR.Im);    end "*";    function "*" ( L: in complex_polar;  R: in real) return complex is    		variable zL : complex;    begin    		zL := POLAR_TO_COMPLEX( L );    		return COMPLEX'(zL.Re * R, zL.Im * R);    end "*";    function "/" ( L: in complex;  R: in complex ) return complex is    		variable magrsq : REAL := R.Re ** 2 + R.Im ** 2;   begin       if (magrsq = 0.0) then         assert FALSE report "Attempt to divide by (0,0)"         	severity ERROR;         return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      else          return COMPLEX'( (L.Re * R.Re + L.Im * R.Im) / magrsq,                    (L.Im * R.Re - L.Re * R.Im) / magrsq);      end if;    end "/";    function "/" ( L: in complex_polar; R: in complex_polar) return complex is		variable zout : complex_polar;    begin    	if (R.mag = 0.0) then         	assert FALSE report "Attempt to divide by (0,0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	zout.mag := L.mag/R.mag;		zout.arg := L.arg - R.arg;		return POLAR_TO_COMPLEX(zout);      	end if;    end "/";    function "/" ( L: in complex_polar; R: in complex ) return complex is		variable zL : complex;		variable temp : REAL := R.Re ** 2 + R.Im ** 2;    begin    	if (temp = 0.0) then         	assert FALSE report "Attempt to divide by (0.0,0.0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	zL := POLAR_TO_COMPLEX( L );         	return COMPLEX'( (zL.Re * R.Re + zL.Im * R.Im) / temp,                    (zL.Im * R.Re - zL.Re * R.Im) / temp);      	end if;     end "/";    function "/" ( L: in complex;  R: in complex_polar) return complex is    		variable zR : complex := POLAR_TO_COMPLEX( R );		variable temp : REAL := zR.Re ** 2 + zR.Im ** 2;    begin    	if (R.mag = 0.0) or (temp = 0.0) then         	assert FALSE report "Attempt to divide by (0.0,0.0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	return COMPLEX'( (L.Re * zR.Re + L.Im * zR.Im) / temp,                    (L.Im * zR.Re - L.Re * zR.Im) / temp);      	end if;     end "/";    function "/" ( L: in real;     R: in complex ) return complex is    		variable temp : REAL := R.Re ** 2 + R.Im ** 2;    begin       	if (temp = 0.0) then         	assert FALSE report "Attempt to divide by (0.0,0.0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	temp := L / temp;         	return  COMPLEX'( temp * R.Re, -temp * R.Im );      	end if;     end "/";    function "/" ( L: in complex;  R: in real )    return complex is    begin    	if (R = 0.0) then         	assert FALSE report "Attempt to divide by (0.0,0.0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	return COMPLEX'(L.Re / R, L.Im / R);      	end if;     end "/";    function "/" ( L: in real;  R: in complex_polar) return complex is    		variable zR : complex := POLAR_TO_COMPLEX( R );		variable temp : REAL := zR.Re ** 2 + zR.Im ** 2;    begin    	if (R.mag = 0.0) or (temp = 0.0) then         	assert FALSE report "Attempt to divide by (0.0,0.0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	temp := L / temp;         	return  COMPLEX'( temp * zR.Re, -temp * zR.Im );      	end if;     end "/";    function "/" ( L: in complex_polar;  R: in real) return complex is    		variable zL : complex := POLAR_TO_COMPLEX( L );    begin    	if (R = 0.0) then         	assert FALSE report "Attempt to divide by (0.0,0.0)"         		severity ERROR;         	return COMPLEX'(REAL'RIGHT, REAL'RIGHT);      	else          	return COMPLEX'(zL.Re / R, zL.Im / R);      	end if;     end "/";end  MATH_COMPLEX;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费成人结看片| 国产91精品在线观看| 狠狠色丁香婷婷综合| 床上的激情91.| 9191久久久久久久久久久| 精品久久久久一区| 亚洲成人免费在线观看| 国产高清亚洲一区| 日韩片之四级片| 一区二区三区在线免费播放| 国产精品18久久久久久vr| 91精品国产综合久久精品图片 | 久久亚洲精品国产精品紫薇| 亚洲欧美国产77777| 国产精品综合视频| 91精品麻豆日日躁夜夜躁| 一区二区三区中文在线| 不卡区在线中文字幕| 久久久91精品国产一区二区精品| 青青草原综合久久大伊人精品优势 | 日韩一区二区三区av| 一区二区不卡在线视频 午夜欧美不卡在 | 国产性做久久久久久| 男女性色大片免费观看一区二区 | 精品一区二区三区视频| 91精品婷婷国产综合久久性色 | 色欧美日韩亚洲| 国产精品人成在线观看免费| 国产精品一区二区男女羞羞无遮挡| 欧美一区二区福利视频| 日韩精品午夜视频| 91精品国产乱| 久久国产精品区| 亚洲精品一区在线观看| 国产最新精品免费| 久久精品视频一区二区| 丁香婷婷深情五月亚洲| 国产精品久久毛片| 91在线视频播放| 亚洲精品中文在线| 欧美三级在线视频| 日韩成人精品视频| 久久综合色婷婷| 成人永久免费视频| 亚洲日本电影在线| 精品视频1区2区3区| 天天色综合天天| 欧美成人女星排名| 成人激情电影免费在线观看| 亚洲视频一区在线| 久久婷婷久久一区二区三区| 国产麻豆91精品| 国产精品久久久久婷婷| 日本道精品一区二区三区 | 91小视频在线观看| 夜色激情一区二区| 日韩欧美资源站| 国产精品18久久久久久久久久久久 | 欧美日韩一级黄| 麻豆国产精品官网| 亚洲国产成人在线| 欧美特级限制片免费在线观看| 日韩精品一二区| 久久久久久久综合| 在线看日本不卡| 激情图区综合网| 亚洲欧美偷拍三级| 日韩欧美中文一区| 99麻豆久久久国产精品免费优播| 亚洲1区2区3区视频| 国产香蕉久久精品综合网| 欧美亚洲一区三区| 国产高清不卡一区| 亚洲国产视频直播| 国产日韩高清在线| 欧美日韩亚洲另类| 日韩欧美视频在线| av网站一区二区三区| 婷婷一区二区三区| 一区在线中文字幕| 欧美大片国产精品| 欧美在线一二三四区| 国产精品123区| 免费在线视频一区| 一区二区三区中文字幕| 久久精品一区四区| 欧美顶级少妇做爰| 色老汉一区二区三区| 久久99国产精品免费| 亚洲永久免费av| 国产精品女同一区二区三区| 欧美一区二区免费观在线| 色婷婷一区二区三区四区| 国产精品一区在线观看你懂的| 午夜视频在线观看一区二区 | 日韩欧美一二三区| 欧美怡红院视频| av成人动漫在线观看| 激情五月播播久久久精品| 青青草97国产精品免费观看无弹窗版| 国产精品国产自产拍高清av王其 | 免费成人美女在线观看| 亚洲一区二区欧美激情| 亚洲少妇中出一区| 国产精品每日更新| 国产天堂亚洲国产碰碰| 久久久久久久综合狠狠综合| 日韩色在线观看| 欧美一区二区日韩一区二区| 欧美国产日本韩| 欧美xxxxxxxx| 日韩女优电影在线观看| 91精品国产综合久久国产大片 | 精品欧美一区二区在线观看| 欧美日韩国产电影| 欧美日韩视频专区在线播放| 欧美伊人久久久久久午夜久久久久| 91久久人澡人人添人人爽欧美 | 在线不卡中文字幕| 欧美精品在欧美一区二区少妇| 欧美最猛性xxxxx直播| 色综合久久88色综合天天免费| 色婷婷综合久久久中文一区二区 | 欧美日韩一区在线| 欧美日韩高清一区二区| 91精品啪在线观看国产60岁| 欧美成人高清电影在线| 久久久久一区二区三区四区| 国产精品丝袜久久久久久app| 国产精品久久久久影院| 亚洲欧美日韩一区二区| 亚洲成人av中文| 免费观看久久久4p| 国产成人在线视频免费播放| 成人激情免费电影网址| 欧美性高清videossexo| 欧美日韩久久久| 久久影院午夜论| 国产精品色婷婷| 亚洲一区二区av在线| 久色婷婷小香蕉久久| 国产99久久久国产精品免费看| 91视频国产观看| 91精品欧美久久久久久动漫| 国产欧美一区二区三区在线看蜜臀 | 成人午夜电影久久影院| 91美女片黄在线| 欧美日韩一区三区| 国产喷白浆一区二区三区| 一区二区三区四区视频精品免费 | 老司机精品视频在线| 国产凹凸在线观看一区二区| 色视频成人在线观看免| 欧美一级黄色片| 亚洲欧美激情小说另类| 国产最新精品免费| 在线观看日韩国产| 久久久久久免费毛片精品| 亚洲国产毛片aaaaa无费看| 激情av综合网| 欧美日韩一区二区三区不卡| 国产欧美精品日韩区二区麻豆天美| 亚洲夂夂婷婷色拍ww47| 国产a久久麻豆| 日韩午夜激情免费电影| 亚洲精品视频一区二区| 国产一区二区在线看| 欧美日韩精品免费观看视频| 国产精品青草久久| 激情国产一区二区| 欧美欧美午夜aⅴ在线观看| 国产精品国产三级国产aⅴ中文 | 欧美一级日韩免费不卡| 中文字幕一区二区三区不卡| 韩国成人精品a∨在线观看| 欧美性大战久久久久久久蜜臀| 国产精品你懂的在线| 久久99精品一区二区三区| 欧美日韩高清一区二区三区| 亚洲欧美日韩久久精品| 国产91精品精华液一区二区三区 | 美女视频黄a大片欧美| 欧美色大人视频| 亚洲欧美综合在线精品| 国产精品99精品久久免费| 日韩你懂的在线观看| 日韩1区2区日韩1区2区| 欧美视频中文字幕| 一区二区三区欧美| 91美女片黄在线观看91美女| 亚洲欧美在线观看| 99re免费视频精品全部| 国产精品麻豆99久久久久久| 国产成人福利片| 久久美女艺术照精彩视频福利播放 | 欧美日韩免费不卡视频一区二区三区| 亚洲男人的天堂在线aⅴ视频 | 中文字幕一区二区三区四区不卡| 狠狠色狠狠色合久久伊人| 精品国产乱码久久久久久影片|