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