Beispiel #1
0
def connectResultFile(filename):

    ''' Given the result file produced by the Aligot extraction module, builds
        a list of LDFs. '''

    f = open(filename, 'r')

    # Jump over the header

    f.readline()
    f.readline()
    f.readline()

    dbLDF = list()

    for line in f:
        inputs = line.split(":")[0]
        outputs = line.split(":")[1].rstrip()

        curLDF = LDF()

        for inputParam in inputs.split(','):

            inputAddr = inputParam.split('|')[0]
            inputVal = inputParam.split('|')[1]

            byteLength = len(inputVal)/2
            if byteLength < curLDF.minLengthInput:
                curLDF.minLengthInput = byteLength

            if byteLength > curLDF.maxLengthInput:
                curLDF.maxLengthInput = byteLength

            p = parameter.parameter(inputAddr,byteLength, inputVal)  

            newId = len(curLDF.inputParameters.keys())          
            curLDF.inputParameters[newId] = p

        for outputParam in outputs.split(','):

            outputAddr = outputParam.split('|')[0]
            outputVal = outputParam.split('|')[1]
 
            byteLength = len(outputVal)/2 
            if byteLength < curLDF.minLengthOutput:
                curLDF.minLengthOutput = byteLength

            if byteLength > curLDF.maxLengthOutput:
                curLDF.maxLengthOutput = byteLength

            p = parameter.parameter(outputAddr,byteLength,outputVal)

            newId = len(curLDF.outputParameters.keys())
            curLDF.outputParameters[newId] = p

        dbLDF.append(curLDF)

    f.close()

    return dbLDF
Beispiel #2
0
def connectResultFile(filename):
    ''' Given the result file produced by the Aligot extraction module, builds
        a list of LDFs. '''

    f = open(filename, 'r')

    # Jump over the header

    f.readline()
    f.readline()
    f.readline()

    dbLDF = list()

    for line in f:
        inputs = line.split(":")[0]
        outputs = line.split(":")[1].rstrip()

        curLDF = LDF()

        for inputParam in inputs.split(','):

            inputAddr = inputParam.split('|')[0]
            inputVal = inputParam.split('|')[1]

            byteLength = len(inputVal) / 2
            if byteLength < curLDF.minLengthInput:
                curLDF.minLengthInput = byteLength

            if byteLength > curLDF.maxLengthInput:
                curLDF.maxLengthInput = byteLength

            p = parameter.parameter(inputAddr, byteLength, inputVal)

            newId = len(curLDF.inputParameters.keys())
            curLDF.inputParameters[newId] = p

        for outputParam in outputs.split(','):

            outputAddr = outputParam.split('|')[0]
            outputVal = outputParam.split('|')[1]

            byteLength = len(outputVal) / 2
            if byteLength < curLDF.minLengthOutput:
                curLDF.minLengthOutput = byteLength

            if byteLength > curLDF.maxLengthOutput:
                curLDF.maxLengthOutput = byteLength

            p = parameter.parameter(outputAddr, byteLength, outputVal)

            newId = len(curLDF.outputParameters.keys())
            curLDF.outputParameters[newId] = p

        dbLDF.append(curLDF)

    f.close()

    return dbLDF
Beispiel #3
0
    def is_done(self, job_id):
        """
        Monitor AD Job is over
        :param job_id:
        :return:
        """
        para = parameter.parameter(0, job_id)
        friday_run = para.is_finish()

        run_job = Execute.execute(self.version)
        response = run_job.post(friday_run)
        print("1************************")
        print(response.status_code)

        if response.status_code is not 200:
            return None
        else:
            return_object = json.loads(json.loads(response.text)["string"])

            if int(str(return_object["errorCode"])) == 200:
                print(
                    "monitor",
                    str(job_id) + ": " + str(return_object["data"]["isDone"]))
                return str(return_object["data"]["isDone"])
            else:
                return None
Beispiel #4
0
    def run_ad(self, job_id):
        """
        Monitor run ad number
        :param job_id:
        :return:
        """
        para = parameter.parameter(0, job_id)
        run_parameter = para.go_on_ad_to_order()

        run_job = Execute.execute(self.version)
        response = run_job.post(run_parameter)
        print("1************************")
        print(response.status_code)

        if response.status_code is not 200:
            return None
        else:
            return_object = json.loads(json.loads(response.text)["string"])

            if int(str(return_object["errorCode"])) == 200:
                implementation = return_object["data"]["totalAdCount"]
                # for country in implementation:
                #     print("monitor", country)
                return implementation
            else:
                return None
Beispiel #5
0
    def run(self, version, is_all, week_id):
        """
        Run AD Job
        :return:
        """

        parameter_function = parameter.parameter(week_id, 0)

        if str("all") == str(is_all):
            run_country = parameter_function.AllCountry()
        elif str("jpn") == str(is_all):
            run_country = parameter_function.JPN()
        elif str("chn") == str(is_all):
            run_country = parameter_function.CHN()
        elif str("usa") == str(is_all):
            run_country = parameter_function.USA()
        else:
            run_country = parameter_function.Other()

        run_job = Execute.execute(version)
        response = run_job.post(run_country)
        print("1************************")
        print(response.status_code)

        if response.status_code is not 200:
            return None
        else:
            return json.loads(response.text)["string"]
Beispiel #6
0
    def __init__(self,obs,user_param,mat_mask):  
        self.obs = obs
        self.hist_ELBO = []
        self.hist_convergence = []
        self.hist_sum_rmse = []
        self.hist_rmse = [[]] * self.obs.N
        self.hist_r2 = [[]] * self.obs.N
        self.hist_rp = [[]] * self.obs.N
        self.converged = False
        self.user_param = user_param
        self.mat_mask = mat_mask    
        self.isProgramError = False

        self.param = parameter(self.obs,user_param)
        self.param.rand_init(self.obs,self.user_param)

#==============================================================================
# Initialise auxillary variables          
#==============================================================================
         
        self.aux = aux_variable.aux_variable(self.obs)
        for n in xrange(self.obs.N):
            self.aux.R[n] = (self.param.Z[n] - aux_variable.get_F(self.param,n)) * self.mat_mask[n] # Signed zeros

