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