⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global.c

📁 该程序把数字图像处理与小波变换结合起来
💻 C
字号:
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
/* 
 * Mow-Song, Ng 2/9/2002
 * msng@mmu.edu.my
 * http://www.pesona.mmu.edu.my/~msng
 *
 * I do not claim copyright to the code, but if you use them or modify them,
 * please drop me a mail.
 *
 */
/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/

#include "global.h"

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Real MOD (Real x, Real N)
{
   Real xmodN = x - N*((int)(x/N));
   if (xmodN < 0) xmodN += N;
   return xmodN;
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Real square (Real x)
{
	return (x*x); 
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int isquare (int x)
{ 
	return (x*x); 
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int sign(Real x)   
{ 
	return (x > 0 ? 1 : x < 0 ? -1 : 0); 
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
int log2 (int x)
{
   int count = 0;
	
   while (x > 1)  {
      x >>= 1;
      count++;
   }
   return count;
}




/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Real FindMax(Real *input, int size)
{
	int i;
	Real Max=-MaxReal;

	for (i=0; i<size; i++){
		if (input[i]>Max){
			Max = input[i];
		}
	}
	return Max;
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Real FindMin(Real *input, int size)
{
	int i;
	Real Min=MaxReal;
	
	for (i=0; i<size; i++){
		if (input[i]<Min){
			Min=input[i];
		}
	}
	return Min;
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
Real Sum(Real *input, int size)
{
	int i;
	Real sum=0.0;
	
	for (i=0; i<size; i++){
		sum += *input++;
	}

	return sum;
}


/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
void AddValue(Real *input, int size, double value)
{
	int i;
	
	for (i=0; i<size; i++){
		*input++ += value;
	}

	return;
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
void FindMaxMin(Real *input, int size, Real *Max, Real *Min)
{
	int i;
	*Min=MaxReal;
	*Max=-MaxReal;

	for (i=0; i<size; i++){
		if (input[i]< *Min){
			*Min=input[i];
		}
		else if (input[i]> *Max){
			*Max=input[i];
		}
	}	
}

/*---------------------------------------------------------------------------*/
/*---------------------------------------------------------------------------*/
void WaitKey(void)
{
	getc(stdin);
}

/*---------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/	
int GetFileLength (char *FileName)
{
   struct stat statistics; /* input file statistics */
   
   if(stat(FileName,&statistics) == -1) return 0;
   
   return (int)statistics.st_size;
}

/*---------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------*/	
void Error(char *fmt, ...)
{
	va_list argptr;
	
	va_start( argptr, fmt );
	fprintf(stderr, "Error: " );
	vprintf( fmt, argptr );
	va_end( argptr );
	exit( -1 );
}

/*----------------------------------------------------------------------------*/	
void Warning(char *fmt, ...)
{
	va_list argptr;
	
	va_start( argptr, fmt );
	fprintf( stderr, "Warning: " );
	vprintf( fmt, argptr );
	va_end( argptr );
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -