Exemple #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])
Exemple #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
Exemple #3
0
 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)
Exemple #4
0
def f_last(x, y, p):
    if is_scalar(x):
        return x
    else:
        z = x.flatten()
        return z[len(z) - 1]
Exemple #5
0
def f_first(x, y, p):
    if is_scalar(x):
        return x
    else:
        return x.flatten()[0]
Exemple #6
0
def vectorize(x, y, p):
    if is_scalar(x):
        return x
    else:
        return np.copy(x.flatten())
Exemple #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])
Exemple #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])
Exemple #9
0
def ones(x, y, p):
    if is_scalar(x):
        return np.array([1])
    else:
        return np.ones(x.shape)
Exemple #10
0
def zeros(x, y, p):
    if is_scalar(x):
        return np.array([0])
    else:
        return np.zeros(x.shape)
Exemple #11
0
def constvectord(x, y, p):
    if is_scalar(x):
        return np.array([p])
    else:
        return np.full(x.shape, p)
Exemple #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:])
Exemple #13
0
def vec_from_double(x, y, p):
    if is_scalar(x):
        return np.array([x])
    else:
        return x
Exemple #14
0
def transpose(x, y, p):
    if is_scalar(x):
        return x
    else:
        return np.transpose(x)
Exemple #15
0
def rotate(x, y, p):
    if is_scalar(x):
        return x
    else:
        return np.roll(x, int(np.ceil(p)))
Exemple #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])