/* THIS IS THE INTEGRATION PART OF INTSCE. IT CAN BE ALTERED, TRANSLATED, AND INCORPORATED IN INTSCE LISP WHICH CONTAINS THE TOP-LEVEL ROUTINE THAT DOES THE PATTERN MATCHING. */ SCEINT(M,N):=BLOCK([DEN,NUM],MODEDECLARE([M,N],INTEGER), DEN:D^2+B^2*(M+N)^2, NUM: IF M=0 THEN (IF N=0 THEN RETURN(RET) ELSE IF N=1 THEN (D*CO+B*SI)*EX ELSE (D*CO+N*B*SI)*EX*CO^(N-1)+N*(N-1)*B^2*SCEINT(0,N-2)) ELSE IF M=1 THEN (IF N=0 THEN (D*SI-B*CO)*EX ELSE IF N=1 THEN (D*SI*CO+B*SI^2-B*CO^2)*EX ELSE (D*SI*CO+N*B*SI^2-B*CO^2)*CO^(N-1)*EX+ N*(N-1)*B^2*SCEINT(1,N-2)) ELSE (IF N=0 THEN (D*SI-M*B*CO)*EX*SI^(M-1)+M*(M-1)*B^2*SCEINT(M-2,0) ELSE IF N=1 THEN (D*CO*SI+B*SI^2-M*B*CO^2)*SI^(M-1)*EX+M*(M-1)*B^2*SCEINT(M-2,1) ELSE (D*SI*CO+N*B*SI^2-M*B*CO^2)*SI^(M-1)*CO^(N-1)*EX+ N*(N-1)*B^2*SCEINT(M,N-2)+M*(M-1)*B^2*SCEINT(M-2,N)), RETURN(NUM/DEN))$