📄 global.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 + -