from numpy.lib.scimath import sqrt class V2D: pass if __name__=='__main__': k=V2D(20,30) v=V2D(2,3) print('{0} + {1} = {2}'.format(k,v,k+v)) print('{0} - {1} = {2}'.format(k,v,k-v)) print('{0} * {1} = {2}'.format(k,v,k*v)) print('abs(v) ',abs(v)) print('v==k ',v==k) print('v==v ',v==v) print('-'*40) v2=V2D(2.0001,3.0001) v3=V2D(2.00000001,3.00000001) print('v = ',v) print('v2 = ',v2) print('v3 = ',v3) print('-'*20) V2D.set_tol(1e-2) print('tolleranza = {0}'.format(V2D.get_tol())) print('v==v2 ',v==v2) print('v==v3 ',v==v3) print('-'*20) V2D.set_tol(1e-5) print('tolleranza = {0}'.format(V2D.get_tol())) print('v==v2 ',v==v2) print('v==v3 ',v==v3) print('-'*20) V2D.set_tol(1e-10) print('tolleranza = {0}'.format(V2D.get_tol())) print('v==v2 ',v==v2) print('v==v3 ',v==v3) print('-'*40) #OK funziona ma formalmente non e' il massimo perche' print('set_tol in dir(v)','set_tol' in dir(v)) try: v.set_tol(1e-3) except Exception as err: print(err)