#==============================================================================
# Initialise warping fucntion object          
#==============================================================================
        self.warping = [[]] * self.obs.N
        for n in xrange(self.obs.N):
            self.warping[n] = warping_functions.composite_warping(self.user_param.I_list,self.user_param.func_type_list)        
Beispiel #7
0
    def run_ad(self) -> json:
        """
        Run ad use
        :return: service return json
        """

        print(self.url)

        para = parameter.parameter(self.week, 0)
        friday_run = para.AllCountry()

        print(friday_run)

        encode_str = DataEncoding.DataEncoding(json.dumps(friday_run))
        encode_body = encode_str.DesEncrypt()

        self.data["data"] = str(encode_body.replace(b'\n', b'').decode('utf-8'))

        operation = json.dumps(self.data)

        # print(operation)

        response = requests.post(self.url, headers=self.headers, timeout=3,
                                 data=operation)
        # print(response.text)

        return json.loads(response.text)["string"]
Beispiel #8
0
    def is_done(self, job_id, url):
        """
        Check job is done
        :param job_id:
        :return:
        """
        para = parameter(0, job_id)
        friday_run = para.is_finish()

        encode_str = DataEncoding.DataEncoding(json.dumps(friday_run))
        encode_body = encode_str.DesEncrypt()

        self.data["data"] = str(
            encode_body.replace(b'\n', b'').decode('utf-8'))

        operation = json.dumps(self.data)

        response = requests.post(url,
                                 headers=self.headers,
                                 timeout=5,
                                 data=operation)

        return_object = json.loads(json.loads(response.text)["string"])

        if int(str(return_object["errorCode"])) == 200:
            # print("job id :", job_id, "done is ", str(return_object["data"]["isDone"]))
            logger.info("job id " + ":" + str(job_id) + "---" + "done is " +
                        str(return_object["data"]["isDone"]))
            return str(return_object["data"]["isDone"])
        else:
            return None
Beispiel #9
0
def knotenCreation(name, nodetyp, options, fiList, kManager):
    nodeTypes = "uniform", "normal", "exponential", "custom", "discrete", "percentage", "if", "switch", "function", "AND", "OR", "XOR", "NAND", "NOR", "XNOR", "==", ">", "<", ">=", "<=", "constraint", "Add", "Subtract", "Multiply", "Divide", "Sine", "Cosine", "Tangent", "Arcsine", "Arccosine", "Arctangent", "Power", "Logarithm", "Minimum", "Maximum", "Round", "Modulo", "Absolute", "stringlist", "output"
    if nodetyp not in nodeTypes:
        print("Error: no type")
        return
    #options zerstückeln
    optionList = options.split(",")
    df = pandas.read_csv("knotenlist.csv")
    functionTypeParameters = df[nodetyp]
    knotentyp = functionTypeParameters['Knoten']

    newFunction = fi.functioninstance(name, nodetyp, knotentyp)
    fiList.append(newFunction)

    anzPara = functionTypeParameters['anzPara']
    anzPara = np.int_(anzPara)

    for x in range(anzPara):
        print(np.int_(functionTypeParameters[x + 2]))
        p = parameter.parameter(np.int_(functionTypeParameters[x + 2]), name,
                                kManager, optionList[x])
        newFunction.addParameter(p, optionList[x])
    print(functionTypeParameters)

    print("create function Instance")
    jw.printToJSON(fiList)
Beispiel #10
0
def inputMemoryAdjacency(ldf):

	'''
		We group together input parameters that are adjacent in memory.
	'''

	newInputParameters = dict() # id -> parameter
	memoryMap = dict() # addr (int) -> value (string)

	for ip in ldf.inputParameters.values():

		# don't apply to registers|constants, we keep them as it
		if ip.startAddress == 'R' or ip.startAddress == 'C':
			newInputParameters[len(newInputParameters.keys())] = ip

		else:
			# feed the memory map
			for count in range(ip.length):
				byteAddr = int(ip.startAddress,16) + count
				if byteAddr in memoryMap.keys():
					print 'ERROR: Already seen address (heuristics.outputMemoryAdjacency())'
					quit()
				memoryMap[byteAddr] = ip.value[count*2:(count*2)+2]

	curP = None
	for k in sorted(memoryMap.keys()):
		if curP is None:
			curP = parameter.parameter(hex(k)[2:],1,memoryMap[k])
		else:
			# is it adjacent ?
			if k == (int(curP.startAddress,16) + curP.length):
				curP.incrementSize(memoryMap[k])
			else:
				newInputParameters[len(newInputParameters.keys())] = curP
				curP = parameter.parameter(hex(k)[2:],1,memoryMap[k])

	newInputParameters[len(newInputParameters.keys())] = curP

	l = list()
	for v in newInputParameters.values():
		l.append(v.length)

	ldf.maxLengthInput = max(l)
	ldf.minLengthInput = min(l)

	ldf.inputParameters = newInputParameters
Beispiel #11
0
def inputMemoryAdjacency(ldf):
    '''
		We group together input parameters that are adjacent in memory.
	'''

    newInputParameters = dict()  # id -> parameter
    memoryMap = dict()  # addr (int) -> value (string)

    for ip in ldf.inputParameters.values():

        # don't apply to registers|constants, we keep them as it
        if ip.startAddress == 'R' or ip.startAddress == 'C':
            newInputParameters[len(newInputParameters.keys())] = ip

        else:
            # feed the memory map
            for count in range(ip.length):
                byteAddr = int(ip.startAddress, 16) + count
                if byteAddr in memoryMap.keys():
                    print 'ERROR: Already seen address (heuristics.outputMemoryAdjacency())'
                    quit()
                memoryMap[byteAddr] = ip.value[count * 2:(count * 2) + 2]

    curP = None
    for k in sorted(memoryMap.keys()):
        if curP is None:
            curP = parameter.parameter(hex(k)[2:], 1, memoryMap[k])
        else:
            # is it adjacent ?
            if k == (int(curP.startAddress, 16) + curP.length):
                curP.incrementSize(memoryMap[k])
            else:
                newInputParameters[len(newInputParameters.keys())] = curP
                curP = parameter.parameter(hex(k)[2:], 1, memoryMap[k])

    newInputParameters[len(newInputParameters.keys())] = curP

    l = list()
    for v in newInputParameters.values():
        l.append(v.length)

    ldf.maxLengthInput = max(l)
    ldf.minLengthInput = min(l)

    ldf.inputParameters = newInputParameters
