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])
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])
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])
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)
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])
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]])