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

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

?? nrutil.cpp

?? 這是一本書上的圖象的紋理分析方法的代碼
?? CPP
字號:
//nrutil.cpp
#include "StdAfx.h"
#include <stdio.h>
#include <stddef.h>
#include <stdlib.h>

//報告錯誤
void nrerror(char *error_text)
{
	printf("Numerical Recipes run-time error...\n");
	printf("%s\n",error_text);
	printf("...now exiting to system...\n");
	exit(1);
}

/*****************************************************************************
 * 函數名稱:vector
 * 功能:申請一個實數數組
 * 參數:nl:數組的最低下標
 *       nh:數組的最高下標
 * 返回:數組地址
 */
float *vector(long nl,long nh)
{
	float *v;

	v=(float *)calloc((unsigned) (nh-nl+1),sizeof(float));
	if (!v) nrerror("allocation failure in vector()");
	return v-nl;
}

/*****************************************************************************
 * 函數名稱:ivector
 * 功能:申請一個整數數組
 * 參數:nl:數組的最低下標
 *       nh:數組的最高下標
 * 返回:數組地址
 */
int *ivector(long nl,long nh)
{
	int *v;

	v=(int *)calloc((unsigned) (nh-nl+1),sizeof(int));
	if (!v) nrerror("allocation failure in ivector()");
	return v-nl;
}

/*****************************************************************************
 * 函數名稱:cvector
 * 功能:申請一個無符號字符數組
 * 參數:nl:數組的最低下標
 *       nh:數組的最高下標
 * 返回:數組地址
 */
unsigned char *cvector(long nl,long nh)
{
	unsigned char *v;

	v=(unsigned char *)calloc((unsigned) (nh-nl+1),sizeof(unsigned char));
	if (!v) nrerror("allocation failure in cvector()");
	return v-nl;
}

/*****************************************************************************
 * 函數名稱:lvector
 * 功能:申請一個長整數型數組
 * 參數:nl:數組的最低下標
 *       nh:數組的最高下標
 * 返回:數組地址
 */
unsigned long *lvector(long nl,long nh)
{
	unsigned long *v;

	v=(unsigned long *)calloc((unsigned) (nh-nl+1),sizeof(unsigned long));
	if (!v) nrerror("allocation failure in lvector()");
	return v-nl;
}

/*****************************************************************************
 * 函數名稱:dvector
 * 功能:申請一個雙精度實數數組
 * 參數:nl:數組的最低下標
 *       nh:數組的最高下標
 * 返回:數組地址
 */
double *dvector(long nl,long nh)
{
	double *v;

	v=(double *)calloc((unsigned) (nh-nl+1),sizeof(double));
	if (!v) nrerror("allocation failure in dvector()");
	return v-nl;
}

/*****************************************************************************
 * 函數名稱:matrix
 * 功能:申請一個實數二維數組(矩陣)
 * 參數:nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 返回:數組地址
 */
float **matrix(long nrl,long nrh,long ncl,long nch)
{
	int i;
	float **m;

	m=(float **) calloc((unsigned) (nrh-nrl+1),sizeof(float*));
	if (!m) nrerror("allocation failure 1 in matrix()");
	m -= nrl;

	for(i=nrl;i<=nrh;i++) {
		m[i]=(float *) calloc((unsigned) (nch-ncl+1),sizeof(float));
		if (!m[i]) nrerror("allocation failure 2 in matrix()");
		m[i] -= ncl;
	}
	return m;
}

/*****************************************************************************
 * 函數名稱:dmatrix
 * 功能:申請一個雙精度實數二維數組(矩陣)
 * 參數:nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 返回:數組地址
 */
double **dmatrix(long nrl,long nrh,long ncl,long nch)
{
	int i;
	double **m;

	m=(double **) calloc((unsigned) (nrh-nrl+1),sizeof(double*));
	if (!m) nrerror("allocation failure 1 in dmatrix()");
	m -= nrl;

	for(i=nrl;i<=nrh;i++) {
		m[i]=(double *) calloc((unsigned) (nch-ncl+1),sizeof(double));
		if (!m[i]) nrerror("allocation failure 2 in dmatrix()");
		m[i] -= ncl;
	}
	return m;
}

/*****************************************************************************
 * 函數名稱:imatrix
 * 功能:申請一個整數二維數組(矩陣)
 * 參數:nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 返回:數組地址
 */
