26 lines
524 B
Python
26 lines
524 B
Python
# coding:utf-8
|
|
import numpy as np
|
|
|
|
|
|
def check_data(a, b):
|
|
if not isinstance(a, np.ndarray):
|
|
a = np.array(a)
|
|
|
|
if not isinstance(b, np.ndarray):
|
|
b = np.array(b)
|
|
|
|
if type(a) != type(b):
|
|
raise ValueError("Type mismatch: %s and %s" % (type(a), type(b)))
|
|
|
|
if a.size != b.size:
|
|
raise ValueError("Arrays must be equal in length.")
|
|
return a, b
|
|
|
|
|
|
def validate_input(function):
|
|
def wrapper(a, b):
|
|
a, b = check_data(a, b)
|
|
return function(a, b)
|
|
|
|
return wrapper
|