Beispiel #12
0
def _parse_next_sample(file, ports, format):
    """Parse the parameters for the next frequency point"""
    data = _get_next_line_data(file)
    # data lines always contain an even number of values (2 values
    #  per parameter), *unless* a frequency value is included in
    #  front
    assert len(data) % 2 == 1
    freq = data[0]
    data = data[1:]
    count = 0

    port1 = port2 = 1
    matrix = np.array([[None for i in range(ports)] for j in range(ports)],
                      dtype=complex)

    while True:
        for i in range(len(data) / 2):
            index = 2 * i
            args = {}
            args[keys[format][0]] = data[index]
            args[keys[format][1]] = data[index + 1]
            try:
                if ports == 2:
                    matrix[port1 - 1, port2 - 1] = parameter.parameter(**args)
                else:
                    matrix[port2 - 1, port1 - 1] = parameter.parameter(**args)
            except IndexError:
                raise Exception("more ports than reported in the file "
                                "extension")

            port1 += 1
            if port1 > ports:
                port2 += 1
                port1 = 1

        count += len(data) / 2
        if port2 > ports:
            break
        data = _get_next_line_data(file)
        if len(data) % 2 != 0:
            raise Exception("less ports than reported in the file extension")

    assert count == ports**2
    return (freq, matrix)
Beispiel #13
0
def _parse_next_sample(file, ports, format):
    """Parse the parameters for the next frequency point"""
    data = _get_next_line_data(file)
    # data lines always contain an even number of values (2 values
    #  per parameter), *unless* a frequency value is included in
    #  front
    assert len(data) % 2 == 1
    freq = data[0]
    data = data[1:]
    count = 0

    port1 = port2 = 1
    matrix = np.array([[None for i in range(ports)]
        for j in range(ports)], dtype=complex)

    while True:
        for i in range(len(data) / 2):
            index = 2 * i
            args = {}
            args[keys[format][0]] = data[index]
            args[keys[format][1]] = data[index + 1]
            try:
                if ports == 2:			
                    matrix[port1 - 1, port2 - 1] = parameter.parameter(**args)
                else:			
                    matrix[port2 - 1, port1 - 1] = parameter.parameter(**args)
            except IndexError:
                raise Exception("more ports than reported in the file "
                                "extension")

            port1 += 1
            if port1 > ports:
                port2 += 1
                port1 = 1                    

        count += len(data) / 2
        if port2 > ports:
            break
        data = _get_next_line_data(file)
        if len(data) % 2 != 0:
            raise Exception("less ports than reported in the file extension")

    assert count == ports**2
    return (freq, matrix)
Beispiel #14
0
    def payment(self, version, week_id):
        """
        Run AD payment
        :return:
        """
        parameter_function = parameter.parameter(week_id, 0)

        run_payment = parameter_function.payment()

        run_job = Execute.execute(version)
        response = run_job.post(run_payment)

        if response.status_code is not 200:
            return None
        else:
            return json.loads(response.text)["string"]
 def generate_bmv2_parser(self):
     available_structs = scope.get_available_types(only_type="struct")
     self.struct_name = available_structs.keys()[randomizer.randint(
         0,
         len(available_structs) - 1)]
     scope.start_local()
     _parameter = parameter(type_ref=prefixed_type(
         value={self.struct_name: available_structs[self.struct_name]}))
     scope.insert_parameter("meta", "struct", _parameter)
     _parser_states = parser_states()
     _parser_states.randomize()
     _parser_local_elements = parser_local_elements()
     _parser_local_elements.randomize()
     code = "parser ParserImpl(packet_in packet,\nout headers_t hdr,\ninout " + self.struct_name + " meta,\ninout standard_metadata_t standard_metadata) {\n" + _parser_local_elements.generate_code(
     ) + "\n" + _parser_states.generate_code() + "\n}\n\n"
     scope.stop_local()
     return code
 def generate_netfpga_parser(self):
     available_structs = scope.get_available_types(only_type="struct")
     self.struct_name = available_structs.keys()[randomizer.randint(
         0,
         len(available_structs) - 1)]
     scope.start_local()
     _parameter = parameter(type_ref=prefixed_type(
         value={self.struct_name: available_structs[self.struct_name]}))
     scope.insert_parameter("user_metadata", "struct", _parameter)
     _parser_states = parser_states()
     _parser_states.randomize()
     _parser_local_elements = parser_local_elements()
     _parser_local_elements.randomize()
     code = "parser TopParser(packet_in b,\nout Parsed_packet p,\nout " + self.struct_name + " user_metadata,\nout digest_data_t digest_data,\ninout sume_metadata_t sume_metadata) {\n" + _parser_local_elements.generate_code(
     ) + "\n" + _parser_states.generate_code() + "\n}\n\n"
     scope.stop_local()
     return code
 def generate_netfpga_controls(self):
     available_structs = scope.get_available_types(only_type="struct")
     scope.start_local()
     _parameter = parameter(type_ref=prefixed_type(
         value={self.struct_name: available_structs[self.struct_name]}))
     scope.insert_parameter("user_metadata", "struct", _parameter)
     scope.start_local()
     _control_local_declarations = control_declaration_creation()
     _control_local_declarations.randomize()
     available_tables = scope.get_available_tables()
     table = available_tables.keys()[randomizer.randint(
         0,
         len(available_tables) - 1)]
     scope.stop_local()
     code = "control TopPipe(inout Parsed_packet headers,\ninout " + self.struct_name + " user_metadata,\ninout digest_data_t digest_data,\ninout sume_metadata_t sume_metadata) {\n" + _control_local_declarations.generate_code(
     ) + "\napply {\n" + table + ".apply();\n}\n}\n\n"
     scope.stop_local()
     code += "control TopDeparser(packet_out b, in Parsed_packet p, in " + self.struct_name + " user_metadata,\ninout digest_data_t digest_data,\ninout sume_metadata_t sume_metadata) {\napply {\n}\n}\n\n"
     return code
Beispiel #18
0
    def is_error(self, job_id, url):
        """
        Check job is done
        :param job_id:
        :return:
        """
        para = parameter(0, job_id)
        friday_run = para.is_error()

        encode_str = DataEncoding.DataEncoding(json.dumps(friday_run))
        encode_body = encode_str.DesEncrypt()

        self.data["data"] = str(
            encode_body.replace(b'\n', b'').decode('utf-8'))

        operation = json.dumps(self.data)

        response = requests.post(url,
                                 headers=self.headers,
                                 timeout=10,
                                 data=operation)

        return_object = json.loads(json.loads(response.text)["string"])

        # print(return_object)
        job_str = "job id: " + str(job_id)
        # print(str(job_str).center(50, '='))
        number = 0
        if int(str(return_object["errorCode"])) == 200:
            items = list(
                return_object["data"]["jobProcessedRecordExecResultList"])
            # print(str(items).center(50, '='))
            for item in items:
                if int(item["errorCode"]) != 200:
                    number += 1
                    logger.info(item)
                    # logger.info(str(item))
            logger.info(
                (str(job_str) + ' error number: ' + str(number)).center(
                    50, '='))
Beispiel #19
0
    def command(self,cmd):
        print "Engine Command"

        data=cmd.split()

        if data[0] == "GET":
            print "GET"
            if len(data) == 2:
                key=data[1]
                return self.param[ key ].getValue()

        elif data[0] == "SET":
            print "SET"
            if len(data) == 3:
                key=data[1]
                val=data[2]
                
                if self.param.has_key( key ):
                    print "Param Exists"
                    return self.param[ key ].setValue(val)
                    
                else:
                    print "Param Create"
                    public=True
                    self.param[ key ] = p.parameter( val, public )
                    return "OK"

        elif data[0] == "DUMP":
            print "DUMP"
            
        elif data[0] == "SUB":
            if len(data) == 3:
                key=data[1]
                qid=data[2]
                if self.param.has_key( key ):
                    self.param[ key ].subscribe(qid)
                    
            
        else:
            print "What ? ", cmd
 def generate_bmv2_controls(self):
     available_structs = scope.get_available_types(only_type="struct")
     scope.start_local()
     _parameter = parameter(type_ref=prefixed_type(
         value={self.struct_name: available_structs[self.struct_name]}))
     scope.insert_parameter("meta", "struct", _parameter)
     scope.start_local()
     _control_local_declarations = control_declaration_creation()
     _control_local_declarations.randomize()
     available_tables = scope.get_available_tables()
     table = available_tables.keys()[randomizer.randint(
         0,
         len(available_tables) - 1)]
     scope.stop_local()
     code = "control IngressImpl(inout headers_t hdr,\ninout " + self.struct_name + " meta,\ninout standard_metadata_t standard_metadata) {\n" + _control_local_declarations.generate_code(
     ) + "\napply {\n" + table + ".apply();\n}\n}\n\n"
     scope.stop_local()
     code += "control EgressImpl(inout headers_t hdr,\ninout " + self.struct_name + " meta,\ninout standard_metadata_t standard_metadata) {\napply {\n\n}\n}\n\n"
     code += "control VerifyChecksumImpl(inout headers_t hdr, inout " + self.struct_name + " meta) {\napply {\n\n}\n}\n\n"
     code += "control ComputeChecksumImpl(inout headers_t hdr, inout " + self.struct_name + " meta) {\napply {\n}\n}\n\n"
     code += "control DeparserImpl(packet_out packet, in headers_t hdr) {\napply {\n}\n}\n\n"
     return code
Beispiel #21
0
    def checkparam(self):
        #check and fill in all the default parameters

        #need to modify the value depend on q1 and q2
        if 'u1' not in self.paradic or 'u2' not in self.paradic:
            if 'q1' not in self.paradic or 'q2' not in self.paradic:

                self.paramarr.append(parameter(self.requiredpara['u1'],0.,0.,'u1'))
                self.paradic['u1']=len(self.paramarr)-1
                self.paramarr.append(parameter(self.requiredpara['u2'],0.,0.,'u2'))
                self.paradic['u2']=len(self.paramarr)-1
            else:
                u1,u2=self.cal_LD_qtou(self.readpara('q1').val,self.readpara('q2').val)
                self.paramarr.append(parameter(u1,0.,0.,'u1'))
                self.paradic['u1']=len(self.paramarr)-1 
                self.paramarr.append(parameter(u2,0.,0.,'u2'))
                self.paradic['u2']=len(self.paramarr)-1
        if 'b2' not in self.paradic:
            if 'b' not in self.paradic:
                self.paramarr.append(parameter(self.requiredpara['b'],0.,0.,'b'))
                self.paramarr.append(parameter(self.requiredpara['b2'],0.,0.,'b2'))
            else:
                para_b=copy.deepcopy(self.readpara('b'))
                para_b2=parameter(para_b.val**2.,para_b.upper**2.,para_b.lower**2.,'b2',fitflag=para_b.fitflag,xmin=0,xmax=1)
                if para_b.fitflag==1:
                    #print self.paradic['b']
                    self.paramarr[int(self.paradic['b'])]=para_b2
                    self.paradic['b2']=self.paradic['b']
                    #self.paramarr.append(para_b)
                    #self.paradic['b']=len(self.paramarr)-1
                    #self.readpara('b').fitflag=0
        for key,value in self.requiredpara.iteritems():
            if key not in self.paradic:
                self.paramarr.append(parameter(value,0.,0.,key))
                self.paradic[key]=len(self.paramarr)-1
        return