int **imatrix(long nrl,long nrh,long ncl,long nch)
{
	int i,**m;

	m=(int **)calloc((unsigned) (nrh-nrl+1),sizeof(int*));
	if (!m) nrerror("allocation failure 1 in imatrix()");
	m -= nrl;

	for(i=nrl;i<=nrh;i++) {
		m[i]=(int *)calloc((unsigned) (nch-ncl+1),sizeof(int));
		if (!m[i]) nrerror("allocation failure 2 in imatrix()");
		m[i] -= ncl;
	}
	return m;
}

/*****************************************************************************
 * 函數名稱:cmatrix
 * 功能:申請一個無符號字符型二維數組(矩陣)
 * 參數:nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 返回:數組地址
 */
unsigned char **cmatrix(long nrl,long nrh,long ncl,long nch)
{
	int i;
	unsigned char **m;

	m=(unsigned char **) calloc((unsigned) (nrh-nrl+1),sizeof(unsigned char*));
	if (!m) nrerror("allocation failure 1 in dmatrix()");
	m -= nrl;

	for(i=nrl;i<=nrh;i++) {
		m[i]=(unsigned char *) calloc((unsigned) (nch-ncl+1),sizeof(unsigned char));
		if (!m[i]) nrerror("allocation failure 2 in dmatrix()");
		m[i] -= ncl;
	}
	return m;
}

/*****************************************************************************
 * 函數名稱:submatrix
 * 功能:求一個二維矩陣的子矩陣
 * 參數:a:二維矩陣的首地址
 *       oldrl:數組的行最低下標
 *       oldrh:數組的行最高下標
 *       oldcl:數組的列最低下標
 *       oldch:數組的列最高下標
 *       newrl:新數組的行最低下標
 *       newcl:新數組的列最低下標
 * 返回:數組地址
 */
float **submatrix(float **a,long oldrl,long oldrh,long oldcl,long oldch,long newrl,long newcl)
{
	int i,j;
	float **m;

	m=(float **) calloc((unsigned) (oldrh-oldrl+1),sizeof(float*));
	if (!m) nrerror("allocation failure in submatrix()");
	m -= newrl;

	for(i=oldrl,j=newrl;i<=oldrh;i++,j++) m[j]=a[i]+oldcl-newcl;

	return m;
}

/*****************************************************************************
 * 函數名稱:convert_matrix
 * 功能:將一個實數一維數組轉化為二維數組(矩陣)
 * 參數:a:原一維數組
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 返回:二維數組地址
 */
float **convert_matrix(float *a,long nrl,long nrh,long ncl,long nch)
{
	int i,j,nrow,ncol;
	float **m;

	nrow=nrh-nrl+1;
	ncol=nch-ncl+1;
	m = (float **) calloc((unsigned) (nrow),sizeof(float*));
	if (!m) nrerror("allocation failure in convert_matrix()");
	m -= nrl;
	for(i=0,j=nrl;i<=nrow-1;i++,j++) m[j]=a+ncol*i-ncl;
	return m;
}

/*****************************************************************************
 * 函數名稱:free_vector
 * 功能:釋放一個實數一維數組
 * 參數:nl:數組的行最低下標
 *       nh:數組的行最高下標
 * 無返回值
 */
void free_vector(float *v,long nl,long nh)
{
	free((char*) (v+nl));
}

/*****************************************************************************
 * 函數名稱:free_dvector
 * 功能:釋放一個整型一維數組
 * 參數:nl:數組的行最低下標
 *       nh:數組的行最高下標
 * 無返回值
 */
void free_ivector(int *v,long nl,long nh)
{
	free((char*) (v+nl));
}

/*****************************************************************************
 * 函數名稱:free_vector
 * 功能:釋放一個無符號字符型一維數組
 * 參數:nl:數組的行最低下標
 *       nh:數組的行最高下標
 * 無返回值
 */
void free_cvector(unsigned char *v,long nl,long nh)
{
	free((char*) (v+nl));
}

/*****************************************************************************
 * 函數名稱:free_vector
 * 功能:釋放一個長整型一維數組
 * 參數:nl:數組的行最低下標
 *       nh:數組的行最高下標
 * 無返回值
 */
void free_lvector(unsigned long *v,long nl,long nh)
{
	free((char*) (v+nl));
}

/*****************************************************************************
 * 函數名稱:free_vector
 * 功能:釋放一個雙精度一維數組
 * 參數:nl:數組的行最低下標
 *       nh:數組的行最高下標
 * 無返回值
 */
void free_dvector(double *v,long nl,long nh)
{
	free((char*) (v+nl));
}

