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

📄 xhypgeo.c

📁 Numerical Recipes Software 提供的算法子程序集
💻 C
字号:
/* Driver for routine hypgeo */

#include <stdio.h>
#include <math.h>
#define NRANSI
#include "nr.h"
#include "nrutil.h"
#include "complex.h"

fcomplex Clog(fcomplex a)
{
	fcomplex b;

	b.r=log(Cabs(a));
	b.i=atan2(a.i,a.r);
	return b;
}

int main(void)
{
	fcomplex a,b,c,z,zi,q1,q2,q3,q4;
	float x,y;

	a=Complex(0.5,0.0);
	b=Complex(1.0,0.0);
	c=Complex(1.5,0.0);
	for (;;) {
		printf("INPUT X,Y OF COMPLEX ARGUMENT:\n");
		if (scanf("%f %f",&x,&y) == EOF) break;
		z=Complex(x,y);
		q1=hypgeo(a,b,c,Cmul(z,z));
		q2=RCmul(0.5,Cdiv(Clog(Cdiv(Cadd(b,z),Csub(b,z))),z));
		q3=hypgeo(a,b,c,RCmul(-1.0,Cmul(z,z)));
		zi=Complex(-y,x);
		q4=RCmul(0.5,Cdiv(Clog(Cdiv(Cadd(b,zi),Csub(b,zi))),zi));
		printf("2F1(0.5,1.0,1.5;z^2) =%12.6f %12.6f\n",q1.r,q1.i);
		printf("check using log form: %12.6f %12.6f\n",q2.r,q2.i);
		printf("2F1(0.5,1.0,1.5;-z^2)=%12.6f %12.6f\n",q3.r,q3.i);
		printf("check using log form: %12.6f %12.6f\n",q4.r,q4.i);
	}
	return 0;
}
#undef NRANSI
/* (C) Copr. 1986-92 Numerical Recipes Software . */

⌨️ 快捷键说明

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