CTITLESACFLN -- DETERMINE LENGTH TO USE FOR CRAY CFFT99. 00010001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR BRUCE VER WEST 00020001 CA DESIGNER BRUCE VER WEST 00030001 CA LANGUAGE VS FORTRAN 00040001 CA SYSTEM IBM AND CRAY 00050005 CA WRITTEN 07/01/87 00060001 C REVISED 12-04-87 BJV EXPANDED TABLE TO 6561. 00070001 C REVISED 08-25-88 ESN FOR THE IBM. 00080005 C REVISED 02-14-89 RDK CORRECT LIMIT ON IBM LOOP. 00080006 C REVISED 03-31-89 JJC CHANGED FFT LENGTH TABLE. (FROM FIG. 3 C TO FIG. 2, IBM ESSL MANUAL; P 540 ) C REVISED 02-22-90 LWC CORRECT ENTRY IN TABLE FOR IBM. 00080006 CA 00090001 CA THIS SUBROUTINE DETERMINES THE LENGTH TO USE FOR CFFT99. 00100005 CA THE TABLE OF MAGIC NUMBERS CONTAINS NUMBERS CONSTRUCTED FROM 00110001 CA POWERS OF 2, 3, AND 5 WHICH GIVE THE BEST PERFORMANCE. 00120001 CA 00130001 CA SUBROUTINE SACFLN(NIN,NOUT) 00140001 CA 00150001 CA NIN: LENGTH REQUESTED 00160001 CA NOUT: LENGTH TO USE, IF NOUT=0 THEN NIN GREATER THAN 00170001 CA MAXIMUM NUMBER IN TABLE. 00180001 CA 00190001 SUBROUTINE SACFLN (NIN,NOUT) 00200005 C 00210001 IMPLICIT INTEGER (A-Z) 00220005 C 00230005 COMMON /SYSTEM/ SYSTEM 00240005 C 00250005 DIMENSION MAGICC(100) 00260005 DIMENSION MAGICI(100) 00270005 C 00280005 DATA MAGICC/ 16, 25, 27, 30, 36, 40, 45, 50, 60, 75, 81, 00290005 * 90, 100, 108, 125, 135, 150, 162, 180, 200, 225, 243, 00300005 * 250, 270, 300, 324, 375, 405, 450, 486, 500, 540, 625, 00310005 * 675, 729, 750, 810, 900, 972, 1000, 1080, 1125, 1215, 1250, 00320005 * 1350, 1458, 1500, 1620, 1875, 2025, 2187, 2250, 2430, 2500, 00330005 * 2700, 2916, 3125, 3375, 3645, 3750, 4050, 4374, 00340005 * 4500, 4860, 5000, 5400, 5625, 5832, 6250, 6561, 30*0/ 00350005 DATA MAGICI/ 6, 8, 10, 12, 14, 16, 18, 20, 24, 28, 30, 00360005 * 32, 36, 40, 42, 48, 56, 60, 64, 70, 72, 80, 00370005 * 84, 90, 96, 112, 120, 126, 128, 140, 144, 160, 168, 00380005 * 180, 192, 210, 224, 240, 252, 256, 280, 288, 320, 336, 00390005 * 360, 384, 420, 448, 480, 504, 512, 560, 576, 630, 00400005 * 640, 672, 720, 768, 840, 896, 960, 1008, 1024, 1120, 00410005 * 1152, 1260, 1280, 1344, 1440, 1536, 1680, 1792, 1920, 2016, 00420005 * 2048, 2240, 2304, 2520, 2560, 2688, 2880, 3072, 3360, 3584, 00430005 * 3840, 4032, 4096, 4480, 4608, 5120, 5376, 5760, 6144, 6720, * 7168, 7680, 4*0/ C 00440001 DATA NMC/ 70/ 00450005 DATA NMI/ 96/ 00460005 C 00470001 NOUT = 0 00480001 C 00490005 IF (S1CPCH(SYSTEM,1,'IBM',1,3) .NE. 0) THEN 00500005 DO 10 I=1,NMC 00510005 IF (MAGICC(I) .GE. NIN) THEN 00520005 NOUT = MAGICC(I) 00530005 GO TO 1000 00540005 ENDIF 00550005 10 CONTINUE 00560005 ELSE 00570005 DO 20 I=1,NMI 00580005 IF (MAGICI(I) .GE. NIN) THEN 00590005 NOUT = MAGICI(I) 00600005 GO TO 1000 00610005 ENDIF 00620005 20 CONTINUE 00630005 ENDIF 00640005 C 00650001 1000 RETURN 00660005 C 00670005 END 00680001