324 DOUBLE PRECISION sfac
326 INTEGER icase, incx, incy, mode, n
330 INTEGER i, j, ki, kn, ksize, lenx, leny, mx, my
332 COMPLEX*16 cdot(1), csize1(4), csize2(7,2), csize3(14),
333 + ct10x(7,4,4), ct10y(7,4,4), ct6(4,4), ct7(4,4),
334 + ct8(7,4,4), cx(7), cx1(7), cy(7), cy1(7)
335 INTEGER incxs(4), incys(4), lens(4,2), ns(4)
344 COMMON /combla/icase, n, incx, incy, mode, pass
346 DATA ca/(0.4d0,-0.7d0)/
347 DATA incxs/1, 2, -2, -1/
348 DATA incys/1, -2, 1, -2/
349 DATA lens/1, 1, 2, 4, 1, 1, 3, 7/
351 DATA cx1/(0.7d0,-0.8d0), (-0.4d0,-0.7d0),
352 + (-0.1d0,-0.9d0), (0.2d0,-0.8d0),
353 + (-0.9d0,-0.4d0), (0.1d0,0.4d0), (-0.6d0,0.6d0)/
354 DATA cy1/(0.6d0,-0.6d0), (-0.9d0,0.5d0),
355 + (0.7d0,-0.6d0), (0.1d0,-0.5d0), (-0.1d0,-0.2d0),
356 + (-0.5d0,-0.3d0), (0.8d0,-0.7d0)/
357 DATA ((ct8(i,j,1),i=1,7),j=1,4)/(0.6d0,-0.6d0),
358 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
359 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
360 + (0.32d0,-1.41d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
361 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
362 + (0.0d0,0.0d0), (0.32d0,-1.41d0),
363 + (-1.55d0,0.5d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
364 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
365 + (0.32d0,-1.41d0), (-1.55d0,0.5d0),
366 + (0.03d0,-0.89d0), (-0.38d0,-0.96d0),
367 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0)/
368 DATA ((ct8(i,j,2),i=1,7),j=1,4)/(0.6d0,-0.6d0),
369 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
370 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
371 + (0.32d0,-1.41d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
372 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
373 + (0.0d0,0.0d0), (-0.07d0,-0.89d0),
374 + (-0.9d0,0.5d0), (0.42d0,-1.41d0), (0.0d0,0.0d0),
375 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
376 + (0.78d0,0.06d0), (-0.9d0,0.5d0),
377 + (0.06d0,-0.13d0), (0.1d0,-0.5d0),
378 + (-0.77d0,-0.49d0), (-0.5d0,-0.3d0),
380 DATA ((ct8(i,j,3),i=1,7),j=1,4)/(0.6d0,-0.6d0),
381 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
382 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
383 + (0.32d0,-1.41d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
384 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
385 + (0.0d0,0.0d0), (-0.07d0,-0.89d0),
386 + (-1.18d0,-0.31d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
387 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
388 + (0.78d0,0.06d0), (-1.54d0,0.97d0),
389 + (0.03d0,-0.89d0), (-0.18d0,-1.31d0),
390 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0)/
391 DATA ((ct8(i,j,4),i=1,7),j=1,4)/(0.6d0,-0.6d0),
392 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
393 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
394 + (0.32d0,-1.41d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
395 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
396 + (0.0d0,0.0d0), (0.32d0,-1.41d0), (-0.9d0,0.5d0),
397 + (0.05d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
398 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.32d0,-1.41d0),
399 + (-0.9d0,0.5d0), (0.05d0,-0.6d0), (0.1d0,-0.5d0),
400 + (-0.77d0,-0.49d0), (-0.5d0,-0.3d0),
402 DATA ct7/(0.0d0,0.0d0), (-0.06d0,-0.90d0),
403 + (0.65d0,-0.47d0), (-0.34d0,-1.22d0),
404 + (0.0d0,0.0d0), (-0.06d0,-0.90d0),
405 + (-0.59d0,-1.46d0), (-1.04d0,-0.04d0),
406 + (0.0d0,0.0d0), (-0.06d0,-0.90d0),
407 + (-0.83d0,0.59d0), (0.07d0,-0.37d0),
408 + (0.0d0,0.0d0), (-0.06d0,-0.90d0),
409 + (-0.76d0,-1.15d0), (-1.33d0,-1.82d0)/
410 DATA ct6/(0.0d0,0.0d0), (0.90d0,0.06d0),
411 + (0.91d0,-0.77d0), (1.80d0,-0.10d0),
412 + (0.0d0,0.0d0), (0.90d0,0.06d0), (1.45d0,0.74d0),
413 + (0.20d0,0.90d0), (0.0d0,0.0d0), (0.90d0,0.06d0),
414 + (-0.55d0,0.23d0), (0.83d0,-0.39d0),
415 + (0.0d0,0.0d0), (0.90d0,0.06d0), (1.04d0,0.79d0),
417 DATA ((ct10x(i,j,1),i=1,7),j=1,4)/(0.7d0,-0.8d0),
418 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
419 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
420 + (0.6d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
421 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
422 + (0.0d0,0.0d0), (0.6d0,-0.6d0), (-0.9d0,0.5d0),
423 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
424 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.6d0,-0.6d0),
425 + (-0.9d0,0.5d0), (0.7d0,-0.6d0), (0.1d0,-0.5d0),
426 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0)/
427 DATA ((ct10x(i,j,2),i=1,7),j=1,4)/(0.7d0,-0.8d0),
428 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
429 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
430 + (0.6d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
431 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
432 + (0.0d0,0.0d0), (0.7d0,-0.6d0), (-0.4d0,-0.7d0),
433 + (0.6d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
434 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.8d0,-0.7d0),
435 + (-0.4d0,-0.7d0), (-0.1d0,-0.2d0),
436 + (0.2d0,-0.8d0), (0.7d0,-0.6d0), (0.1d0,0.4d0),
438 DATA ((ct10x(i,j,3),i=1,7),j=1,4)/(0.7d0,-0.8d0),
439 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
440 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
441 + (0.6d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
442 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
443 + (0.0d0,0.0d0), (-0.9d0,0.5d0), (-0.4d0,-0.7d0),
444 + (0.6d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
445 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.1d0,-0.5d0),
446 + (-0.4d0,-0.7d0), (0.7d0,-0.6d0), (0.2d0,-0.8d0),
447 + (-0.9d0,0.5d0), (0.1d0,0.4d0), (0.6d0,-0.6d0)/
448 DATA ((ct10x(i,j,4),i=1,7),j=1,4)/(0.7d0,-0.8d0),
449 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
450 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
451 + (0.6d0,-0.6d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
452 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
453 + (0.0d0,0.0d0), (0.6d0,-0.6d0), (0.7d0,-0.6d0),
454 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
455 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.6d0,-0.6d0),
456 + (0.7d0,-0.6d0), (-0.1d0,-0.2d0), (0.8d0,-0.7d0),
457 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0)/
458 DATA ((ct10y(i,j,1),i=1,7),j=1,4)/(0.6d0,-0.6d0),
459 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
460 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
461 + (0.7d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
462 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
463 + (0.0d0,0.0d0), (0.7d0,-0.8d0), (-0.4d0,-0.7d0),
464 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
465 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.7d0,-0.8d0),
466 + (-0.4d0,-0.7d0), (-0.1d0,-0.9d0),
467 + (0.2d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
469 DATA ((ct10y(i,j,2),i=1,7),j=1,4)/(0.6d0,-0.6d0),
470 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
471 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
472 + (0.7d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
473 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
474 + (0.0d0,0.0d0), (-0.1d0,-0.9d0), (-0.9d0,0.5d0),
475 + (0.7d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
476 + (0.0d0,0.0d0), (0.0d0,0.0d0), (-0.6d0,0.6d0),
477 + (-0.9d0,0.5d0), (-0.9d0,-0.4d0), (0.1d0,-0.5d0),
478 + (-0.1d0,-0.9d0), (-0.5d0,-0.3d0),
480 DATA ((ct10y(i,j,3),i=1,7),j=1,4)/(0.6d0,-0.6d0),
481 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
482 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
483 + (0.7d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
484 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
485 + (0.0d0,0.0d0), (-0.1d0,-0.9d0), (0.7d0,-0.8d0),
486 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
487 + (0.0d0,0.0d0), (0.0d0,0.0d0), (-0.6d0,0.6d0),
488 + (-0.9d0,-0.4d0), (-0.1d0,-0.9d0),
489 + (0.7d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
491 DATA ((ct10y(i,j,4),i=1,7),j=1,4)/(0.6d0,-0.6d0),
492 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
493 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
494 + (0.7d0,-0.8d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
495 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
496 + (0.0d0,0.0d0), (0.7d0,-0.8d0), (-0.9d0,0.5d0),
497 + (-0.4d0,-0.7d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
498 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.7d0,-0.8d0),
499 + (-0.9d0,0.5d0), (-0.4d0,-0.7d0), (0.1d0,-0.5d0),
500 + (-0.1d0,-0.9d0), (-0.5d0,-0.3d0),
502 DATA csize1/(0.0d0,0.0d0), (0.9d0,0.9d0),
503 + (1.63d0,1.73d0), (2.90d0,2.78d0)/
504 DATA csize3/(0.0d0,0.0d0), (0.0d0,0.0d0),
505 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
506 + (0.0d0,0.0d0), (0.0d0,0.0d0), (1.17d0,1.17d0),
507 + (1.17d0,1.17d0), (1.17d0,1.17d0),
508 + (1.17d0,1.17d0), (1.17d0,1.17d0),
509 + (1.17d0,1.17d0), (1.17d0,1.17d0)/
510 DATA csize2/(0.0d0,0.0d0), (0.0d0,0.0d0),
511 + (0.0d0,0.0d0), (0.0d0,0.0d0), (0.0d0,0.0d0),
512 + (0.0d0,0.0d0), (0.0d0,0.0d0), (1.54d0,1.54d0),
513 + (1.54d0,1.54d0), (1.54d0,1.54d0),
514 + (1.54d0,1.54d0), (1.54d0,1.54d0),
515 + (1.54d0,1.54d0), (1.54d0,1.54d0)/
535 cdot(1) =
zdotc(n,cx,incx,cy,incy)
536 CALL ctest(1,cdot,ct6(kn,ki),csize1(kn),sfac)
537 ELSE IF (icase.EQ.2)
THEN
539 cdot(1) =
zdotu(n,cx,incx,cy,incy)
540 CALL ctest(1,cdot,ct7(kn,ki),csize1(kn),sfac)
541 ELSE IF (icase.EQ.3)
THEN
543 CALL zaxpy(n,ca,cx,incx,cy,incy)
544 CALL ctest(leny,cy,ct8(1,kn,ki),csize2(1,ksize),sfac)
545 ELSE IF (icase.EQ.4)
THEN
547 CALL zcopy(n,cx,incx,cy,incy)
548 CALL ctest(leny,cy,ct10y(1,kn,ki),csize3,1.0d0)
549 ELSE IF (icase.EQ.5)
THEN
551 CALL zswap(n,cx,incx,cy,incy)
552 CALL ctest(lenx,cx,ct10x(1,kn,ki),csize3,1.0d0)
553 CALL ctest(leny,cy,ct10y(1,kn,ki),csize3,1.0d0)
555 WRITE (nout,*)
' Shouldn''t be here in CHECK2'
subroutine zcopy(N, ZX, INCX, ZY, INCY)
ZCOPY
subroutine zswap(N, ZX, INCX, ZY, INCY)
ZSWAP
complex *16 function zdotu(N, ZX, INCX, ZY, INCY)
ZDOTU
complex *16 function zdotc(N, ZX, INCX, ZY, INCY)
ZDOTC
subroutine ctest(LEN, CCOMP, CTRUE, CSIZE, SFAC)
subroutine zaxpy(N, ZA, ZX, INCX, ZY, INCY)
ZAXPY