コード例 #1
0
ファイル: test_blas.py プロジェクト: cshen/f2pypy
 def test_copy(self):
     for p in 'sd':
         f = getattr(fblas,p+'copy',None)
         if f is None: continue
         assert_array_almost_equal(f([3,4,5],[8]*3),[3,4,5])
     for p in 'cz':
         f = getattr(fblas,p+'copy',None)
         if f is None: continue
         assert_array_almost_equal(f([3,4j,5+3j],[8]*3),[3,4j,5+3j])
コード例 #2
0
ファイル: test_blas.py プロジェクト: cshen/f2pypy
 def test_axpy(self):
     for p in 'sd':
         f = getattr(fblas,p+'axpy',None)
         if f is None: continue
         assert_array_almost_equal(f([1,2,3],[2,-1,3],a=5),[7,9,18])
     for p in 'cz':
         f = getattr(fblas,p+'axpy',None)
         if f is None: continue
         assert_array_almost_equal(f([1,2j,3],[2,-1,3],a=5),[7,10j-1,18])
コード例 #3
0
ファイル: test_blas.py プロジェクト: cshen/f2pypy
 def test_gemm(self):
     for p in 'sd':
         f = getattr(fblas,p+'gemm',None)
         if f is None: continue
         assert_array_almost_equal(f(3,[3],[-4]),[[-36]])
         assert_array_almost_equal(f(3,[3],[-4],3,[5]),[-21])
     for p in 'cz':
         f = getattr(fblas,p+'gemm',None)
         if f is None: continue
         assert_array_almost_equal(f(3j,[3-4j],[-4]),[[-48-36j]])
         assert_array_almost_equal(f(3j,[3-4j],[-4],3,[5j]),[-48-21j])
コード例 #4
0
ファイル: test_blas.py プロジェクト: cshen/f2pypy
 def test_swap(self):
     for p in 'sd':
         f = getattr(fblas,p+'swap',None)
         if f is None: continue
         x,y = [2,3,1],[-2,3,7]
         x1,y1 = f(x,y)
         assert_array_almost_equal(x1,y)
         assert_array_almost_equal(y1,x)
     for p in 'cz':
         f = getattr(fblas,p+'swap',None)
         if f is None: continue
         x,y = [2,3j,1],[-2,3,7-3j]
         x1,y1 = f(x,y)
         assert_array_almost_equal(x1,y)
         assert_array_almost_equal(y1,x)
コード例 #5
0
ファイル: test_blas.py プロジェクト: cshen/f2pypy
 def test_scal(self):
     for p in 'sd':
         f = getattr(fblas,p+'scal',None)
         if f is None: continue
         assert_array_almost_equal(f(2,[3,-4,5]),[6,-8,10])
     for p in 'cz':
         f = getattr(fblas,p+'scal',None)
         if f is None: continue
         assert_array_almost_equal(f(3j,[3j,-4,3-4j]),[-9,-12j,12+9j])
     for p in ['cs','zd']:
         f = getattr(fblas,p+'scal',None)
         if f is None: continue
         assert_array_almost_equal(f(3,[3j,-4,3-4j]),[9j,-12,9-12j])
コード例 #6
0
ファイル: test_blas.py プロジェクト: cshen/f2pypy
    def test_ger(self):

        for p in 'sd':
            f = getattr(fblas,p+'ger',None)
            if f is None: continue
            assert_array_almost_equal(f(1,[1,
                                           2],[3,4]),[[3,4],[6,8]])
            assert_array_almost_equal(f(2,[1,
                                           2,
                                           3],[3,4]),[[6,8],[12,16],[18,24]])

            assert_array_almost_equal(f(1,[1,
                                           2],[3,4],
                                        a=[[1,2],[3,4]]
                                        ),[[4,6],[9,12]])

        for p in 'cz':
            f = getattr(fblas,p+'geru',None)
            if f is None: continue
            assert_array_almost_equal(f(1,[1j,
                                           2],[3,4]),[[3j,4j],[6,8]])
            assert_array_almost_equal(f(-2,[1j,
                                           2j,
                                           3j],[3j,4j]),[[6,8],[12,16],[18,24]])

        for p in 'cz':
            for name in ('ger', 'gerc'):
                f = getattr(fblas,p+name,None)
                if f is None: continue
                assert_array_almost_equal(f(1,[1j,
                                               2],[3,4]),[[3j,4j],[6,8]])
                assert_array_almost_equal(f(2,[1j,
                                               2j,
                                               3j],[3j,4j]),[[6,8],[12,16],[18,24]])