Example #1
0
    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
Example #2
0
    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
Example #3
0
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))
Example #4
0
	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
Example #5
0
	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)
Example #6
0
    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
Example #7
0
 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)