Beispiel #22
0
    def parameter(self, week, type):
        data = {"data": None}
        # 1. run weekId
        para = parameter.parameter(week)
        fridayRun = ""
        if str("All") == type:
            fridayRun = para.AllCountry()
        elif str("JPN") == type:
            fridayRun = para.JPN
        elif str("CHN") == type:
            fridayRun = para.CHN()
        elif str("USA") == type:
            fridayRun = para.USA()
        elif str("Other") == type:
            fridayRun = para.Other()

        encodestr = DataEncoding.DataEncoding(json.dumps(fridayRun))
        encodebody = encodestr.DesEncrypt()

        data["data"] = str(encodebody.replace(b'\n', b'').decode('utf-8'))

        Operation = json.dumps(data)

        return Operation
Beispiel #23
0
 def parameter(self, varname, prop):
     ''' add parameter to the paralist'''
     lib = self.get_lib(prop['lib'])
     var = lib[prop['obj']].get(prop['prop'])
     self.paralist[varname] = parameter(var)
Beispiel #24
0
#!/usr/bin/env python

import parameter as p

fred=p.parameter("TEST")

print fred.getValue()

stuff={}

stuff["NAME"]=fred

tst=stuff["NAME"]

print tst.getValue()

#-*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from datetime import datetime
from selenium.webdriver.support.ui import WebDriverWait
import logging
import os
lis=0
from parameter import parameter
from system import system
par=parameter()
syst=system()
if not os.path.isdir('c:\\TEST_log\\niutouwenxinlog\\'):
	os.makedirs('c:\\TEST_log\\niutouwenxinlog\\')
logFileName = 'c:\\TEST_log\\niutouwenxinlog\\%s.log' %time.strftime("%m-%d-%H-%M-%S",time.localtime(time.time()))
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', filename=logFileName, level=logging.DEBUG)
#################################################################################################
#定义一个StreamHandler,将INFO级别或更高的日志信息打印到标准错误,并将其添加到当前的日志处理对象#
console = logging.StreamHandler()
console.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
console.setFormatter(formatter)
logging.getLogger('').addHandler(console)
#################################################################################################

logging.info('####################')
logging.info('#    Begin Test    #')
logging.info('####################')

Beispiel #26
0
        num_list[i] = text.text_get()
        i = i + 1
    print(num_list)

    area = num_list[0] * num_list[1] + 3.14 * (
        num_list[2] / 2)**2 + num_list[3] * num_list[4] / 2
    area = round(area, 3)
    result = StringVar()
    result_input = StringVar()
    if num_list[0] != 0:
        result_input = '矩形 ' + '长:' + str(num_list[0]) + '厘米 ' + '宽:' + str(
            num_list[1]) + '厘米 '
    elif num_list[2] != 0:
        result_input = '圆 ' + '直径:' + str(num_list[2]) + '厘米 '
    elif num_list[3] != 0:
        result_input = '三角形 ' + '底:' + str(num_list[3]) + '厘米 ' + '高:' + str(
            num_list[4]) + '厘米 '
    result_area = str(area)
    result = result_input + '面积:' + result_area + '平方厘米'
    contentVar_area.set(result)


print(area)
window.title('面积计算器')
paramparameter1 = parameter(num_list, contentVar_area)
tkinter.Button(window, text="英尺转化为厘米",
               command=partial(unit, paramparameter1)).grid(row=6, column=1)

tkinter.Button(window, text="确定", command=partial(getarea,
                                                  area)).grid(row=6, column=2)
mainloop()
Beispiel #27
0
    def run_ad(self, job_id, url, total_count):
        """
        Get job executing statistic result
        :param job_id:
        :return:
        """
        total_processed_count = 0
        para = parameter(0, job_id)
        friday_run = para.go_on_ad_to_order()

        encode_str = DataEncoding.DataEncoding(json.dumps(friday_run))
        encode_body = encode_str.DesEncrypt()

        self.data["data"] = str(
            encode_body.replace(b'\n', b'').decode('utf-8'))

        operation = json.dumps(self.data)

        # print(url)
        # print(friday_run)
        response = requests.post(url,
                                 headers=self.headers,
                                 timeout=5,
                                 data=operation)

        # print(response.text)
        # print(json.loads(response.text)["string"])
        return_object = json.loads(json.loads(response.text)["string"])

        if int(str(return_object["errorCode"])) == 200:
            if return_object["data"]["totalAdCount"] is not None:
                total_ad_count = list(return_object["data"]["totalAdCount"])
                # print("*******************************************")
                # print(total_ad_count)
                for item in total_ad_count:
                    country_item = dict(item)
                    # print(country_item["countryCode"], country_item["totalProcessedCount"])
                    logger.info(country_item["countryCode"] + "---" +
                                str(country_item["totalProcessedCount"]))
                    total_processed_count += int(
                        country_item["totalProcessedCount"])

        # print("job id :", job_id, "total count :", total_processed_count)
        logger.info("job id:" + str(job_id) + " --- total count: " +
                    str(total_count) + ", Run total count: " +
                    str(total_processed_count))

        if any(self.job_processed_total_count) is False:
            # print('test 1')
            self.job_processed_total_count[job_id] = total_processed_count
            self.job_stop_count[job_id] = 1
        else:
            # print('test 2')
            hasCount = 0
            # print("test count")
            for key in self.job_processed_total_count.keys():
                # print('test 2')
                if int(key) == job_id:
                    hasCount = 1
                    # print('hasCount = 1')
                    # print(self.job_processed_total_count[key])
                    # print('total_processed_count = %s' % total_processed_count)
                    if int(self.job_processed_total_count[key]
                           ) == total_processed_count:
                        self.job_stop_count[job_id] += 1
                    else:
                        self.job_stop_count[job_id] = 1
            if hasCount == 0:
                # print('hasCount = 0')
                self.job_processed_total_count[job_id] = total_processed_count
                self.job_stop_count[job_id] = 1

        # print('job stop count')
        for key in self.job_stop_count.keys():
            # print('error ?')
            # print(self.job_stop_count[key])
            if int(self.job_stop_count[key]) > 6:
                logger.info(
                    "Job id: %s stop run. please Restart the new thread." %
                    key)

        # print(self.job_stop_count)
        # print(total_count[0])
        # print(total_processed_count)

        return int(total_count[0]) - int(total_processed_count)
