/* ECP: FILEname=fig4_15.c */ /* 1*/ static double Radicand; /* 2*/ static /* 3*/ double /* 4*/ CubeRootEqn( double X ) /* 5*/ { /* 6*/ return X * X * X - Radicand; /* 7*/ } /* 8*/ double /* 9*/ Cbrt( double N ) /*10*/ { /*11*/ Radicand = N; /*12*/ if( N > 0 ) /*13*/ if( N > 1.0 ) /*14*/ return Solve( CubeRootEqn, 1, N ); /*15*/ else /*16*/ return Solve( CubeRootEqn, N, 1 ); /*17*/ else /*18*/ if( N > -1.0 ) /*19*/ return Solve( CubeRootEqn, -1, N ); /*20*/ else /*21*/ return Solve( CubeRootEqn, N, -1 ); /*22*/ }