获取gamma数组
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define GAMMA_SIZE 150
//sum: Y轴最大值
//n: 伽马系数 取值范围 [ >0 ]
void print_gamma(int sum, double n)
{
unsigned char gm[GAMMA_SIZE] = {0};
double diff; // 步长
double x = 0.00000000000001;// 横坐标
double y; // 纵坐标
unsigned int cnt = 0;
diff = 1.00/GAMMA_SIZE;
while(x<1)
{
//c = a*a;
y = pow(x,n);
x += diff;
cnt++;
gm[cnt] = (unsigned char)(y * sum);
}
printf("//[0 ~ %d],step: %d,gamma: %f\n",sum, GAMMA_SIZE, n);
printf("gamma[150] = {\n");
for(cnt = 1; cnt < GAMMA_SIZE; cnt++)
{
printf("%d,",gm[cnt]);
if(cnt % 10 ==0)
{
printf("\n");
}
}
printf("%d};",sum);
}
void main()
{
print_gamma(255, 1.5);
system("pause");
}