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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? matrix.h

?? fdtd 3D xyzPML MPI OpenMP
?? H
字號(hào):
#include <stdlib.h> 
#include <malloc.h>

#ifndef __MatrixbyZsolt__

	#define __MatrixbyZsolt__

	///////////////////////////////////////////////////////////////////////////////////////
	//Initialize a 2D matrix
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus ** Init_Matrix_2D(long  nx, long  ny)
	{
		Tipus **X;
		long  i;

		X = (Tipus **)calloc(nx,sizeof(Tipus *));
		if (X == NULL)
		{
			return NULL;
		}

		long  s = nx*ny; 

		Tipus* p = (Tipus*)calloc(s, sizeof(Tipus));
		if (p == NULL) 
		{
			free(X);
			return NULL;
		}
		
		for (i = 0; i < nx; i++)
		{
			X[i] = p;
			p += ny;
		}
		
		return X;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Initialize a 2D matrix with different sizes in y
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus ** Init_Matrix_2D(long  nx, long  *Size_y)
	{
	//the dimensions of Size_y must be [nx] 

		Tipus **X;
		long  i;

		X = (Tipus **)calloc(nx,sizeof(Tipus *));
		if (X == NULL)
		{
			return NULL;
		}

		long  s = 0;; 
		for (i = 0; i < nx; i++)
		{
			s += Size_y[i];
		}

		Tipus* p = (Tipus*)calloc(s, sizeof(Tipus));
		if (p == NULL) 
		{
			free(X);
			return NULL;
		}
		
		for (i = 0; i < nx; i++)
		{
			X[i] = p;
			p += Size_y[i];
		}
		
		return X;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Clear a 2D matrix 
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus ** Free_Matrix_2D(Tipus **X)
	{
		if (!X)
			return NULL;

		free(X[0]);
		free(X);
		return NULL;
	};
		
	///////////////////////////////////////////////////////////////////////////////////////
	//Initialize a 3D matrix
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus *** Init_Matrix_3D(long  nx, long  ny, long  nz)
	{
		Tipus ***X;
		long  i, j, ii;

		X = (Tipus ***)calloc(nx,sizeof(Tipus **));
		if (X == NULL)
		{
			return NULL;
		}

		for (i = 0; i < nx; i++)
		{
			X[i] = (Tipus **)calloc(ny,sizeof(Tipus *));
			if (X[i] == NULL)
			{
				for (ii = 0; ii < i; ii++)
				{
					free(X[ii]);
				}
				free(X);
				return NULL;
			}
		}

		long  s = nx*ny*nz;
				
		Tipus* p = (Tipus*)calloc(s, sizeof(Tipus));
		if (p == NULL) 
		{
			for (i = 0; i< nx; i++)
			{
				free(X[i]);
			}
			free(X);
			return NULL;
		}
		
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				X[i][j] = p;
				p += nz;
			}
		}

		return X;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Initialize a 3D matrix with different sizes in z
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus *** Init_Matrix_3D(long  nx, long  ny, long  ** Size_z)
	{
	//the dimensions of Size_z must be [nx][ny] 
		Tipus ***X;
		
		X = (Tipus ***)calloc(nx,sizeof(Tipus **));
		if (X==NULL)
		{
			return NULL;
		}

		long  i, j, ii;

		for (i = 0; i < nx; i++)
		{
			X[i] = (Tipus **)calloc(ny,sizeof(Tipus *));
			if (X[i] == NULL)
			{
				for (ii = 0; ii < i; ii++)
				{ 
					free(X[ii]);
				}
				free(X);
				return NULL;
			}
		}

		long  s = 0;
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				s += Size_z[i][j];
			}
		}

		Tipus* p = (Tipus*)calloc(s, sizeof(Tipus));
		if (p == NULL) 
		{
			for (i = 0; i < nx; i++)
			{
				free(X[i]);
			}
			free(X);
			return NULL;
		}
		
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				X[i][j] = p;
				p += Size_z[i][j];
			}
		}

		return X;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Clear a 3D matrix 
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus *** Free_Matrix_3D(Tipus ***X, long  nx)
	{
		if (!X)
			return NULL;


		free(X[0][0]);
		
		long  i;

		for (i = 0; i < nx; i++)
		{
			free(X[i]);
		}
 		free(X);

		return NULL;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Initialize a 4D matrix
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus **** Init_Matrix_4D(long  nx, long  ny, long  nz, long nw)
	{
		Tipus ****X;
		long  i, j, k, ii, jj, n_jj;

		//allocate in i
		X = (Tipus ****)calloc(nx,sizeof(Tipus ***));
		if (X == NULL)
		{
			return NULL;
		}

		//allocate in j
		for (i = 0; i < nx; i++)
		{
			X[i] = (Tipus ***)calloc(ny,sizeof(Tipus **));
			if (X[i] == NULL)
			{
				for (ii = 0; ii < i; ii++)
				{
					free(X[ii]);
				}
				free(X);
				return NULL;
			}
		}

		//allocate in k
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				X[i][j] = (Tipus **)calloc(nz,sizeof(Tipus *));
				if (X[i][j] == NULL)
				{
					for (ii = 0; ii < i; ii++)
					{
						if (ii < i-1)
						{
							n_jj = ny;
						}
						else
						{
							n_jj = j;
						}

						for (jj = 0; jj < n_jj; jj++)
						{
							free(X[ii][jj]);
						}
						free(X[ii]);
					}
					free(X);
					return NULL;
				}
			}
		}

		long  s = nx*ny*nz*nw;
				
		Tipus* p = (Tipus*)calloc(s, sizeof(Tipus));
		if (p == NULL) 
		{
			for (i = 0; i < nx; i++)
			{
				for (j = 0; j < ny; j++)
				{
					free(X[i][j]);
				}
				free(X[i]);
			}
			free(X);
			return NULL;
		}
		
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				for (k = 0; k < nz; k++)
				{
					X[i][j][k] = p;
					p += nw;
				}
			}
		}

		return X;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Initialize a 4D matrix with different sizes in w
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus **** Init_Matrix_4D(long  nx, long  ny, long  nz, long  ***Size_w)
	{
		//the dimensions of Size_w must be [nx][ny][nz] 
		Tipus ****X;
		
		X = (Tipus ****)calloc(nx,sizeof(Tipus ***));
		if (X == NULL)
		{
			return NULL;
		}

		long  i, j, k, ii, jj, n_jj;

		for (i = 0; i < nx; i++)
		{
			X[i] = (Tipus ***)calloc(ny,sizeof(Tipus **));
			if (X[i] == NULL)
			{
				for (ii = 0; ii < i; ii++)
				{ 
					free(X[ii]);
				}
				free(X);
				return NULL;
			}
		}

		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				X[i][j] = (Tipus **)calloc(nz,sizeof(Tipus *));
				if (X[i][j] == NULL)
				{
					for (ii = 0; ii < i; ii++)
					{
						if (ii < i-1)
						{
							n_jj = ny;
						}
						else
						{
							n_jj = j;
						}

						for (jj = 0; jj < n_jj; jj++)
						{
							free(X[ii][jj]);
						}
						free(X[ii]);
					}
					free(X);
					return NULL;
				}
			}
		}


		long  s = 0;
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				for (k = 0; k < nz; k++)
				{
					s += Size_w[i][j][k];
				}
			}
		}

		Tipus* p = (Tipus*)calloc(s, sizeof(Tipus));
		if (p == NULL) 
		{
			for (i = 0; i < nx; i++)
			{
				for (j = 0; j < ny; j++)
				{
					free(X[i][j]);
				}
				free(X[i]);
			}
			free(X);
			return NULL;
		}
		
		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				for (k = 0; k < nz; k++)
				{
					X[i][j][k] = p;
					p += Size_w[i][j][k];
				}
			}
		}
		
		return X;
	};

	///////////////////////////////////////////////////////////////////////////////////////
	//Clear a 4D matrix 
	///////////////////////////////////////////////////////////////////////////////////////
	template<class Tipus> Tipus **** Free_Matrix_4D(Tipus ****X, long  nx, long  ny)
	{
		if (!X)
			return NULL;


		free(X[0][0][0]);
		
		long  i, j;

		for (i = 0; i < nx; i++)
		{
			for (j = 0; j < ny; j++)
			{
				free(X[i][j]);
			}
			free(X[i]);
		}
 		free(X);

		return NULL;
	};

