mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-21 19:13:29 +01:00
Fix int64 overflow in qp_import_trexio
Some checks failed
continuous-integration/drone/push Build is failing
Some checks failed
continuous-integration/drone/push Build is failing
This commit is contained in:
parent
cc606ba8f8
commit
a493e15110
@ -38,6 +38,15 @@ else:
|
|||||||
QP_ROOT + "/install",
|
QP_ROOT + "/install",
|
||||||
QP_ROOT + "/scripts"] + sys.path
|
QP_ROOT + "/scripts"] + sys.path
|
||||||
|
|
||||||
|
def uint64_to_int64(u):
|
||||||
|
# Check if the most significant bit is set
|
||||||
|
if u & (1 << 63):
|
||||||
|
# Calculate the two's complement
|
||||||
|
result = -int(np.bitwise_not(np.uint64(u))+1)
|
||||||
|
else:
|
||||||
|
# The number is already positive
|
||||||
|
result = u
|
||||||
|
return result
|
||||||
|
|
||||||
def generate_xyz(l):
|
def generate_xyz(l):
|
||||||
|
|
||||||
@ -473,8 +482,15 @@ def write_ezfio(trexio_filename, filename):
|
|||||||
beta_s[i] = '1'
|
beta_s[i] = '1'
|
||||||
alpha_s = ''.join(alpha_s)[::-1]
|
alpha_s = ''.join(alpha_s)[::-1]
|
||||||
beta_s = ''.join(beta_s)[::-1]
|
beta_s = ''.join(beta_s)[::-1]
|
||||||
alpha = [ int(i,2) for i in qp_bitmasks.string_to_bitmask(alpha_s) ][::-1]
|
def conv(i):
|
||||||
beta = [ int(i,2) for i in qp_bitmasks.string_to_bitmask(beta_s ) ][::-1]
|
try:
|
||||||
|
result = np.int64(i)
|
||||||
|
except:
|
||||||
|
result = np.int64(i-2**63-1)
|
||||||
|
return result
|
||||||
|
|
||||||
|
alpha = [ uint64_to_int64(int(i,2)) for i in qp_bitmasks.string_to_bitmask(alpha_s) ][::-1]
|
||||||
|
beta = [ uint64_to_int64(int(i,2)) for i in qp_bitmasks.string_to_bitmask(beta_s ) ][::-1]
|
||||||
ezfio.set_determinants_bit_kind(8)
|
ezfio.set_determinants_bit_kind(8)
|
||||||
ezfio.set_determinants_n_int(1+mo_num//64)
|
ezfio.set_determinants_n_int(1+mo_num//64)
|
||||||
ezfio.set_determinants_n_det(1)
|
ezfio.set_determinants_n_det(1)
|
||||||
|
Loading…
Reference in New Issue
Block a user