def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols s, n, m, o = symbols('s n m o', integer=True) i, j, k = Idx('i', n), Idx('j', m), Idx('k', o) x = IndexedBase('x')[j] A = IndexedBase('A')[i, j] B = IndexedBase('B')[i, j, k] with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=SymPyDeprecationWarning) p = CCodePrinter() p._not_c = set() assert p._print_Indexed(x) == 'x[j]' assert p._print_Indexed(A) == 'A[%s]' % (m*i+j) assert p._print_Indexed(B) == 'B[%s]' % (i*o*m+j*o+k) assert p._not_c == set() A = IndexedBase('A', shape=(5,3))[i, j] assert p._print_Indexed(A) == 'A[%s]' % (3*i + j) A = IndexedBase('A', shape=(5,3), strides='F')[i, j] assert ccode(A) == 'A[%s]' % (i + 5*j) A = IndexedBase('A', shape=(29,29), strides=(1, s), offset=o)[i, j] assert ccode(A) == 'A[o + s*j + i]' Abase = IndexedBase('A', strides=(s, m, n), offset=o) assert ccode(Abase[i, j, k]) == 'A[m*j + n*k + o + s*i]' assert ccode(Abase[2, 3, k]) == 'A[3*m + n*k + o + 2*s]'
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols s, n, m, o = symbols('s n m o', integer=True) i, j, k = Idx('i', n), Idx('j', m), Idx('k', o) x = IndexedBase('x')[j] A = IndexedBase('A')[i, j] B = IndexedBase('B')[i, j, k] with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=SymPyDeprecationWarning) p = CCodePrinter() p._not_c = set() assert p._print_Indexed(x) == 'x[j]' assert p._print_Indexed(A) == 'A[%s]' % (m * i + j) assert p._print_Indexed(B) == 'B[%s]' % (i * o * m + j * o + k) assert p._not_c == set() A = IndexedBase('A', shape=(5, 3))[i, j] assert p._print_Indexed(A) == 'A[%s]' % (3 * i + j) A = IndexedBase('A', shape=(5, 3), strides='F')[i, j] assert ccode(A) == 'A[%s]' % (i + 5 * j) A = IndexedBase('A', shape=(29, 29), strides=(1, s), offset=o)[i, j] assert ccode(A) == 'A[o + s*j + i]' Abase = IndexedBase('A', strides=(s, m, n), offset=o) assert ccode(Abase[i, j, k]) == 'A[m*j + n*k + o + s*i]' assert ccode(Abase[2, 3, k]) == 'A[3*m + n*k + o + 2*s]'
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols i, j, k, n, m, o = symbols('i j k n m o', integer=True) p = CCodePrinter() p._not_c = set() x = IndexedBase('x')[Idx(j, n)] assert p._print_Indexed(x) == 'x[j]' A = IndexedBase('A')[Idx(i, m), Idx(j, n)] assert p._print_Indexed(A) == 'A[%s]' % str(j + n * i) B = IndexedBase('B')[Idx(i, m), Idx(j, n), Idx(k, o)] assert p._print_Indexed(B) == 'B[%s]' % str(k + i * n * o + j * o) assert p._not_c == set()
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols n, m, o = symbols('n m o', integer=True) i, j, k = Idx('i', n), Idx('j', m), Idx('k', o) p = CCodePrinter() p._not_c = set() x = IndexedBase('x')[j] assert p._print_Indexed(x) == 'x[j]' A = IndexedBase('A')[i, j] assert p._print_Indexed(A) == 'A[%s]' % (m*i+j) B = IndexedBase('B')[i, j, k] assert p._print_Indexed(B) == 'B[%s]' % (i*o*m+j*o+k) assert p._not_c == set()
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols n, m, o = symbols('n m o', integer=True) i, j, k = Idx('i', n), Idx('j', m), Idx('k', o) p = CCodePrinter() p._not_c = set() x = IndexedBase('x')[j] assert p._print_Indexed(x) == 'x[j]' A = IndexedBase('A')[i, j] assert p._print_Indexed(A) == 'A[%s]' % (m * i + j) B = IndexedBase('B')[i, j, k] assert p._print_Indexed(B) == 'B[%s]' % (i * o * m + j * o + k) assert p._not_c == set()
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols i, j, k, n, m, o = symbols('i j k n m o', integer=True) p = CCodePrinter() p._not_c = set() x = IndexedBase('x')[Idx(j, n)] assert p._print_Indexed(x) == 'x[j]' A = IndexedBase('A')[Idx(i, m), Idx(j, n)] assert p._print_Indexed(A) == 'A[%s]' % str(j + n*i) B = IndexedBase('B')[Idx(i, m), Idx(j, n), Idx(k, o)] assert p._print_Indexed(B) == 'B[%s]' % str(k + i*n*o + j*o) assert p._not_c == set()
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols n, m, o = symbols('n m o', integer=True) i, j, k = Idx('i', n), Idx('j', m), Idx('k', o) x = IndexedBase('x')[j] A = IndexedBase('A')[i, j] B = IndexedBase('B')[i, j, k] with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=SymPyDeprecationWarning) p = CCodePrinter() p._not_c = set() assert p._print_Indexed(x) == 'x[j]' assert p._print_Indexed(A) == 'A[%s]' % (m*i+j) assert p._print_Indexed(B) == 'B[%s]' % (i*o*m+j*o+k) assert p._not_c == set()
def test_ccode_Indexed(): from sympy.tensor import IndexedBase, Idx from sympy import symbols n, m, o = symbols('n m o', integer=True) i, j, k = Idx('i', n), Idx('j', m), Idx('k', o) x = IndexedBase('x')[j] A = IndexedBase('A')[i, j] B = IndexedBase('B')[i, j, k] with warnings.catch_warnings(): warnings.filterwarnings("ignore", category=SymPyDeprecationWarning) p = CCodePrinter() p._not_c = set() assert p._print_Indexed(x) == 'x[j]' assert p._print_Indexed(A) == 'A[%s]' % (m * i + j) assert p._print_Indexed(B) == 'B[%s]' % (i * o * m + j * o + k) assert p._not_c == set()