/*****************************************************************************
 * 函數名稱:free_matrix
 * 功能:釋放一個實數二維數組(矩陣)
 * 參數:m:原數組地址
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 無返回值
 */
void free_matrix(float **m,long nrl,long nrh,long ncl,long nch)
{
	int i;

	for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
	free((char*) (m+nrl));
}

/*****************************************************************************
 * 函數名稱:free_dmatrix
 * 功能:釋放一個雙精度二維數組(矩陣)
 * 參數:m:原數組地址
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 無返回值
 */
void free_dmatrix(double **m,long nrl,long nrh,long ncl,long nch)
{
	int i;

	for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
	free((char*) (m+nrl));
}

/*****************************************************************************
 * 函數名稱:free_imatrix
 * 功能:釋放一個整型二維數組(矩陣)
 * 參數:m:原數組地址
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 無返回值
 */
void free_imatrix(int **m,long nrl,long nrh,long ncl,long nch)
{
	int i;

	for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
	free((char*) (m+nrl));
}

/*****************************************************************************
 * 函數名稱:free_cmatrix
 * 功能:釋放一個無符號字符二維數組(矩陣)
 * 參數:m:原數組地址
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 無返回值
 */
void free_cmatrix(unsigned char **m,long nrl,long nrh,long ncl,long nch)
{
	int i;

	for(i=nrh;i>=nrl;i--) free((char*) (m[i]+ncl));
	free((char*) (m+nrl));
}

/*****************************************************************************
 * 函數名稱:free_submatrix
 * 功能:釋放一個子二維數組(矩陣)
 * 參數:b:原數組地址
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 無返回值
 */
void free_submatrix(float **b,long nrl,long nrh,long ncl,long nch)
{
	free((char*) (b+nrl));
}
/*****************************************************************************
 * 函數名稱:free_convert_matrix
 * 功能:釋放轉化后的二維數組(矩陣)
 * 參數:b:原數組地址
 *       nrl:數組的行最低下標
 *       nrh:數組的行最高下標
 *       ncl:數組的列最低下標
 *       nch:數組的列最高下標
 * 無返回值
 */
