codepad
[
create a new paste
]
login
|
about
Language:
C
C++
D
Haskell
Lua
OCaml
PHP
Perl
Plain Text
Python
Ruby
Scheme
Tcl
import math, mpmath from mpmath import mp import decimal mp.dps = 12 #print(mp.quad(lambda x: mp.exp(-x**2), [-mp.inf, mp.inf]) ** 2) st = 10 t = st ti = 1 lv = 44 pre = 0.00000000000 fp = 0.0 fluxList = [7, 3, 9, 6, 8, 2, 3, 7, 3, 9, 5, 2, 8, 9, 4, 3, 6, 7, 5, 9, 5, 6, 4, 4, 8, 7, 7, 8, 3, 6, 2, 3, 7, 6,] lpre = [] lxpre = [] #print(mpmath.polylog(3,3)) #print(fluxList) #encode xpre = 0.0 cnt = 0 ccn = 0.0 preflux = 0 prepre = 0.0 xerr = 0.0 totalerr = 0.0 lllvt = 0.0 for flux in fluxList: llvt = mpmath.log(t,lv) #print(lv ** llvt, ' - ',llvt) #print(pre, xerr) fp = flux + pre pre = mpmath.power(llvt, fp) # ======= reverse calculation for error correction if(pre!=0): lllvt = mpmath.log(pre, llvt) xpre = lllvt - flux xerr = prepre - xpre #pre = pre + xerr #print(pre, pre + xerr, xerr) #xpre = xpre+xerr #totalerr = totalerr + xerr #print(lllvt, fp) #pre = pre + xerr lpre.append(pre + xerr) #pre = pre + tpre #print('Time:',t,'LogTime:',llvt,'Fp:', fp,'Pre:', pre) t = t + ti #pre = mpmath.sqrt(llvt) cnt = cnt +1 prepre = pre #print(t, '|', llvt,'|', flux,'|', fp,'|', pre) #print('---', lpre) #print('---', lxpre) #print(totalerr) lastNum = pre # last number #--correct errors # xcn = 0 # t=st # for epre in lpre: # #print(epre,lxpre[xcn] ) # llvt = mpmath.log(t, lv) # lllvt = mpmath.log(epre, llvt) # xflux = int(lllvt) # xpre = lllvt - xflux # #lxpre.append(xpre) # if(xcn>0): # lpre[xcn-1] = lpre[xcn-1] # print(lpre[xcn-1], xpre) # # t = t+ti # xcn = xcn+1 #------------------------------------------------------ #print(lpre) ####decode #dd = mpmath.log(pre,100) print('-----------------------------------------------') print('number generated',lastNum) print('-----------------------------------------------') #x = mp.nsum(lambda k: 4*(-1)**(k+1)/(2*k-1), [1,mp.inf]) #print(x) #(exp(1+euler/2)/nprod(lambda n: (1+1/n)**n * exp(1/(2*n)-1), [1, inf]))**2/2 t = len(fluxList)+st-1 ##skip last flux = 0 count = 0 resultFlux = [] #lerr.append(aaa) while (t >= st): llvt = mpmath.log(t, lv) #lpre is from encoding lpr = lpre[t - st] err = lpr - lastNum #reencoding and decoding to calkulate error rate fp = flux + lastNum qpre = mpmath.power(llvt, fp) qlllvt = mpmath.log(qpre, llvt) qflux = int(qlllvt) qlast = qlllvt - qflux #print(lpr, qlast, lastNum) #lastNum = lastNum + (qlast-lastNum) print(lpr, lastNum, err) #errL.append(err) #print(lpr,lastNum) #print(flux, lastNum, err) #with error correction lastNum = lastNum + err lllvt = mpmath.log(lastNum,llvt) flux = int(lllvt) lastNum = lllvt-flux #print(t, flux) resultFlux.append(flux) t=t-1 #print(errL) resultFlux.reverse() #print(len(fluxList)) print('Results :',resultFlux) print('Original:',fluxList)
Private
[
?
]
Run code
Submit