| 555 | | template<class Field> |
| 556 | | static void ftrsmLeftUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 557 | | const size_t M, const size_t N, |
| 558 | | const typename Field::Element alpha, |
| 559 | | const typename Field::Element * A, const size_t lda, |
| 560 | | typename Field::Element * B, const size_t ldb); |
| 561 | | |
| 562 | | template<class Field> |
| 563 | | static void ftrsmLeftUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| 564 | | const size_t M, const size_t N, |
| 565 | | const typename Field::Element alpha, |
| 566 | | const typename Field::Element * A, const size_t lda, |
| 567 | | typename Field::Element * B, const size_t ldb); |
| 568 | | |
| 569 | | template<class Field> |
| 570 | | static void ftrsmLeftLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 571 | | const size_t M, const size_t N, |
| 572 | | const typename Field::Element alpha, |
| 573 | | typename Field::Element * A, const size_t lda, |
| 574 | | typename Field::Element * B, const size_t ldb, |
| 575 | | const size_t nmax); |
| 576 | | template<class Element> |
| 577 | | class callFtrsmLeftLowNoTrans; |
| 578 | | |
| 579 | | template<class Element> |
| 580 | | class callFtrsmRightUpNoTrans; |
| 581 | | |
| 582 | | template<class Element> |
| 583 | | class callFtrmmLeftUpNoTrans; |
| 584 | | |
| 585 | | template<class Element> |
| 586 | | class callFtrmmLeftUpTrans; |
| 587 | | |
| 588 | | template<class Element> |
| 589 | | class callFtrmmLeftLowNoTrans; |
| 590 | | |
| 591 | | template<class Element> |
| 592 | | class callFtrmmLeftLowTrans; |
| 593 | | |
| 594 | | template<class Element> |
| 595 | | class callFtrmmRightUpNoTrans; |
| 596 | | |
| 597 | | template<class Element> |
| 598 | | class callFtrmmRightUpTrans; |
| 599 | | |
| 600 | | template<class Element> |
| 601 | | class callFtrmmRightLowNoTrans; |
| 602 | | |
| 603 | | template<class Element> |
| 604 | | class callFtrmmRightLowTrans; |
| 605 | | |
| 606 | | template<class Field> |
| 607 | | static void ftrsmLeftLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| 608 | | const size_t M, const size_t N, |
| 609 | | const typename Field::Element alpha, |
| 610 | | const typename Field::Element * A, const size_t lda, |
| 611 | | typename Field::Element * B, const size_t ldb); |
| 612 | | |
| 613 | | template<class Field> |
| 614 | | static void ftrsmRightUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 615 | | const size_t M, const size_t N, |
| 616 | | const typename Field::Element alpha, |
| 617 | | typename Field::Element * A, const size_t lda, |
| 618 | | typename Field::Element * B, const size_t ldb, |
| 619 | | const size_t nmax); |
| 620 | | |
| 621 | | template<class Field> |
| 622 | | static void ftrsmRightUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| 623 | | const size_t M, const size_t N, |
| 624 | | const typename Field::Element alpha, |
| 625 | | const typename Field::Element * A, const size_t lda, |
| 626 | | typename Field::Element * B, const size_t ldb); |
| 627 | | |
| 628 | | template<class Field> |
| 629 | | static void ftrsmRightLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 630 | | const size_t M, const size_t N, |
| 631 | | const typename Field::Element alpha, |
| 632 | | const typename Field::Element * A, const size_t lda, |
| 633 | | typename Field::Element * B, const size_t ldb); |
| 634 | | |
| 635 | | template<class Field> |
| 636 | | static void ftrsmRightLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| 637 | | const size_t M, const size_t N, |
| 638 | | const typename Field::Element alpha, |
| 639 | | const typename Field::Element * A, const size_t lda, |
| 640 | | typename Field::Element * B, const size_t ldb); |
| | 555 | template <class Element> |
| | 556 | class ftrsmLeftUpperNoTransNonUnit; |
| | 557 | template <class Element> |
| | 558 | class ftrsmLeftUpperNoTransUnit; |
| | 559 | template <class Element> |
| | 560 | class ftrsmLeftUpperTransNonUnit; |
| | 561 | template <class Element> |
| | 562 | class ftrsmLeftUpperTransUnit; |
| | 563 | template <class Element> |
| | 564 | class ftrsmLeftLowerNoTransNonUnit; |
| | 565 | template <class Element> |
| | 566 | class ftrsmLeftLowerNoTransUnit; |
| | 567 | template <class Element> |
| | 568 | class ftrsmLeftLowerTransNonUnit; |
| | 569 | template <class Element> |
| | 570 | class ftrsmLeftLowerTransUnit; |
| | 571 | template <class Element> |
| | 572 | class ftrsmRightUpperNoTransNonUnit; |
| | 573 | template <class Element> |
| | 574 | class ftrsmRightUpperNoTransUnit; |
| | 575 | template <class Element> |
| | 576 | class ftrsmRightUpperTransNonUnit; |
| | 577 | template <class Element> |
| | 578 | class ftrsmRightUpperTransUnit; |
| | 579 | template <class Element> |
| | 580 | class ftrsmRightLowerNoTransNonUnit; |
| | 581 | template <class Element> |
| | 582 | class ftrsmRightLowerNoTransUnit; |
| | 583 | template <class Element> |
| | 584 | class ftrsmRightLowerTransNonUnit; |
| | 585 | template <class Element> |
| | 586 | class ftrsmRightLowerTransUnit; |
| 643 | | template<class Field> |
| 644 | | static void ftrmmLeftUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 645 | | const size_t M, const size_t N, |
| 646 | | const typename Field::Element * A, const size_t lda, |
| 647 | | typename Field::Element * B, const size_t ldb, |
| 648 | | const size_t nmax); |
| 649 | | |
| 650 | | template<class Field> |
| 651 | | static void ftrmmLeftUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| 652 | | const size_t M, const size_t N, |
| 653 | | const typename Field::Element * A, const size_t lda, |
| 654 | | typename Field::Element * B, const size_t ldb, |
| 655 | | const size_t nmax); |
| 656 | | |
| 657 | | template<class Field> |
| 658 | | static void ftrmmLeftLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 659 | | const size_t M, const size_t N, |
| 660 | | const typename Field::Element * A, const size_t lda, |
| 661 | | typename Field::Element * B, const size_t ldb, |
| 662 | | const size_t nmax); |
| 663 | | |
| 664 | | template<class Field> |
| 665 | | static void ftrmmLeftLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| 666 | | const size_t M, const size_t N, |
| 667 | | const typename Field::Element * A, const size_t lda, |
| 668 | | typename Field::Element * B, const size_t ldb, |
| 669 | | const size_t nmax); |
| 670 | | |
| 671 | | template<class Field> |
| 672 | | static void ftrmmRightUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 673 | | const size_t M, const size_t N, |
| 674 | | const typename Field::Element * A, const size_t lda, |
| 675 | | typename Field::Element * B, const size_t ldb, |
| 676 | | const size_t nmax); |
| 677 | | |
| 678 | | template<class Field> |
| 679 | | static void ftrmmRightUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| 680 | | const size_t M, const size_t N, |
| 681 | | const typename Field::Element * A, const size_t lda, |
| 682 | | typename Field::Element * B, const size_t ldb, |
| 683 | | const size_t nmax); |
| 684 | | |
| 685 | | template<class Field> |
| 686 | | static void ftrmmRightLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| 687 | | const size_t M, const size_t N, |
| 688 | | const typename Field::Element * A, const size_t lda, |
| 689 | | typename Field::Element * B, const size_t ldb, |
| 690 | | const size_t nmax); |
| 691 | | template<class Field> |
| 692 | | static void ftrmmRightLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| 693 | | const size_t M, const size_t N, |
| 694 | | const typename Field::Element * A, const size_t lda, |
| 695 | | typename Field::Element * B, const size_t ldb, |
| 696 | | const size_t nmax); |
| | 589 | template <class Element> |
| | 590 | class ftrmmLeftUpperNoTransNonUnit; |
| | 591 | template <class Element> |
| | 592 | class ftrmmLeftUpperNoTransUnit; |
| | 593 | template <class Element> |
| | 594 | class ftrmmLeftUpperTransNonUnit; |
| | 595 | template <class Element> |
| | 596 | class ftrmmLeftUpperTransUnit; |
| | 597 | template <class Element> |
| | 598 | class ftrmmLeftLowerNoTransNonUnit; |
| | 599 | template <class Element> |
| | 600 | class ftrmmLeftLowerNoTransUnit; |
| | 601 | template <class Element> |
| | 602 | class ftrmmLeftLowerTransNonUnit; |
| | 603 | template <class Element> |
| | 604 | class ftrmmLeftLowerTransUnit; |
| | 605 | template <class Element> |
| | 606 | class ftrmmRightUpperNoTransNonUnit; |
| | 607 | template <class Element> |
| | 608 | class ftrmmRightUpperNoTransUnit; |
| | 609 | template <class Element> |
| | 610 | class ftrmmRightUpperTransNonUnit; |
| | 611 | template <class Element> |
| | 612 | class ftrmmRightUpperTransUnit; |
| | 613 | template <class Element> |
| | 614 | class ftrmmRightLowerNoTransNonUnit; |
| | 615 | template <class Element> |
| | 616 | class ftrmmRightLowerNoTransUnit; |
| | 617 | template <class Element> |
| | 618 | class ftrmmRightLowerTransNonUnit; |
| | 619 | template <class Element> |
| | 620 | class ftrmmRightLowerTransUnit; |
| | 621 | |
| | 622 | // template<class Field> |
| | 623 | // static void ftrsmLeftUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 624 | // const size_t M, const size_t N, |
| | 625 | // const typename Field::Element alpha, |
| | 626 | // const typename Field::Element * A, const size_t lda, |
| | 627 | // typename Field::Element * B, const size_t ldb); |
| | 628 | |
| | 629 | // template<class Field> |
| | 630 | // static void ftrsmLeftUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 631 | // const size_t M, const size_t N, |
| | 632 | // const typename Field::Element alpha, |
| | 633 | // const typename Field::Element * A, const size_t lda, |
| | 634 | // typename Field::Element * B, const size_t ldb); |
| | 635 | |
| | 636 | // template<class Field> |
| | 637 | // static void ftrsmLeftLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 638 | // const size_t M, const size_t N, |
| | 639 | // const typename Field::Element alpha, |
| | 640 | // typename Field::Element * A, const size_t lda, |
| | 641 | // typename Field::Element * B, const size_t ldb, |
| | 642 | // const size_t nmax); |
| | 643 | // template<class Element> |
| | 644 | // class callFtrsmLeftLowNoTrans; |
| | 645 | |
| | 646 | // template<class Element> |
| | 647 | // class callFtrsmRightUpNoTrans; |
| | 648 | |
| | 649 | // template<class Element> |
| | 650 | // class callFtrmmLeftUpNoTrans; |
| | 651 | |
| | 652 | // template<class Element> |
| | 653 | // class callFtrmmLeftUpTrans; |
| | 654 | |
| | 655 | // template<class Element> |
| | 656 | // class callFtrmmLeftLowNoTrans; |
| | 657 | |
| | 658 | // template<class Element> |
| | 659 | // class callFtrmmLeftLowTrans; |
| | 660 | |
| | 661 | // template<class Element> |
| | 662 | // class callFtrmmRightUpNoTrans; |
| | 663 | |
| | 664 | // template<class Element> |
| | 665 | // class callFtrmmRightUpTrans; |
| | 666 | |
| | 667 | // template<class Element> |
| | 668 | // class callFtrmmRightLowNoTrans; |
| | 669 | |
| | 670 | // template<class Element> |
| | 671 | // class callFtrmmRightLowTrans; |
| | 672 | |
| | 673 | // template<class Field> |
| | 674 | // static void ftrsmLeftLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 675 | // const size_t M, const size_t N, |
| | 676 | // const typename Field::Element alpha, |
| | 677 | // const typename Field::Element * A, const size_t lda, |
| | 678 | // typename Field::Element * B, const size_t ldb); |
| | 679 | |
| | 680 | // template<class Field> |
| | 681 | // static void ftrsmRightUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 682 | // const size_t M, const size_t N, |
| | 683 | // const typename Field::Element alpha, |
| | 684 | // typename Field::Element * A, const size_t lda, |
| | 685 | // typename Field::Element * B, const size_t ldb, |
| | 686 | // const size_t nmax); |
| | 687 | |
| | 688 | // template<class Field> |
| | 689 | // static void ftrsmRightUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 690 | // const size_t M, const size_t N, |
| | 691 | // const typename Field::Element alpha, |
| | 692 | // const typename Field::Element * A, const size_t lda, |
| | 693 | // typename Field::Element * B, const size_t ldb); |
| | 694 | |
| | 695 | // template<class Field> |
| | 696 | // static void ftrsmRightLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 697 | // const size_t M, const size_t N, |
| | 698 | // const typename Field::Element alpha, |
| | 699 | // const typename Field::Element * A, const size_t lda, |
| | 700 | // typename Field::Element * B, const size_t ldb); |
| | 701 | |
| | 702 | // template<class Field> |
| | 703 | // static void ftrsmRightLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 704 | // const size_t M, const size_t N, |
| | 705 | // const typename Field::Element alpha, |
| | 706 | // const typename Field::Element * A, const size_t lda, |
| | 707 | // typename Field::Element * B, const size_t ldb); |
| | 708 | |
| | 709 | // Specialized routines for ftrmm |
| | 710 | // template<class Field> |
| | 711 | // static void ftrmmLeftUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 712 | // const size_t M, const size_t N, |
| | 713 | // const typename Field::Element * A, const size_t lda, |
| | 714 | // typename Field::Element * B, const size_t ldb, |
| | 715 | // const size_t nmax); |
| | 716 | |
| | 717 | // template<class Field> |
| | 718 | // static void ftrmmLeftUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 719 | // const size_t M, const size_t N, |
| | 720 | // const typename Field::Element * A, const size_t lda, |
| | 721 | // typename Field::Element * B, const size_t ldb, |
| | 722 | // const size_t nmax); |
| | 723 | |
| | 724 | // template<class Field> |
| | 725 | // static void ftrmmLeftLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 726 | // const size_t M, const size_t N, |
| | 727 | // const typename Field::Element * A, const size_t lda, |
| | 728 | // typename Field::Element * B, const size_t ldb, |
| | 729 | // const size_t nmax); |
| | 730 | |
| | 731 | // template<class Field> |
| | 732 | // static void ftrmmLeftLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 733 | // const size_t M, const size_t N, |
| | 734 | // const typename Field::Element * A, const size_t lda, |
| | 735 | // typename Field::Element * B, const size_t ldb, |
| | 736 | // const size_t nmax); |
| | 737 | |
| | 738 | // template<class Field> |
| | 739 | // static void ftrmmRightUpNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 740 | // const size_t M, const size_t N, |
| | 741 | // const typename Field::Element * A, const size_t lda, |
| | 742 | // typename Field::Element * B, const size_t ldb, |
| | 743 | // const size_t nmax); |
| | 744 | |
| | 745 | // template<class Field> |
| | 746 | // static void ftrmmRightUpTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 747 | // const size_t M, const size_t N, |
| | 748 | // const typename Field::Element * A, const size_t lda, |
| | 749 | // typename Field::Element * B, const size_t ldb, |
| | 750 | // const size_t nmax); |
| | 751 | |
| | 752 | // template<class Field> |
| | 753 | // static void ftrmmRightLowNoTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 754 | // const size_t M, const size_t N, |
| | 755 | // const typename Field::Element * A, const size_t lda, |
| | 756 | // typename Field::Element * B, const size_t ldb, |
| | 757 | // const size_t nmax); |
| | 758 | // template<class Field> |
| | 759 | // static void ftrmmRightLowTrans (const Field& F, const FFLAS_DIAG Diag, |
| | 760 | // const size_t M, const size_t N, |
| | 761 | // const typename Field::Element * A, const size_t lda, |
| | 762 | // typename Field::Element * B, const size_t ldb, |
| | 763 | // const size_t nmax); |