##// END OF EJS Templates
Merge
Merge

File last commit:

r0:90bacf12c042 default
r5:5d58cb9ab858 merge default
Show More
bin16.py
59 lines | 910 B | text/x-python | PythonLexer
import math
def quant16(x,liminf,limsup):
p = 1.0/pow(2,16) * (limsup - liminf)
x_quant = int(round(x/p))
return x_quant
def quantN(x,liminf,limsup,N):
p = 1.0/pow(2,N) * (limsup - liminf)
x_quant = int(round(x/p))
return x_quant
def trunc16(x):
if x > (pow(2,15) - 1):
z = pow(2,15) - 1
z = int(z)
return z
if x < (-1 * pow(2,15)):
z = -1 * pow(2,15)
z = int(z)
return z
return x
def truncN(x,N,signed = 0):
if signed == 0:
if x > (pow(2,N)):
z = pow(2,N) - 1
z = int(z)
return z
if x < 0:
z = 0
return z
return x
if signed == 1:
if x > (pow(2,N-1) - 1):
z = pow(2,N-1) - 1
z = int(z)
return z
if x < (-1 * pow(2,N-1)):
z = -1 * pow(2,N-1)
z = int(z)
return z
return x
def add16(x,y):
z = x + y
z = trunc16(z)
return z
def prod16(x,y):
z = x * y
z = trunc16(z)
return z
def div16(x,y):
z = x/y
z = trunc16(z)
return z