コード例 #1
0
def range_in(x, y, p):
    if is_scalar(x) or not is_scalar(y):
        return x
    else:
        splitY = int((x.shape[0] - 1) * (y + 1) / 2.0)
        splitP = int((x.shape[0] - 1) * (p + 1) / 2.0)
        start = min(splitY, splitP)
        end = max(splitY, splitP)
        return np.copy(x[start:end + 1])
コード例 #2
0
def differences(x, y, p):
    if is_scalar(x):
        return x
    else:
        z = x.flatten()
        if z.size > 2:
            return np.copy(np.diff(x.flatten()))
        else:
            return z
コード例 #3
0
ファイル: functions_test.py プロジェクト: aHeraud/cgp-tetris
 def test_pass_through(self):
     inp = 1
     exp = True
     act = supp.is_scalar(inp)
     self.assertEqual(exp, act)
     inp = np.array([1])
     exp = False
     act = supp.is_scalar(inp)
     self.assertEqual(exp, act)
     inp = np.array([[1], [2]])
     exp = False
     act = supp.is_scalar(inp)
     self.assertEqual(exp, act)
     inp = np.array([[1], [2]])
     exp = False
     act = supp.is_scalar(inp)
     self.assertEqual(exp, act)
     inp = np.array([1, 2, 3])
     exp = False
     act = supp.is_scalar(inp)
     self.assertEqual(exp, act)
コード例 #4
0
def f_last(x, y, p):
    if is_scalar(x):
        return x
    else:
        z = x.flatten()
        return z[len(z) - 1]
コード例 #5
0
def f_first(x, y, p):
    if is_scalar(x):
        return x
    else:
        return x.flatten()[0]
コード例 #6
0
def vectorize(x, y, p):
    if is_scalar(x):
        return x
    else:
        return np.copy(x.flatten())
コード例 #7
0
def index_p(x, y, p):
    if is_scalar(x):
        return x
    else:
        splitP = int((x.shape[0] - 1) * (p + 1) / 2.0)
        return np.copy(x[splitP])
コード例 #8
0
def index_y(x, y, p):
    if is_scalar(x) or not is_scalar(y):
        return x
    else:
        splitY = int((x.shape[0] - 1) * (y + 1) / 2.0)
        return np.copy(x[splitY])
コード例 #9
0
def ones(x, y, p):
    if is_scalar(x):
        return np.array([1])
    else:
        return np.ones(x.shape)
コード例 #10
0
def zeros(x, y, p):
    if is_scalar(x):
        return np.array([0])
    else:
        return np.zeros(x.shape)
コード例 #11
0
def constvectord(x, y, p):
    if is_scalar(x):
        return np.array([p])
    else:
        return np.full(x.shape, p)
コード例 #12
0
def split_after(x, y, p):
    if is_scalar(x):
        return x
    else:
        splitIndex = int((x.shape[0] - 1) * (p + 1) / 2.0)
        return np.copy(x[splitIndex:])
コード例 #13
0
def vec_from_double(x, y, p):
    if is_scalar(x):
        return np.array([x])
    else:
        return x
コード例 #14
0
def transpose(x, y, p):
    if is_scalar(x):
        return x
    else:
        return np.transpose(x)
コード例 #15
0
def rotate(x, y, p):
    if is_scalar(x):
        return x
    else:
        return np.roll(x, int(np.ceil(p)))
コード例 #16
0
def split_before(x, y, p):
    if is_scalar(x):
        return x
    else:
        splitIndex = int((x.shape[0] - 1) * (p + 1) / 2.0)
        return np.copy(x[:splitIndex + 1])