def first_order_error(self): for node in self.trimList: if not self.completed[node.depth].__contains__(node): self.visit_node_ferror(node) #for node in self.Accumulator.keys(): # errIntv = utils.generate_signature(self.Accumulator[node]) # print("----------- Dump the error expression for plotting ---------- ") # print(self.Accumulator[node]) # print("// end dump ") # err = max([abs(i) for i in errIntv]) # fintv = utils.generate_signature(node.f_expression) # self.results[node] = { "ERR" : err, \ # "SERR" : 0.0, \ # "INTV" : fintv \ # } for node in self.Accumulator.keys(): self.QworkList[node].append(self.Accumulator[node]) self.Accumulator[node] = utils.error_query_reduction( self.QworkList[node]) self.QworkList[node].clear() fintv = utils.generate_signature(node.f_expression) self.results[node] = {"ERR" : self.Accumulator[node], \ "SERR" : 0.0, \ "INTV" : fintv \ } return self.results
def build_and_sign(self, params, state=None, redirect_uri=None, cancel_uri=None): """Builds a url and returns it as a string :param params: A Params class corresponding to the resource for which you wish to create a url. For example, to create a Subscription url pass an instance of SubscriptionParams. :param state: The state argument to be encoded in the query string. :param redirect_uri: The redirect uri the user will be sent to after the resource has been created. :param cancel_uri: The uri the user will be redirected to if they cancel the resource creation """ param_dict = {} resource_name = utils.singularize(params.resource_name) param_dict[resource_name] = params.to_dict().copy() if state: param_dict["state"] = state if redirect_uri: param_dict["redirect_uri"] = redirect_uri if cancel_uri: param_dict["cancel_uri"] = cancel_uri param_dict["client_id"] = self.client._app_id iso_time = datetime.datetime.utcnow().isoformat() param_dict["timestamp"] = iso_time[:-7] + "Z" param_dict["nonce"] = base64.b64encode(os.urandom(40)) signature = utils.generate_signature(param_dict, self.client._app_secret) param_dict["signature"] = signature url = "{0}/connect/{1}/new?{2}".format( self.client.get_base_url(), params.resource_name, utils.to_query(param_dict), ) return url
def solve_remaining_error(errList): #expr = sum([seng.Abs(erri) for erri in errList]) if type(errList).__name__ == 'list': expr = sum([seng.Abs(erri) for erri in errList]) else: expr = errList return max(utils.generate_signature(expr))
def first_order_error(self): for node in self.trimList: if not self.completed[node.depth].__contains__(node): self.visit_node_ferror(node) for node in self.Accumulator.keys(): errIntv = utils.generate_signature(self.Accumulator[node]) print("----------- Dump the error expression for plotting ---------- ") print(self.Accumulator[node]) print("// end dump ") err = max([abs(i) for i in errIntv]) fintv = utils.generate_signature(node.f_expression) self.results[node] = { "ERR" : err, \ "SERR" : 0.0, \ "INTV" : fintv \ } return self.results
def propagate_symbolic(self, node): #print("@node depth = ", node.depth, type(node).__name__, node.f_expression) #print([n.f_expression for n in node.parents]) #print(node.parents) #print(self.parent_dict[node]) #print("--------------------------------------") #print("Rounding: node-expr:", node.f_expression) #print("Rounding:", node.get_rounding()) for outVar in self.bwdDeriv[node].keys(): expr_solve = (((\ (self.bwdDeriv[node][outVar]))*\ (node.get_noise(node))*(max(node.get_rounding(),outVar.get_rounding()) if node.rnd!=0.0 else node.get_rounding() ))\ ).__abs__() if seng.count_ops(self.Accumulator[outVar]) > 4000: intv = max(utils.generate_signature(self.Accumulator[outVar])) self.Accumulator[outVar] = seng.expand(expr_solve) expr_solve = intv elif seng.count_ops( expr_solve ) > 1000: expr_solve = max(utils.generate_signature(expr_solve)) self.Accumulator[outVar] += seng.expand(expr_solve)
def _sig_request_url(self, base, p, method='get'): has_token = True if p.has_key('oauth_token') else False oauth_signature = generate_signature(base, p, self._secret_key(has_token=has_token), method) return get_request_url(base, p, oauth_signature)