void free_convert_matrix(float **b,long nrl,long nrh,long ncl,long nch)
{
	free((char*) (b+nrl));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
97se亚洲国产综合自在线不卡| 一区二区三区免费看视频| 国产精品99久久久久| 亚洲区小说区图片区qvod| 7777精品伊人久久久大香线蕉完整版| 色婷婷综合久久久中文一区二区 | 亚洲九九爱视频| 99re成人在线| 日本免费新一区视频| 国产免费观看久久| 在线观看免费亚洲| 国产一区二区按摩在线观看| 亚洲精品乱码久久久久久| 欧美哺乳videos| 777午夜精品免费视频| 成人黄色电影在线| 国产成人亚洲综合a∨婷婷| 三级影片在线观看欧美日韩一区二区 | 欧美精品亚洲一区二区在线播放| 国产盗摄精品一区二区三区在线| 丝瓜av网站精品一区二区| 亚洲精品大片www| 国产精品狼人久久影院观看方式| 欧美精品1区2区| 欧美精三区欧美精三区| 欧洲精品在线观看| 国产99久久精品| 国产一区二区三区美女| 国产精品一区二区x88av| 国产精品99久久久久久宅男| 国产精品1区二区.| 国产美女视频91| 成人一区二区三区| 国产精选一区二区三区| 国产传媒欧美日韩成人| 国产成人亚洲综合a∨猫咪| 亚洲一区日韩精品中文字幕| 国产精品久久午夜| 国产精品美女一区二区在线观看| 在线综合+亚洲+欧美中文字幕| 狠狠色丁香婷综合久久| 午夜伊人狠狠久久| 日韩一级黄色大片| 在线观看免费亚洲| 欧美在线三级电影| 91在线视频观看| 成人欧美一区二区三区视频网页| 99久久婷婷国产| 午夜精品成人在线视频| 91精品国产乱| 亚洲成人动漫av| 欧美日韩一区二区在线观看视频 | 黄一区二区三区| 亚洲最新视频在线播放| 国产精品成人免费在线| 亚洲精品一区二区三区香蕉| 欧美伦理电影网| 337p日本欧洲亚洲大胆精品| 国产精品国产三级国产有无不卡| 国产精品美女久久久久高潮| 一色屋精品亚洲香蕉网站| 久久久久久免费网| 亚洲另类一区二区| 午夜精品aaa| 国产精品一级黄| 国产成人精品影视| 91美女视频网站| 欧美一区二区视频网站| 国产精品热久久久久夜色精品三区 | 精品一区二区在线视频| 欧美在线高清视频| 中文字幕精品三区| 亚洲小说欧美激情另类| 成人av免费在线播放| 欧美一区二区二区| 天天色天天操综合| 色系网站成人免费| 国产午夜久久久久| 国产麻豆精品一区二区| 久久久噜噜噜久久人人看| 亚洲欧美日韩精品久久久久| 欧美在线影院一区二区| 七七婷婷婷婷精品国产| 国产精品色哟哟网站| 欧美美女一区二区在线观看| 国产精品中文有码| 亚洲国产精品尤物yw在线观看| 亚洲一区二区在线视频| 国产成人午夜高潮毛片| 中文字幕色av一区二区三区| 91原创在线视频| 婷婷久久综合九色综合绿巨人| 欧美性生活久久| 另类小说视频一区二区| 欧美国产乱子伦| 欧美日韩精品福利| 黄色精品一二区| a在线欧美一区| 亚洲高清在线精品| 久久综合给合久久狠狠狠97色69| 午夜久久久久久| 国产色一区二区| 99久久久久久99| 看电视剧不卡顿的网站| 久久青草国产手机看片福利盒子 | 国产精品综合二区| 国产精品久久久久久久久久久免费看 | 亚洲欧洲三级电影| 日韩欧美一级精品久久| 波多野结衣在线一区| 麻豆精品在线播放| 亚洲精品久久7777| 欧美激情综合网| 欧美成人免费网站| 在线电影欧美成精品| 成+人+亚洲+综合天堂| 日韩不卡一区二区三区| 一区二区在线电影| 国产精品久久久久婷婷二区次 | 欧美人伦禁忌dvd放荡欲情| 97se亚洲国产综合自在线| 国产麻豆视频精品| 琪琪一区二区三区| 日韩电影在线观看电影| 亚洲成a人v欧美综合天堂| 亚洲欧美另类久久久精品2019| www国产精品av| 国产视频在线观看一区二区三区 | 婷婷激情综合网| 日韩精品电影一区亚洲| 亚洲人被黑人高潮完整版| 中文字幕第一区二区| 欧美α欧美αv大片| 欧美无乱码久久久免费午夜一区| 色哟哟国产精品免费观看| 色猫猫国产区一区二在线视频| 成人小视频免费在线观看| 成人av手机在线观看| 91在线免费视频观看| 国产不卡视频在线播放| 国产xxx精品视频大全| 成人激情免费电影网址| 91视视频在线直接观看在线看网页在线看 | 久久久久久久久久电影| 国产精品欧美经典| 亚洲第一在线综合网站| 日韩va亚洲va欧美va久久| 精品一区二区三区免费视频| 国产真实乱对白精彩久久| 国产一区二区在线免费观看| 国产成a人亚洲精品| 色欧美日韩亚洲| 91精品在线免费| 国产亚洲成av人在线观看导航 | 国产精品一级黄| 欧美三区免费完整视频在线观看| 日韩三级伦理片妻子的秘密按摩| 精品国产91九色蝌蚪| 亚洲精品高清视频在线观看| 国产一区二区三区免费看| 粉嫩嫩av羞羞动漫久久久| 日韩欧美亚洲国产精品字幕久久久| 中文字幕av一区 二区| 美女视频黄a大片欧美| 色婷婷一区二区| 中文字幕乱码日本亚洲一区二区| 天天综合色天天综合色h| 91网页版在线| 欧美国产日韩a欧美在线观看| 亚洲国产综合91精品麻豆| av亚洲精华国产精华精| xnxx国产精品| 国产在线观看免费一区| 7777精品伊人久久久大香线蕉 | 久久久777精品电影网影网 | 免费成人在线视频观看| 欧美一区二区啪啪| 久久精品久久综合| 精品久久久久99| 国产成人精品影视| 中文字幕一区在线| 91久久精品日日躁夜夜躁欧美| 亚洲免费在线播放| 欧美男女性生活在线直播观看| 五月天视频一区| 日韩免费观看2025年上映的电影| 精品制服美女丁香| 国产精品国产自产拍高清av王其| 91色九色蝌蚪| 男人的j进女人的j一区| 国产亚洲一区二区三区在线观看 | 精品国产91乱码一区二区三区 | 国产电影一区在线| 亚洲线精品一区二区三区 | 99久免费精品视频在线观看| 亚洲制服丝袜av| 久久久亚洲综合| 欧美唯美清纯偷拍| 国产xxx精品视频大全| 香蕉久久夜色精品国产使用方法|