c DEMONSTRATE SCPDRV, SCPINT, AND SCPVAL. c>> 2001-05-22 DRSCPVAL Krogh Minor change for making .f90 version. c>> 1997-05-29 DRSCPVAL Krogh Special code for C conversion. c>> 1996-05-28 DRSCPVAL Krogh Added external statement. c>> 1994-10-19 DRSCPVAL Krogh Changes to use M77CON c>> 1987-12-09 DRSCPVAL Lawson Initial Code. c--S replaces "?": DR?CPVAL, ?CPDRV, ?CPINT, ?CPVAL c external SCPVAL c++ Code for .C. is inactive c%% long int i; c++ End integer NQ, NR real P(6),Q(7),R(6),Z,SCPVAL data P/ 5.E0, 2.E0, 10.E0, 8.E0, 6.E0, 4.E0 / c call SCPINT(P,3,Q,NQ) call SCPDRV(Q,NQ,R,NR) Z=SCPVAL(Q,NQ,6.E0)-SCPVAL(Q,NQ,4.E0) c++ Code for ~.C. is active write(*,1000) P,Q,R,Z 1000 format(21X,'P =',2F4.0,2X,4F7.2//' INTEGRAL OF P. Q =' *,2F4.0,2X,5F7.2//' DERIVATIVE OF Q. R =',2F4.0,2X,4F7.2/ */' DEFINITE INTEGRAL. Z =',F20.8) c++ Code for .C. is inactive c%% printf( " P =%4.0f%4.0f ", p[0], p[1]); c%% for(i=2L; i < sizeof(p)/sizeof(p[1]); i++) c%% printf( "%7.2f", p[i] ); c%% printf( "\n INTEGRAL OF P. Q =%4.0f%4.0f ", q[0], q[1]); c%% for(i=2L; i < sizeof(q)/sizeof(q[1]); i++) c%% printf( "%7.2f", q[i] ); c%% printf( "\n DERIVATIVE OF Q. R =%4.0f%4.0f ", r[0], r[1]); c%% for(i=2L; i < sizeof(r)/sizeof(r[1]); i++) c%% printf( "%7.2f", r[i] ); c%% printf( "\n DEFINITE INTEGRAL. Z =%7.2f\n", z ); c++ End stop end