import nazca as nd import numpy as np def __cell_arg__(arg,arg_name,func_name): if (isinstance(arg,nd.Cell)): return arg elif (hasattr(arg,'cell')): return arg.cell else : raise Exception("ERROR: In <"+func_name+">, <"+arg_name+"> not a [cell] argument") def __list_convert__(var,name,func_name): if (isinstance(var,str)): var = [var] elif (isinstance(var,list)): var = var else : raise Exception("ERROR: in <"+func_name+">, <"+name+"> not defined properly, please input <"+type+"> or ") return var def __array_convert__(var,name,func_name,num=1): if (isinstance(var,int) or isinstance(var,float)): var = var*np.ones(num) elif (isinstance(var,list) or isinstance(var,np.ndarray)): var = np.array(var) else : raise Exception("ERROR: in <"+func_name+">, <"+name+"> not defined properly, please input <"+type+"> or or ") return var ## Small revision in 2023.1.31 def __xs_exist__(xs,para_name,func_name): if (xs!=None): try: nd.get_xsection(xs) except: print("WARNING: In <"+func_name+">, <"+para_name+"> not defined in tapeout") xs=None return xs else : return None