Exemple #1
0
 def __init__(self):
     self.gene_target = Gene.new_random_gene()
     self.active_gene_range = abs(
         float(
             dgamma.rvs(Virus.ACTIVE_GENE_RANGE_A,
                        Virus.ACTIVE_GENE_RANGE_LOC,
                        Virus.ACTIVE_GENE_RANGE_SCALE,
                        size=1)[0]))
Exemple #2
0
 def make_block_flow(self,max_steps):
     step = 0
     # default parameters from multichain 
     while step <= max_steps:
         time_block = dgamma.rvs(2.0000170661444634, 5.4611854838492295, 0.8244588748930897)
         time_block = int(round(time_block)) * 1000
         step += time_block
         self.block_closed_flow.append(step)
Exemple #3
0
 def make_blocks_flow_control(self,max_steps):
     step = 0
     while step <= max_steps:
     	if(time_block > 1):
         	time_block = dgamma.rvs(2.0000170661444634, 5.4611854838492295, 0.8244588748930897)
         	time_block = int(round(time_block)) * 1000
         	step += time_block
         	self.new_blocks_flow_control.append(step)
     return 
 def make_block_miner_flow(self, max_steps):
     step = 0
     while step <= max_steps:
         time_block = dgamma.rvs(2.0000170661444634, 5.4611854838492295,
                                 0.8244588748930897)
         time_block = int(round(time_block)) * 1000
         step += time_block
         self.block_miner_flow.append(step)
     return
    def make_block_miner_flow(self,max_steps):
        step = 0
        while step <= max_steps:
        	if(time_block > 1):
            	time_block = dgamma.rvs(2.0000170661444634, 5.4611854838492295, 0.8244588748930897)
            	time_block = int(round(time_block)) * 1000
            	step += time_block
            	self.block_miner_flow.append(step)
        return

    def make_keys(self):
        (self.public_key, self.private_key) = rsa.newkeys(KEYSIZE)

    def get_private_key(self):
        return self.private_key

    def get_dict(self):
        data = self.__dict__
        return data

    def make_ingress_transactions(self):
        self.transaction = Ingress()
        self.transaction.sign_transactions(self)

    def set_timestamp(self):
        self.timestamp = dt.datetime.now()


    def update_tables(self):
        pass

    def check_bloom_filter(self,bf_public_key):
        bf = bloom_filter.BloomFilter(5,0.1)
        bf.add(str(bf_public_key.n))
        if(bf.check(str(self.public_key))):
            print("sou juiz desse cara")
            self.trust_table[bf_public_key.n] = 6.0

    def __str__(self):
        return "Pub:{}\nPriv:{}".format(self.public_key.n, self.private_key)
# Display the probability density function (``pdf``):

x = np.linspace(dgamma.ppf(0.01, a), dgamma.ppf(0.99, a), 100)
ax.plot(x, dgamma.pdf(x, a), 'r-', lw=5, alpha=0.6, label='dgamma pdf')

# Alternatively, the distribution object can be called (as a function)
# to fix the shape, location and scale parameters. This returns a "frozen"
# RV object holding the given parameters fixed.

# Freeze the distribution and display the frozen ``pdf``:

rv = dgamma(a)
ax.plot(x, rv.pdf(x), 'k-', lw=2, label='frozen pdf')

# Check accuracy of ``cdf`` and ``ppf``:

vals = dgamma.ppf([0.001, 0.5, 0.999], a)
np.allclose([0.001, 0.5, 0.999], dgamma.cdf(vals, a))
# True

# Generate random numbers:

r = dgamma.rvs(a, size=1000)

# And compare the histogram:

ax.hist(r, normed=True, histtype='stepfilled', alpha=0.2)
ax.legend(loc='best', frameon=False)
plt.show()