      SUBROUTINE WANDT(WV,TV,N,A,B)
C
C   INTEGRATION WEIGHTS AND NODES ARE TO BE CALCULATED AND STORED IN
C   WV AND TV, RESPECTIVELY. N IS ASSUMED TO BE A POWER OF TWO. IF
C   2 .LE. N .LE. 256, THEN GAUSSIAN QUADRATURE IS USED. IF N .GT.
C   256, THEN THE INTERVAL (A,B) IS DIVIDED N/256 TIMES AND THE 256
C   POINT FORMULA IS APPLIED TO EACH SUBINTERVAL.
C
      DIMENSION WV(N),TV(N)
      DIMENSION W(255),T(255)
      DATA T(1),T(2),T(3),T(4),T(5),T(6),T(7),T(8),T(9),T(10),T(11),
     *     T(12),T(13),T(14),T(15)/.577350269189626E0,
     *  .861136311594053E0,.339981043584856E0,.960289856497536E0,
     *  .796666477413627E0,.525532409916329E0,.183434642495650E0,
     *  .989400934991650E0,.944575023073233E0,.865631202387832E0,
     *  .755404408355003E0,.617876244402644E0,.458016777657227E0,
     *  .281603550779259E0,.950125098376374E-1/
      DATA T(16),T(17),T(18),T(19),T(20),T(21),T(22),T(23),T(24),T(25),
     *     T(26),T(27),T(28),T(29),T(30),T(31)/.997263861849482E0,
     *  .985611511545268E0,.964762255587506E0,.934906075937740E0,
     *  .896321155766052E0,.849367613732570E0,.794483795967942E0,
     *  .732182118740290E0,.663044266930215E0,.587715757240762E0,
     *  .506899908932229E0,.421351276130635E0,.331868602282128E0,
     *  .239287362252137E0,.144471961582796E0,.483076656877383E-1/
      DATA T(32),T(33),T(34),T(35),T(36),T(37),T(38),T(39),T(40),T(41),
     *     T(42),T(43),T(44),T(45),T(46),T(47)/.999305041735772E0,
     *  .996340116771955E0,.991013371476744E0,.983336253884626E0,
     *  .973326827789911E0,.961008799652054E0,.946411374858403E0,
     *  .929569172131940E0,.910522137078503E0,.889315445995114E0,
     *  .865999398154093E0,.840629296252580E0,.813265315122798E0,
     *  .783972358943341E0,.752819907260532E0,.719881850171611E0/
      DATA T(48),T(49),T(50),T(51),T(52),T(53),T(54),T(55),T(56),T(57),
     *     T(58),T(59),T(60),T(61),T(62),T(63)/.685236313054233E0,
     *  .648965471254657E0,.611155355172393E0,.571895646202634E0,
     *  .531279464019895E0,.489403145707053E0,.446366017253464E0,
     *  .402270157963992E0,.357220158337668E0,.311322871990211E0,
     *  .264687162208767E0,.217423643740007E0,.169644420423993E0,
     *  .121462819296121E0,.729931217877990E-1,.243502926634244E-1/
      DATA T(64),T(65),T(66),T(67),T(68),T(69),T(70),T(71),T(72),T(73),
     *     T(74),T(75),T(76),T(77),T(78),T(79)/.999824887947132E0,
     *  .999077459977376E0,.997733248625514E0,.995792758534981E0,
     *  .993257112900213E0,.990127818491734E0,.986406742724586E0,
     *  .982096108435719E0,.977198491463907E0,.971716818747137E0,
     *  .965654366431965E0,.959014757853700E0,.951801961341264E0,
     *  .944020287830220E0,.935674388277916E0,.926769250878948E0/
      DATA T(80),T(81),T(82),T(83),T(84),T(85),T(86),T(87),T(88),T(89),
     *     T(90),T(91),T(92),T(93),T(94),T(95),T(96),T(97)/
     *  .917310198080961E0,.907302883401757E0,.896753288049158E0,
     *  .885667717345397E0,.874052796958032E0,.861915468939548E0,
     *  .849262987577969E0,.836102915060907E0,.822443116955644E0,
     *  .808291757507914E0,.793657294762193E0,.778548475506412E0,
     *  .762974330044095E0,.746944166797062E0,.730467566741909E0,
     *  .713554377683587E0,.696214708369514E0,.678458922447719E0/
      DATA T(98),T(99),T(100),T(101),T(102),T(103),T(104),T(105),T(106),
     *     T(107),T(108),T(109),T(110),T(111),T(112),T(113),T(114)/
     *  .660297632272646E0,.641741692562308E0,.622802193910585E0,
     *  .603490456158549E0,.583818021628763E0,.563796648226618E0,
     *  .543438302412810E0,.522755152051175E0,.501759559136144E0,
     *  .480464072404172E0,.458881419833552E0,.437024501037104E0,
     *  .414906379552275E0,.392540275033267E0,.369939555349859E0,
     *  .347117728597636E0,.324088435024413E0/
      DATA T(115),T(116),T(117),T(118),T(119),T(120),T(121),T(122),
     *     T(123),T(124),T(125),T(126),T(127)/.300865438877677E0,
     *  .277462620177904E0,.253893966422694E0,.230173564226660E0,
     *  .206315590902079E0,.182334305985337E0,.158244042714225E0,
     *  .134059199461188E0,.109794231127644E0,
     *  .854636405045155E-1,.610819696041396E-1,.366637909687335E-1,
     *  .122236989606158E-1/
      DATA T(128),T(129),T(130),T(131),T(132),T(133),T(134),T(135),
     *     T(136),T(137),T(138),T(139),T(140),T(141),T(142)/
     *  .999956050018992E0,.999768437409263E0,.999430937466261E0,
     *  .998943525843409E0,.998306266473006E0,.997519252756721E0,
     *  .996582602023382E0,.995496454481096E0,.994260972922410E0,
     *  .992876342608822E0,.991342771207583E0,.989660488745065E0,
     *  .987829747564861E0,.985850822286126E0,.983724009760315E0/
      DATA T(143),T(144),T(145),T(146),T(147),T(148),T(149),T(150),
     *     T(151),T(152),T(153),T(154),T(155),T(156),T(157)/
     *  .981449629025464E0,.979028021257622E0,.976459549719234E0,
     *  .973744599704370E0,.970883578480743E0,.967876915228489E0,
     *  .964725060975706E0,.961428488530732E0,.957987692411178E0,
     *  .954403188769716E0,.950675515316628E0,.946805231239127E0,
     *  .942792917117462E0,.938639174837814E0, .934344627502003E0/
      DATA T(158),T(159),T(160),T(161),T(162),T(163),T(164),T(165),
     *     T(166),T(167),T(168),T(169),T(170),T(171),T(172)/
     *  .929909919334006E0,.925335715583316E0,.920622702425146E0,
     *  .915771586857490E0,.910783096595065E0,.905657979960145E0,
     *  .900397005770304E0,.895000963223085E0,.889470661777611E0,
     *  .883806931033158E0,.878010620604707E0,.872082599995488E0,
     *  .866023758466555E0,.859835004903376E0,.853517267679503E0/
      DATA T(173),T(174),T(175),T(176),T(177),T(178),T(179),T(180),
     *     T(181),T(182),T(183),T(184),T(185),T(186),T(187)/
     *  .847071494517296E0,.840498652345763E0,.833799727155505E0,
     *  .826975723850813E0,.820027666098917E0,.812956596176432E0,
     *  .805763574812999E0,.798449681032171E0,.791016011989546E0,
     *  .783463682808184E0,.775793826411326E0,.768007593352446E0,
     *  .760106151642655E0,.752090686575492E0,.743962400549112E0/
      DATA T(188),T(189),T(190),T(191),T(192),T(193),T(194),T(195),
     *     T(196),T(197),T(198),T(199),T(200),T(201),T(202)/
     *  .735722512885918E0,.727372259649652E0,.718912893459971E0,
     *  .710345683304543E0,.701671914348685E0,.692892887742577E0,
     *  .684009920426076E0,.675024344931163E0,.665937509182049E0,
     *  .656750776292973E0,.647465524363725E0,.638083146272911E0,
     *  .628605049469015E0,.619032655759261E0,.609367401096334E0/
      DATA T(203),T(204),T(205),T(206),T(207),T(208),T(209),T(210),
     *     T(211),T(212),T(213),T(214),T(215),T(216),T(217)/
     *  .599610735362968E0,.589764122154454E0,.579829038559083E0,
     *  .569806974936569E0,.559699434694481E0,.549507934062719E0,
     *  .539234001866059E0,.528879179294822E0,.518445019673674E0,
     *  .507933088228616E0,.497344961852181E0,.486682228866890E0,
     *  .475946488786983E0,.465139352078479E0,.454262439917590E0/
      DATA T(218),T(219),T(220),T(221),T(222),T(223),T(224),T(225),
     *     T(226),T(227),T(228),T(229),T(230),T(231),T(232)/
     *  .443317383947527E0,.432305826033741E0,.421229418017624E0,
     *  .410089821468717E0,.398888707435459E0,.387627756194516E0,
     *  .376308656998716E0,.364933107823654E0,.353502815112970E0,
     *  .342019493522372E0,.330484865662417E0,.318900661840106E0,
     *  .307268619799319E0,.295590484460136E0,.283868007657082E0/
      DATA T(233),T(234),T(235),T(236),T(237),T(238),T(239),T(240),
     *     T(241),T(242),T(243),T(244),T(245),T(246),T(247)/
     *  .272102947876337E0,.260297069991943E0,.248452145001057E0,
     *  .236569949758284E0,.224652266709132E0,.212700883622626E0,
     *  .200717593323127E0,.188704193421389E0,.176662486044902E0,
     *  .164594277567554E0,.152501378338656E0,.140385602411376E0,
     *  .128248767270607E0,.116092693560333E0,.103919204810509E0/
      DATA   T(248),T(249),T(250),T(251),T(252),T(253),T(254),T(255)/
     *  .917301271635196E-1,.795272891002330E-1,.673125211657164E-1,
     *  .550876556946340E-1,.428545265363791E-1,.306149687799790E-1,
     *  .183708184788137E-1,.612391237518953E-2/
      DATA W(1),W(2),W(3),W(4),W(5),W(6),W(7),W(8),W(9),W(10),W(11),
     *     W(12),W(13),W(14),W(15)/1.0E0,.347854845137454E0,
     *  .652145154862546E0,.101228536290376E0,.222381034453374E0,
     *  .313706645877887E0,.362683783378362E0,.271524594117541E-1,
     *  .622535239386479E-1,.951585116824928E-1,.124628971255534E0,
     *  .149595988816577E0,.169156519395003E0,.182603415044924E0,
     *  .189450610455068E0/
      DATA W(16),W(17),W(18),W(19),W(20),W(21),W(22),W(23),W(24),W(25),
     *     W(26),W(27),W(28),W(29),W(30),W(31)/.701861000947010E-2,
     *  .162743947309057E-1,.253920653092621E-1,.342738629130214E-1,
     *  .428358980222267E-1,.509980592623762E-1,.586840934785355E-1,
     *  .658222227763618E-1,.723457941088485E-1,.781938957870703E-1,
     *  .833119242269468E-1,.876520930044038E-1,.911738786957639E-1,
     *  .938443990808046E-1,.956387200792749E-1,.965400885147278E-1/
      DATA W(32),W(33),W(34),W(35),W(36),W(37),W(38),W(39),W(40),W(41),
     *     W(42),W(43),W(44),W(45),W(46),W(47)/.178328072169643E-2,
     *  .414703326056247E-2,.650445796897836E-2,.884675982636395E-2,
     *  .111681394601311E-1,.134630478967186E-1,.157260304760247E-1,
     *  .179517157756973E-1,.201348231535302E-1,.222701738083833E-1,
     *  .243527025687109E-1,.263774697150547E-1,.283396726142595E-1,
     *  .302346570724025E-1,.320579283548516E-1,.338051618371416E-1/
      DATA W(48),W(49),W(50),W(51),W(52),W(53),W(54),W(55),W(56),W(57),
     *     W(58),W(59),W(60),W(61),W(62),W(63)/ .354722132568824E-1,
     *  .370551285402400E-1,.385501531786156E-1,.399537411327203E-1,
     *  .412625632426235E-1,.424735151236536E-1,.435837245293235E-1,
     *  .445905581637566E-1,.454916279274181E-1, .462847965813144E-1,
     * .469681828162100E-1,.475401657148303E-1,.479993885964583E-1,
     *  .483447622348030E-1,.485754674415034E-1,.486909570091397E-1/
      DATA W(64),W(65),W(66),W(67),W(68),W(69),W(70),W(71),W(72),W(73),
     *     W(74),W(75),W(76),W(77),W(78),W(79)/ .449380960292090E-3,
     *  .104581267934035E-2,.164250301866903E-2,.223828843096262E-2,
     *  .283275147145799E-2,.342552604091022E-2,.401625498373864E-2,
     *  .460458425670296E-2,.519016183267633E-2,.577263754286570E-2,
     *  .635166316170719E-2,.692689256689881E-2,.749798192563473E-2,
     *  .806458989048606E-2,.862637779861675E-2,.918300987166087E-2/
      DATA W(80),W(81),W(82),W(83),W(84),W(85),W(86),W(87),W(88),
     * W(89),W(90),W(91),W(92),W(93),W(94),W(95)/.973415341500681E-2,
     *  .102794790158322E-1,.108186607395031E-1,.113513763240804E-1,
     *  .118773073727403E-1,.123961395439509E-1,.129075627392673E-1,
     *  .134112712886163E-1,.139069641329520E-1,.143943450041668E-1,
     *  .148731226021473E-1,.153430107688651E-1,.158037286593993E-1,
     *  .162550009097852E-1,.166965578015892E-1,.171281354231114E-1/
      DATA W(96),W(97),W(98),W(99),W(100),W(101),W(102),W(103),W(104),
     *     W(105),W(106),W(107),W(108),W(109),W(110),W(111),W(112)/
     *  .175494758271177E-1,.179603271850087E-1,.183604439373313E-1,
     *  .187495869405447E-1,.191275236099509E-1,.194940280587066E-1,
     *  .198488812328309E-1,.201918710421300E-1,.205227924869601E-1,
     *  .208414477807511E-1,.211476464682213E-1,.214412055392085E-1,
     *  .217219495380521E-1,.219897106684605E-1,.222443288937998E-1,
     *  .224856520327450E-1,.227135358502365E-1/
      DATA W(113),W(114),W(115),W(116),W(117),W(118),W(119),W(120),
     *     W(121),W(122),W(123),W(124),W(125),W(126),W(127)/
     *  .229278441436868E-1,.231284488243870E-1,.233152299940628E-1,
     *  .234880760165359E-1,.236468835844476E-1,.237915577810034E-1,
     *  .239220121367035E-1,.240381686810241E-1,.241399579890193E-1,
     *  .242273192228152E-1,.243002001679719E-1,.243585572646906E-1,
     *  .244023556338496E-1,.244315690978500E-1,.244461801962625E-1/
      DATA W(128),W(129),W(130),W(131),W(132),W(133),W(134),W(135),
     *     W(136),W(137),W(138),W(139),W(140),W(141),W(142)/
     *  .112789017822272E-3,.262534944296446E-3,.412463254426176E-3,
     *  .562348954031410E-3,.712154163473321E-3,.861853701420089E-3,
     *  .101142439320844E-2,.116084355756772E-2,.131008868190250E-2,
     *  .145913733331073E-2,.160796713074933E-2,.175655573633073E-2,
     *  .190488085349972E-2,.205292022796614E-2,.220065164983991E-2/
      DATA W(143),W(144),W(145),W(146),W(147),W(148),W(149),W(150),
     *     W(151),W(152),W(153),W(154),W(155),W(156),W(157)/
     *  .234805295632731E-2,.249510203470371E-2,.264177682542749E-2,
     *  .278805532532771E-2,.293391559082972E-2,.307933574119934E-2,
     *  .322429396179420E-2,.336876850731555E-2,.351273770505631E-2,
     *  .365617995814250E-2,.379907374876626E-2,.394139764140883E-2,
     *  .408313028605267E-2,.422425042138154E-2,.436473687796806E-2/
      DATA W(158),W(159),W(160),W(161),W(162),W(163),W(164),W(165),
     *     W(166),W(167),W(168),W(169),W(170),W(171),W(172)/
     *  .450456858144790E-2,.464372455568006E-2,.478218392589269E-2,
     *  .491992592181387E-2,.505692988078684E-2,.519317525086928E-2,
     *  .532864159391593E-2,.546330858864431E-2,.559715603368291E-2,
     *  .573016385060144E-2,.586231208692265E-2,.599358091911534E-2,
     *  .612395065556793E-2,.625340173954240E-2,.638191475210788E-2/
      DATA W(173),W(174),W(175),W(176),W(177),W(178),W(179),W(180),
     *     W(181),W(182),W(183),W(184),W(185),W(186),W(187)/
     *  .650947041505366E-2,.663604959378107E-2,.676163330017380E-2,
     *  .688620269544632E-2,.700973909296982E-2,.713222396107539E-2,
     *  .725363892583391E-2,.737396577381235E-2,.749318645480588E-2,
     *  .761128308454566E-2,.772823794738156E-2,.784403349893971E-2,
     *  .795865236875435E-2,.807207736287350E-2,.818429146643827E-2/
      DATA W(188),W(189),W(190),W(191),W(192),W(193),W(194),W(195),
     *     W(196),W(197),W(198),W(199),W(200),W(201),W(202)/
     *  .829527784623523E-2,.840501985322154E-2,.851350102502249E-2,
     *  .862070508840101E-2,.872661596169881E-2,.883121775724875E-2,
     *  .893449478375821E-2,.903643154866287E-2,.913701276045081E-2,
     *  .923622333095630E-2,.933404837762327E-2,.943047322573775E-2,
     *  .952548341062928E-2,.961906467984073E-2,.971120299526628E-2/
      DATA W(203),W(204),W(205),W(206),W(207),W(208),W(209),W(210),
     *     W(211),W(212),W(213),W(214),W(215),W(216),W(217)/
     *  .980188453525733E-2,.989109569669583E-2,.997882309703491E-2,
     *  .100650535763064E-1,.101497741990949E-1,.102329722564782E-1,
     *  .103146352679340E-1,.103947509832117E-1,.104733073841704E-1,
     *  .105502926865815E-1,.106256953418966E-1,.106995040389798E-1,
     *  .107717077058046E-1,.108422955111148E-1,.109112568660490E-1/
      DATA W(218),W(219),W(220),W(221),W(222),W(223),W(224),W(225),
     *     W(226),W(227),W(228),W(229),W(230),W(231),W(232)/
     *  .109785814257296E-1,.110442590908139E-1,.111082800090098E-1,
     *  .111706345765534E-1,.112313134396497E-1,.112903074958755E-1,
     *  .113476078955455E-1,.114032060430392E-1,.114570935980906E-1,
     *  .115092624770395E-1,.115597048540436E-1,.116084131622531E-1,
     *  .116553800949452E-1,.117005986066207E-1,.117440619140606E-1/
      DATA W(233),W(234),W(235),W(236),W(237),W(238),W(239),W(240),
     *     W(241),W(242),W(243),W(244),W(245),W(246),W(247)/
     *  .117857634973434E-1,.118256971008240E-1,.118638567340711E-1,
     *  .119002366727665E-1,.119348314595636E-1,.119676359049059E-1,
     *  .119986450878058E-1,.120278543565826E-1,.120552593295601E-1,
     *  .120808558957245E-1,.121046402153405E-1,.121266087205273E-1,
     *  .121467581157945E-1,.121650853785355E-1,.121815877594818E-1/
      DATA W(248),W(249),W(250),W(251),W(252),W(253),W(254),W(255)/
     *  .121962627831147E-1,.122091082480372E-1,.122201222273040E-1,
     *  .122293030687103E-1,.122366493950402E-1,.122421601042728E-1,
     *  .122458343697479E-1,.122476716402898E-1/
      LOOP=MAX0(1,N/256)
      FLOOP=LOOP
      H=(B-A)/FLOOP
      SCALE=H/2.0
      M=MIN0(128,N/2)
      MT=2*M
      NPLACE=M-1
      DO 1 L=1,LOOP
      FL=L
      AL=A+(FL-1.0)*H
      BL=A+FL*H
      K=256*(L-1)
      DO 1 I=1,M
      NPI=NPLACE+I
      S=T(NPI)
      R=W(NPI)*SCALE
      I1=K+I
      I2=K+MT+1-I
      TV(I1)=  (AL*(1.0+S)+(1.0-S)*BL)/2.0
      TV(I2)=  (AL*(1.0-S)+(1.0+S)*BL)/2.0
      WV(I1)=R
1     WV(I2)=R
      RETURN
      END