Beispiel #28
0
    def __init__(self,obs,user_param,mat_mask):  
        self.obs = obs
        self.hist_ELBO = []
        self.hist_sum_rmse = []
        self.hist_convergence = []
        self.hist_rmse = [[]] * self.obs.N
        self.converged = False
        self.user_param = user_param
        self.mat_mask = mat_mask    
        self.isProgramError = False

#==============================================================================
# Initialise parameters          
#==============================================================================
        self.param = parameter(self.obs,user_param)
        self.param.rand_init(self.obs,self.user_param)

#==============================================================================
# Initialise auxillary variables          
#==============================================================================
        print 'Aux initialising ...'
        self.aux = aux_variable.aux_variable(self.obs,self.user_param)
        if self.obs.decomposed_u:
            self.aux.P_u = self.obs.P_u.copy()
            self.aux.Q_u = self.obs.Q_u.copy()
            self.aux.Q_u_inv = self.obs.Q_u_inv.copy()
        else:
            if self.obs.Sigma_u.shape[0] == self.obs.Sigma_u.shape[1]:
                self.aux.P_u,self.aux.Q_u,self.aux.Q_u_inv,self.param.delta_u = aux_variable.svd(self.obs.Sigma_u,self.user_param.R[0])
            else:
                self.aux.P_u,self.aux.Q_u_inv,self.aux.Q_u,self.param.delta_u = aux_variable.svd(numpy.linalg.pinv(self.obs.Sigma_u.T))
        self.aux.PQinvPt_u = self.aux.P_u.dot(self.aux.Q_u_inv).dot(self.aux.P_u.T)
        self.aux.inv_Sigma_u = self.aux.PQinvPt_u + numpy.diag(numpy.full((self.obs.D),self.param.delta_u))
        self.aux.Sigma_u = aux_variable.matrix_inv(numpy.full((self.obs.D),self.param.delta_u),self.aux.P_u,self.aux.Q_u_inv)
        self.aux.logdet_Sigma_u = numpy.linalg.slogdet(self.aux.Sigma_u)[1]
            
        if self.obs.decomposed_v:
            self.aux.P_v = self.obs.P_v.copy()
            self.aux.Q_v = self.obs.Q_v.copy()
            self.aux.Q_v_inv = self.obs.Q_v_inv.copy()
        else:
            if self.obs.Sigma_v.shape[0] == self.obs.Sigma_v.shape[1]:
                self.aux.P_v,self.aux.Q_v,self.aux.Q_v_inv,self.param.delta_v = aux_variable.svd(self.obs.Sigma_v.T,self.user_param.R[1])
            else:
                self.aux.P_v,self.aux.Q_v_inv,self.aux.Q_v,self.param.delta_v = aux_variable.svd(numpy.linalg.pinv(self.obs.Sigma_v.T))
        self.aux.PQinvPt_v = self.aux.P_v.dot(self.aux.Q_v_inv).dot(self.aux.P_v.T)
        self.aux.inv_Sigma_v = self.aux.PQinvPt_v + numpy.diag(numpy.full((self.obs.G),self.param.delta_v))
        self.aux.Sigma_v = aux_variable.matrix_inv(numpy.full((self.obs.G),self.param.delta_v),self.aux.P_v,self.aux.Q_v_inv)
        self.aux.logdet_Sigma_v = numpy.linalg.slogdet(self.aux.Sigma_v)[1]
            
        for n in xrange(self.obs.N):
            self.aux.R[n] = (self.param.Z[n] - aux_variable.get_F(self.param,n)) * self.mat_mask[n] # Signed zeros
        for k in xrange(self.user_param.K):
            self.aux.S_u[:,k] = numpy.diag(self.param.C_u[k])
            self.aux.S_v[:,k] = numpy.diag(self.param.C_v[k])
            
#==============================================================================
# Initialise warping fucntion object          
#==============================================================================
        self.warping = [[]] * self.obs.N
        for n in xrange(self.obs.N):
            self.warping[n] = warping_functions.composite_warping(self.user_param.I_list,self.user_param.func_type_list)        
