Source code for orbit.utils.multiDimArray

[docs]def multiDimDoubleArray(*dims: int) -> list[float]: """ Creates multi-dimensional arrays with doubles, such as a[i][k][j]. Parameters ---------- dims : int Returns ------- list[float] Note ---- All elements are initialized to 0. Examples -------- >>> a = multiDimArray(5,10,2) >>> a = multiDimArray(*[5,10,2]) # equivalent >>> a[1][2][1] 0.0 """ res = [] if len(dims) == 1: for j in range(dims[0]): res.append(0.0) else: dims_rest = dims[1 : len(dims)] for j in range(dims[0]): res.append(multiDimDoubleArray(*dims_rest)) return res
[docs]def multiDimIntArray(*dims: int) -> list[int]: """ Creates multi-dimensional arrays with integers, such as a[i][k][j]. Parameters ---------- dims : int Returns ------- list[int] Examples -------- >>> a = multiDimArray(5,10,2) >>> a = multiDimArray(*[5,10,2]) # equivalent >>> a[1][2][1] 0 """ res = [] if len(dims) == 1: for j in range(dims[0]): res.append(0) else: dims_rest = dims[1 : len(dims)] for j in range(dims[0]): res.append(multiDimIntArray(*dims_rest)) return res