#endif

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧洲精品视频在线观看| 国产欧美一区二区精品婷婷| 国产精品高潮呻吟| kk眼镜猥琐国模调教系列一区二区| 久久久欧美精品sm网站| 另类调教123区| 欧美精品在欧美一区二区少妇| 午夜精品久久久| 制服丝袜中文字幕亚洲| 国产一区二区三区高清播放| 欧美成人r级一区二区三区| 精品一区二区三区欧美| 久久久另类综合| 欧美精品vⅰdeose4hd| 成人18视频在线播放| 一区二区三区小说| 欧美一区二区三区四区久久| 国内外成人在线| 日韩一区欧美小说| 91精品国产91久久综合桃花| av在线不卡网| 国产成人福利片| 亚洲一区视频在线观看视频| 日韩精品一区二区在线观看| 成人高清视频免费观看| 精品一区二区三区日韩| 麻豆精品视频在线观看免费 | 国产成人亚洲综合a∨婷婷| 亚洲成人av免费| 日韩免费一区二区| 欧美日韩日本视频| 国产精品一卡二卡在线观看| 一区二区三区四区视频精品免费 | 1区2区3区国产精品| 国产蜜臀av在线一区二区三区| 91精品视频网| 5858s免费视频成人| 欧美狂野另类xxxxoooo| 在线观看视频91| 欧美性生活影院| 国产一区二区h| 精品一区二区三区欧美| 国产中文一区二区三区| 麻豆免费看一区二区三区| 免费成人美女在线观看.| 亚洲欧美日韩国产一区二区三区| 日韩欧美国产一二三区| 日韩一级片网址| 色激情天天射综合网| 国产伦精品一区二区三区免费迷| 激情五月播播久久久精品| 久久99在线观看| 国产精品中文有码| 国产成人在线看| 成人app在线观看| 91麻豆精品在线观看| 国产在线不卡视频| 国产精品一区二区黑丝| 粗大黑人巨茎大战欧美成人| 久久成人免费网站| 国产美女视频91| 成人av网站在线| 欧美影院一区二区| 欧美一区二区三区视频在线观看 | 91精品国产综合久久久久久漫画| 91精品国产欧美一区二区| 欧美精品一区二区久久婷婷| 欧美高清性hdvideosex| 日韩欧美成人午夜| 国产女同性恋一区二区| 亚洲精品日日夜夜| 亚洲欧美综合色| 亚洲综合av网| 精品亚洲成a人| 国产成人久久精品77777最新版本 国产成人鲁色资源国产91色综 | 中文字幕一区不卡| 亚洲五码中文字幕| 亚洲精品乱码久久久久| 午夜精品久久久久久久久久| 美女免费视频一区| 不卡电影一区二区三区| 欧美色手机在线观看| wwwwww.欧美系列| 精品电影一区二区| 日韩一区欧美一区| 亚洲自拍另类综合| 欧美日韩中文精品| 五月婷婷激情综合网| 国产一区二区三区在线观看精品 | 99re8在线精品视频免费播放| 日日噜噜夜夜狠狠视频欧美人| 亚洲一二三四区| 国产一区二区在线电影| 色999日韩国产欧美一区二区| 日韩精品一区二区三区在线| 亚洲特级片在线| 亚洲欧美电影院| 黄色日韩网站视频| 欧美疯狂做受xxxx富婆| 国产精品私房写真福利视频| 亚洲日本免费电影| 国产老女人精品毛片久久| 在线一区二区三区四区五区| 久久久久久夜精品精品免费| 日韩精品福利网| 色综合久久88色综合天天| 欧美无砖专区一中文字| 国产婷婷色一区二区三区四区| 国产女人aaa级久久久级 | 亚洲欧洲制服丝袜| 九色porny丨国产精品| 欧美性大战久久久久久久 | 欧美激情综合五月色丁香小说| 中文字幕中文字幕一区二区 | 色久优优欧美色久优优| 日本一区二区三区电影| 久久精品国产精品青草| 欧美三级蜜桃2在线观看| 一区精品在线播放| 国产成人精品aa毛片| 久久精品网站免费观看| 六月丁香综合在线视频| 欧美一区二区私人影院日本| 亚洲香蕉伊在人在线观| 91视频精品在这里| 中文字幕一区二区三区视频| 国产成人亚洲综合a∨猫咪| 亚洲精品一区二区三区精华液 | 久久精品国内一区二区三区| 在线免费观看成人短视频| 亚洲欧美在线aaa| 成人激情图片网| 国产日韩欧美一区二区三区乱码 | 最新高清无码专区| 成人黄色免费短视频| 久久麻豆一区二区| 国产麻豆视频一区二区| 国产午夜亚洲精品不卡| 精品一区二区三区在线播放视频| 欧美一区二区在线不卡| 美女久久久精品| 日韩精品一区二区三区swag| 看电影不卡的网站| 精品国产三级电影在线观看| 麻豆国产欧美一区二区三区| 91精品视频网| 黄一区二区三区| 国产欧美日韩激情| 91亚洲精华国产精华精华液| 亚洲日本一区二区| 欧美性生活一区| 天天爽夜夜爽夜夜爽精品视频| 欧美一级日韩不卡播放免费| 另类小说视频一区二区| 国产亚洲欧美激情| 不卡av电影在线播放| 亚洲啪啪综合av一区二区三区| 欧美中文字幕一区二区三区| 亚洲电影一区二区三区| 91精品国产日韩91久久久久久| 久久疯狂做爰流白浆xx| 国产女同性恋一区二区| 色综合久久综合网| 天天操天天干天天综合网| 日韩精品一区二区三区swag| 国产999精品久久| 亚洲午夜日本在线观看| 欧美日本一区二区三区| 亚洲婷婷综合久久一本伊一区| 色美美综合视频| 日日夜夜免费精品| 久久精品一区二区三区四区| 一本大道久久a久久精品综合| 亚洲成人免费观看| 久久久亚洲精品石原莉奈| 一本到不卡精品视频在线观看| 亚洲国产精品视频| 2023国产精品自拍| 在线视频一区二区三| 捆绑变态av一区二区三区 | 日本91福利区| 日本一区二区免费在线| 欧美色图天堂网| 国产精品 日产精品 欧美精品| 亚洲激情网站免费观看| 精品久久久久久久久久久久久久久久久 | 另类中文字幕网| 中文字幕亚洲区| 5566中文字幕一区二区电影| 成人毛片老司机大片| 日韩黄色在线观看| 国产精品―色哟哟| 在线不卡a资源高清| 成人听书哪个软件好| 午夜久久久影院| 国产精品青草久久| 91精品国产综合久久久久久久久久 | 国产亚洲欧美色| 欧美精品丝袜久久久中文字幕| 国产精品18久久久久|