Beispiel #29
0
    def __init__(self):
        self.funktionsList = {}
        self.nameList = []
        self.connectionList = []

        print("funktionsmanager created")

        mathnodes = [
            "Add", "Subtract", "Multiply", "Divide", "Sine", "Cosine",
            "Tangent", "Arcsine", "Arccosine", "Arctangent", "Power",
            "Logarithm", "Minimum", "Maximum", "Round", "Modulo", "Absolute"
        ]
        for a in mathnodes:
            add = funktion.funktion(a, "MathNode", self)
            addp1 = parameter.parameter("Value 1", "Number")
            addp2 = parameter.parameter("Value 2", "Number")
            addOut = parameter.parameter("Result", "Number")
            add.parameterList.append(addp1)
            add.parameterList.append(addp2)
            add.setOutput(addOut)
            self.funktionsList[add.getName()] = add

        output = funktion.funktion("Output", "OutputNode", self)
        outputp1 = parameter.parameter("Input", "Number")
        output.parameterList.append(outputp1)
        self.funktionsList[output.getName()] = output

        uniform = funktion.funktion("Uniform", "UniformNode", self)
        uni1 = parameter.parameter("Seed", "Number")
        uni2 = parameter.parameter("Min", "Number")
        uni3 = parameter.parameter("Max", "Number")
        uni4 = parameter.parameter("Discrete", "Boolean")
        uniout = parameter.parameter("Output", "Number")
        uniform.parameterList.append(uni1)
        uniform.parameterList.append(uni2)
        uniform.parameterList.append(uni3)
        uniform.parameterList.append(uni4)
        uniform.setOutput(uniout)
        self.funktionsList[uniform.getName()] = uniform

        normal = funktion.funktion("Normal", "NormalNode", self)
        nor1 = parameter.parameter("Seed", "Number")
        nor2 = parameter.parameter("Mean", "Number")
        nor3 = parameter.parameter("Std. Dev.", "Number")
        nor4 = parameter.parameter("Discrete", "Boolean")
        norout = parameter.parameter("Output", "Number")
        normal.parameterList.append(nor1)
        normal.parameterList.append(nor2)
        normal.parameterList.append(nor3)
        normal.parameterList.append(nor4)
        normal.setOutput(norout)
        self.funktionsList[normal.getName()] = normal

        exponential = funktion.funktion("Exponential", "ExponentialNode", self)
        exp1 = parameter.parameter("Seed", "Number")
        exp2 = parameter.parameter("Lambda", "Number")
        exp3 = parameter.parameter("Discrete", "Boolean")
        expout = parameter.parameter("Output", "Number")
        exponential.parameterList.append(exp1)
        exponential.parameterList.append(exp2)
        exponential.parameterList.append(exp3)
        exponential.setOutput(expout)
        self.funktionsList[exponential.getName()] = exponential

        percentage = funktion.funktion("Percentage", "PercentageNode", self)
        per1 = parameter.parameter("Value", "Number")
        per2 = parameter.parameter("Seed", "Number")
        per3 = parameter.parameter("Percentage", "Number")
        per4 = parameter.parameter("Discrete", "Boolean")
        perout = parameter.parameter("Output", "Number")
        percentage.parameterList.append(per1)
        percentage.parameterList.append(per2)
        percentage.parameterList.append(per3)
        percentage.parameterList.append(per4)
        percentage.setOutput(perout)
        self.funktionsList[percentage.getName()] = percentage

        logicnodes = ["AND", "OR", "XOR", "NAND", "NOR", "XNOR"]
        for a in logicnodes:
            add = funktion.funktion(a, "LogicNode", self)
            addp1 = parameter.parameter("A", "Boolean")
            addp2 = parameter.parameter("B", "Boolean")
            addOut = parameter.parameter("Result", "Boolean")
            add.parameterList.append(addp1)
            add.parameterList.append(addp2)
            add.setOutput(addOut)
            self.funktionsList[add.getName()] = add

        logicnodes = [
            "Equals", "Greater", "Smaller", "GreaterThan", "SmallerThan"
        ]
        for i in logicnodes:
            add = funktion.funktion(i, "BooleanNode", self)
            addp1 = parameter.parameter("Value 1", "Number")
            addp2 = parameter.parameter("Value 2", "Number")
            addp3 = parameter.parameter("Round Values", "Boolean")
            addp4 = parameter.parameter("Invert Output", "Boolean")
            addOut = parameter.parameter("Result", "Boolean")
            add.parameterList.append(addp1)
            add.parameterList.append(addp2)
            add.parameterList.append(addp3)
            add.parameterList.append(addp4)
            add.setOutput(addOut)
            self.funktionsList[add.getName()] = add

        index = funktion.funktion("Index", "IndexValueNode", self)
        indout = parameter.parameter("Output", "Number")
        index.setOutput(indout)
        self.funktionsList[index.getName()] = index

        custom = funktion.funktion("Custom", "CustomNode", self)
        cus1 = parameter.parameter("Seed", "String")
        cus2 = parameter.parameter("Min", "Number")
        cus3 = parameter.parameter("Max", "Number")
        cus4 = parameter.parameter("Discrete", "Boolean")
        cusout = parameter.parameter("Output", "Number")
        custom.parameterList.append(cus1)
        custom.parameterList.append(cus2)
        custom.parameterList.append(cus3)
        custom.parameterList.append(cus4)
        custom.setOutput(cusout)
        self.funktionsList[custom.getName()] = custom

        discrete = funktion.funktion("Discrete", "DiscreteNode", self)
        dis1 = parameter.parameter("Seed", "String")
        dis2 = parameter.parameter("Min", "Number")
        dis3 = parameter.parameter("Max", "Number")
        disout = parameter.parameter("Output", "Number")
        discrete.parameterList.append(dis1)
        discrete.parameterList.append(dis2)
        discrete.parameterList.append(dis3)
        discrete.setOutput(disout)
        self.funktionsList[discrete.getName()] = discrete

        ifnode = funktion.funktion("If", "IfNode", self)
        if1 = parameter.parameter("Condition", "Boolean")
        if2 = parameter.parameter("True Value", "Boolean")
        if3 = parameter.parameter("False Value", "Boolean")
        ifout = parameter.parameter("Output", "Boolean")
        ifnode.parameterList.append(if1)
        ifnode.parameterList.append(if2)
        ifnode.parameterList.append(if3)
        ifnode.setOutput(ifout)
        self.funktionsList[ifnode.getName()] = ifnode

        switch = funktion.funktion("Switch", "SwitchNode", self)
        sw1 = parameter.parameter("Switch", "Boolean")
        sw2 = parameter.parameter("Value 1", "Boolean")
        sw3 = parameter.parameter("Value 2", "Boolean")
        swout = parameter.parameter("Output", "Boolean")
        sw2.setCustom()
        sw3.setCustom()
        switch.parameterList.append(sw1)
        switch.parameterList.append(sw2)
        switch.parameterList.append(sw3)
        switch.setOutput(swout)
        self.funktionsList[switch.getName()] = switch

        func = funktion.funktion("Function", "FunctionNode", self)
        f1 = parameter.parameter("input", "Boolean")
        f1.setCustom()
        fout = parameter.parameter("output", "Boolean")
        func.parameterList.append(f1)
        func.setOutput(fout)
        self.funktionsList[func.getName()] = func

        con = funktion.funktion("Constraint", "ConstraintNode", self)
        con1 = parameter.parameter("Is Valid", "Boolean")
        con.parameterList.append(con1)
        self.funktionsList[con.getName()] = con

        stringl = funktion.funktion("StringList", "StringListNode", self)
        s1 = parameter.parameter("Index", "Number")
        sout = parameter.parameter("String", "String")
        stringl.parameterList.append(s1)
        stringl.setOutput(sout)
        self.funktionsList[stringl.getName()] = stringl
