mirror of
https://github.com/QuantumPackage/qp2.git
synced 2024-12-04 02:48:24 +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 + "/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):
|
||||
|
||||
@ -473,8 +482,15 @@ def write_ezfio(trexio_filename, filename):
|
||||
beta_s[i] = '1'
|
||||
alpha_s = ''.join(alpha_s)[::-1]
|
||||
beta_s = ''.join(beta_s)[::-1]
|
||||
alpha = [ int(i,2) for i in qp_bitmasks.string_to_bitmask(alpha_s) ][::-1]
|
||||
beta = [ int(i,2) for i in qp_bitmasks.string_to_bitmask(beta_s ) ][::-1]
|
||||
def conv(i):
|
||||
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_n_int(1+mo_num//64)
|
||||
ezfio.set_determinants_n_det(1)
|
||||
|
Loading…
Reference in New Issue
Block a user