Example #1
0
scalar sasfit_si(scalar x)
{
        scalar absx,z,f,g;

        absx=fabs(x);
        if (absx <= 4.0) {
                scalar a[11],z2;
                a[0] =2.7368706803630e0;   a[1] = -1.1106314107894e0;
                a[2] =1.4176562194666e-1;  a[3] = -1.0252652579174e-2;
                a[4] =4.6494615619880e-4;  a[5] = -1.4361730896642e-5;
                a[6] =3.2093684948229e-7;  a[7] = -5.4251990770162e-9;
                a[8] =7.1776288639895e-11; a[9] = -7.6335493723482e-13;
                a[10]=6.6679958346983e-15;
                z=x/4.0;
                z2=z*z;
                g=z2+z2-1.0;
                return z*chepolsum(10,g,a);
        } else {
                scalar cx,sx;
                scalar ssi;
                sincosfg(x,&f,&g);
                cx=cos(x);
                sx=sin(x);
                ssi = 1.570796326794897;
                if (x < 0.0) ssi = -(ssi);
                ssi -= f*cx+g*sx;
                return ssi;
        }
}
Example #2
0
void main ()
{
	void sincosint(real_t, real_t *, real_t *);
	void sincosfg(real_t, real_t *, real_t *);
	real_t si,ci,f,g;
	sincosint(1.0,&si,&ci);
	sincosfg(1.0,&f,&g);
	printf("SINCOSINT and SINCOSFG deliver:\n");
	printf(" SI(1) = %+e   CI(1) = %+e\n"
			"  F(1) = %+e    G(1) = %+e\n",si,ci,f,g);
}