Beispiel #30
0
def fitlc_parse(options):
    p = ConfigParser.RawConfigParser()
    try:
        p.read(options.cfgfile)
    except IOError:
        print "configure file missing"
        raise
    # parse lc format
    try:
        setattr(options.lc, "infile", p.get("Section LC", "infile"))
        setattr(options.lc, "cadence", eval(p.get("Section LC", "cadence")))
        if options.infile == "":
            if options.lc.infile == "":
                delattr(options.lc, "infile")
                raise ConfigParser.NoOptionError(p, "infile")
        else:
            setattr(options.lc, "infile", options.infile)
    except ConfigParser.MissingSectionHeaderError:
        raise "Error: Section LC missing, excute set_parse to see example.cfg"
    except ConfigParser.NoOptionError:
        try:
            setattr(options.lc, "inlist", p.get("Section LC", "inlist"))
        except ConfigParser.NoOptionError:
            raise "Error: Can not find neither a light curve file and its cadence or a list of light curve files for fitting purpose"

    try:
        setattr(options.lc, "inpath", p.get("Section LC", "inpath"))
    except ConfigParser.NoOptionError:
        print "Warning: Can not find the input path of light curves, use current directory by default"
        setattr(options.lc, "inpath", "")
    try:
        setattr(options.lc, "coljd", int(p.get("Section LC", "coljd")))
    except ConfigParser.NoOptionError:
        print "Warning: Can not find the input column of jds in light curves, use column 1 by default"
        setattr(options.lc, "coljd", 1)
    try:
        setattr(options.lc, "colmag", int(p.get("Section LC", "colmag")))
    except ConfigParser.NoOptionError:
        print "Warning: Can not find the input column of jds in light curves, use column 2 by default"
        setattr(options.lc, "colmag", 2)

    # parse fitting options
    setattr(options.mcmc, "nwalkers", int(p.get("Section MCMC", "nwalkers")))
    setattr(options.mcmc, "nburn", int(p.get("Section MCMC", "nburn")))
    setattr(options.mcmc, "niter", int(p.get("Section MCMC", "niter")))
    setattr(options.mcmc, "nthreads", int(p.get("Section MCMC", "nthreads")))
    if options.output == "":
        setattr(options.mcmc, "output", p.get("Section MCMC", "output"))
    else:
        setattr(options.mcmc, "output", options.output)

    # parse parameter options
    freeparams = p.get("Section FreeParameters", "freeparams").split(",")
    for i in xrange(len(freeparams)):
        try:
            freeargs = p.get("Section FreeParameters", freeparams[i]).split(",")
            if len(freeargs) == 3:
                val, upper, lower = freeargs
                options.params.append(parameter(float(val), float(upper), float(lower), freeparams[i], fitflag=1))
            elif len(freeargs) == 5:
                val, upper, lower, xmin, xmax = freeargs
                options.params.append(
                    parameter(float(val), float(upper), float(lower), freeparams[i], fitflag=1, xmin=xmin, xmax=xmax)
                )
            else:
                raise ValueError
        except ValueError:
            raise ValueError, "Free Parameters %s need to be given as val,upper,lower (,xmin,xmax) format in configure file" % freeparams[
                i
            ]

    fixparams = p.get("Section FixedParameters", "fixparams").split(",")
    for i in xrange(len(fixparams)):
        options.params.append(
            parameter(float(p.get("Section FixedParameters", fixparams[i])), 0, 0, fixparams[i], fitflag=0)
        )

    return
	def randomize(self):
		rnd = randomizer.randint(self.min_list_size, self.max_list_size)
		for x in range(0, rnd):
			_parameter = parameter()
			_parameter.randomize()
			self.parameter_list.append(_parameter)
Beispiel #32
0
 def parameter(self,varname,prop):
     ''' add parameter to the paralist'''
     lib = self.get_lib(prop['lib'])
     var = lib[prop['obj']].get(prop['prop'])
     self.paralist[varname] = parameter(var)
Beispiel #33
0
#-*- coding: utf-8 -*-
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
import time
from datetime import datetime
from selenium.webdriver.support.ui import WebDriverWait
import logging
import os
from parameter import parameter
from system import system
para=parameter()
syst=system()

lis=0

if not os.path.isdir('c:\\TEST_log\\iheimalog\\'):
	os.makedirs('c:\\TEST_log\\iheimalog\\')
logFileName = 'c:\\TEST_log\\iheimalog\\%s.log' %time.strftime("%m-%d-%H-%M-%S",time.localtime(time.time()))
logging.basicConfig(format='%(asctime)s %(levelname)s %(message)s', filename=logFileName, level=logging.DEBUG)
logging.info('####################')
logging.info('#    Begin Test    #')
logging.info('####################')



def strB2Q(ustring):
	"""半角转全角"""
	rstring = ""
	for uchar in ustring:
		inside_code=ord(uchar)
		if inside_code == 32:                                 #半角空格直接转化                  
Beispiel #34
0
Dmax = 300

U_hubbard = 0.5  # density interaction
JH = 0.1  # Hund's

U = {
    '12': U_hubbard,
    '13': U_hubbard - 0.5 * JH,
    '14': U_hubbard,
    '23': U_hubbard,
    '24': U_hubbard - 0.5 * JH,
    '34': U_hubbard
}
J = -0.5 * JH
ed = np.ones(4) * (-1.5 * U_hubbard)  #fix half filling
E0 = 0.0
para = parameter(D=Dmax, ed=ed, U=U, J=J, E0=E0, N_=1000)
#--------------------------------
#      init solver
#--------------------------------

st = time.time()

solver = dmft_self_consistent(para)
solver.initialize_()

solver.dmft_iteration()

print("One iter time = ", (time.time() - st) / 60.0)