本文整理汇总了Python中ctypes.c_int64方法的典型用法代码示例。如果您正苦于以下问题:Python ctypes.c_int64方法的具体用法?Python ctypes.c_int64怎么用?Python ctypes.c_int64使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ctypes
的用法示例。
在下文中一共展示了ctypes.c_int64方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: rsphar
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def rsphar(r,lmax,res):
"""
Computes (all) real spherical harmonics up to the angular momentum lmax
Args:
r : Cartesian coordinates defining correct theta and phi angles for spherical harmonic
lmax : Integer, maximal angular momentum
Result:
1-d numpy array of float64 elements with all spherical harmonics stored in order 0,0; 1,-1; 1,0; 1,+1 ... lmax,lmax, althogether 0 : (lmax+1)**2 elements.
"""
assert r.shape[-1]==3
r_cp = np.require(r, dtype=float, requirements='C')
res = np.require(res, dtype=float, requirements='CW')
libnao.rsphar(r_cp.ctypes.data_as(POINTER(c_double)), c_int64(lmax), res.ctypes.data_as(POINTER(c_double)))
return 0
#
#
#
示例2: rsphar_vec
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def rsphar_vec(rvs,lmax):
"""
Computes (all) real spherical harmonics up to the angular momentum lmax
Args:
rvs : Cartesian coordinates defining correct theta and phi angles for spherical harmonic
lmax : Integer, maximal angular momentum
Result:
1-d numpy array of float64 elements with all spherical harmonics stored in order 0,0; 1,-1; 1,0; 1,+1 ... lmax,lmax, althogether 0 : (lmax+1)**2 elements.
"""
assert rvs.shape[-1]==3
r_cp = np.require(rvs, dtype=float, requirements='C')
nc = len(rvs)
res = np.require( np.zeros((nc, (lmax+1)**2)), dtype=float, requirements='CW')
libnao.rsphar_vec(r_cp.ctypes.data_as(POINTER(c_double)), c_int64(nc), c_int64(lmax), res.ctypes.data_as(POINTER(c_double)))
#for irv,rvec in enumerate(rvs): rsphar(rvec,lmax,res[irv,:])
return res
#
#
#
示例3: rsphar_exp_vec
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def rsphar_exp_vec(rvs,lmax):
"""
Computes (all) real spherical harmonics up to the angular momentum lmax
Args:
rvs : Cartesian coordinates defining correct theta and phi angles for spherical harmonic
lmax : Integer, maximal angular momentum
Result:
1-d numpy array of float64 elements with all spherical harmonics stored in order 0,0; 1,-1; 1,0; 1,+1 ... lmax,lmax, althogether 0 : (lmax+1)**2 elements.
"""
assert rvs.shape[0]==3
r_cp = np.require(rvs, dtype=np.float64, requirements='C')
nc = rvs[0,...].size
res = np.require( np.zeros(((lmax+1)**2,nc)), dtype=np.float64, requirements='CW')
libnao.rsphar_exp_vec(r_cp.ctypes.data_as(POINTER(c_double)), c_int64(nc), c_int64(lmax), res.ctypes.data_as(POINTER(c_double)))
#for irv,rvec in enumerate(rvs): rsphar(rvec,lmax,res[irv,:])
return res
示例4: dens_libnao
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def dens_libnao(crds, nspin):
""" Compute the electronic density using library call """
assert crds.ndim==2
assert crds.shape[-1]==3
nc = crds.shape[0]
crds_cp = require(crds, dtype=c_double, requirements='C')
dens = require( zeros((nc, nspin)), dtype=c_double, requirements='CW')
libnao.dens_libnao(
crds_cp.ctypes.data_as(POINTER(c_double)),
c_int64(nc),
dens.ctypes.data_as(POINTER(c_double)),
c_int64(nspin))
return dens
示例5: init_prod_basis_pp
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def init_prod_basis_pp(self, sv, **kvargs):
""" Talman's procedure should be working well with Pseudo-Potential starting point."""
from pyscf.nao.m_prod_biloc import prod_biloc_c
#t1 = timer()
self.init_inp_param_prod_log_dp(sv, **kvargs)
data = self.chain_data()
libnao.init_vrtx_cc_apair(data.ctypes.data_as(POINTER(c_double)), c_int64(len(data)))
self.sv_pbloc_data = True
#t2 = timer(); print(t2-t1); t1=timer();
self.bp2info = [] # going to be some information including indices of atoms, list of contributing centres, conversion coefficients
for ia1 in range(sv.natoms):
rc1 = sv.ao_log.sp2rcut[sv.atom2sp[ia1]]
for ia2 in range(ia1+1,sv.natoms):
rc2,dist = sv.ao_log.sp2rcut[sv.atom2sp[ia2]], sqrt(((sv.atom2coord[ia1]-sv.atom2coord[ia2])**2).sum())
if dist>rc1+rc2 : continue
pbiloc = self.comp_apair_pp_libint(ia1,ia2)
if pbiloc is not None : self.bp2info.append(pbiloc)
self.dpc2s,self.dpc2t,self.dpc2sp = self.init_c2s_domiprod() # dominant product's counting
self.npdp = self.dpc2s[-1]
self.norbs = self.sv.norbs
return self
示例6: aos_libnao
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def aos_libnao(coords, norbs):
assert len(coords.shape) == 2
assert coords.shape[1] == 3
assert norbs>0
ncoords = coords.shape[0]
co2val = np.require( np.zeros((ncoords,norbs)), dtype=c_double, requirements='CW')
crd_copy = np.require(coords, dtype=c_double, requirements='C')
libnao.aos_libnao(
c_int64(ncoords),
crd_copy.ctypes.data_as(POINTER(c_double)),
c_int64(norbs),
co2val.ctypes.data_as(POINTER(c_double)),
c_int64(norbs))
return co2val
示例7: _ar_arsdk_encode_type_info
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def _ar_arsdk_encode_type_info(cls, ar_argtype):
arsdk_encode_type_info_map = {
arsdkparser.ArArgType.I8: (od.ARSDK_ARG_TYPE_I8, "i8", ctypes.c_int8),
arsdkparser.ArArgType.U8: (od.ARSDK_ARG_TYPE_U8, "u8", ctypes.c_uint8),
arsdkparser.ArArgType.I16: (od.ARSDK_ARG_TYPE_I16, "i16", ctypes.c_int16),
arsdkparser.ArArgType.U16: (od.ARSDK_ARG_TYPE_U16, "u16", ctypes.c_uint16),
arsdkparser.ArArgType.I32: (od.ARSDK_ARG_TYPE_I32, "i32", ctypes.c_int32),
arsdkparser.ArArgType.U32: (od.ARSDK_ARG_TYPE_U32, "u32", ctypes.c_uint32),
arsdkparser.ArArgType.I64: (od.ARSDK_ARG_TYPE_I64, "i64", ctypes.c_int64),
arsdkparser.ArArgType.U64: (od.ARSDK_ARG_TYPE_U64, "u64", ctypes.c_uint64),
arsdkparser.ArArgType.FLOAT: (od.ARSDK_ARG_TYPE_FLOAT, "f32", ctypes.c_float),
arsdkparser.ArArgType.DOUBLE: (od.ARSDK_ARG_TYPE_DOUBLE, "f64", ctypes.c_double),
arsdkparser.ArArgType.STRING: (od.ARSDK_ARG_TYPE_STRING, "cstr", od.char_pointer_cast),
arsdkparser.ArArgType.ENUM: (od.ARSDK_ARG_TYPE_ENUM, "i32", ctypes.c_int32),
}
return arsdk_encode_type_info_map[ar_argtype]
示例8: c_int_array
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def c_int_array(data):
"""Get pointer of int numpy array / list."""
if is_1d_list(data):
data = np.array(data, copy=False)
if is_numpy_1d_array(data):
data = convert_from_sliced_object(data)
assert data.flags.c_contiguous
if data.dtype == np.int32:
ptr_data = data.ctypes.data_as(ctypes.POINTER(ctypes.c_int32))
type_data = C_API_DTYPE_INT32
elif data.dtype == np.int64:
ptr_data = data.ctypes.data_as(ctypes.POINTER(ctypes.c_int64))
type_data = C_API_DTYPE_INT64
else:
raise TypeError("Expected np.int32 or np.int64, met type({})"
.format(data.dtype))
else:
raise TypeError("Unknown type({})".format(type(data).__name__))
return (ptr_data, type_data, data) # return `data` to avoid the temporary copy is freed
示例9: __init_from_csc
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def __init_from_csc(self, csc, params_str, ref_dataset):
"""Initialize data from a CSC matrix."""
if len(csc.indices) != len(csc.data):
raise ValueError('Length mismatch: {} vs {}'.format(len(csc.indices), len(csc.data)))
self.handle = ctypes.c_void_p()
ptr_indptr, type_ptr_indptr, __ = c_int_array(csc.indptr)
ptr_data, type_ptr_data, _ = c_float_array(csc.data)
assert csc.shape[0] <= MAX_INT32
csc.indices = csc.indices.astype(np.int32, copy=False)
_safe_call(_LIB.LGBM_DatasetCreateFromCSC(
ptr_indptr,
ctypes.c_int(type_ptr_indptr),
csc.indices.ctypes.data_as(ctypes.POINTER(ctypes.c_int32)),
ptr_data,
ctypes.c_int(type_ptr_data),
ctypes.c_int64(len(csc.indptr)),
ctypes.c_int64(len(csc.data)),
ctypes.c_int64(csc.shape[0]),
c_str(params_str),
ref_dataset,
ctypes.byref(self.handle)))
return self
示例10: __inner_predict
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def __inner_predict(self, data_idx):
"""Predict for training and validation dataset."""
if data_idx >= self.__num_dataset:
raise ValueError("Data_idx should be smaller than number of dataset")
if self.__inner_predict_buffer[data_idx] is None:
if data_idx == 0:
n_preds = self.train_set.num_data() * self.__num_class
else:
n_preds = self.valid_sets[data_idx - 1].num_data() * self.__num_class
self.__inner_predict_buffer[data_idx] = np.zeros(n_preds, dtype=np.float64)
# avoid to predict many time in one iteration
if not self.__is_predicted_cur_iter[data_idx]:
tmp_out_len = ctypes.c_int64(0)
data_ptr = self.__inner_predict_buffer[data_idx].ctypes.data_as(ctypes.POINTER(ctypes.c_double))
_safe_call(_LIB.LGBM_BoosterGetPredict(
self.handle,
ctypes.c_int(data_idx),
ctypes.byref(tmp_out_len),
data_ptr))
if tmp_out_len.value != len(self.__inner_predict_buffer[data_idx]):
raise ValueError("Wrong length of predict results for data %d" % (data_idx))
self.__is_predicted_cur_iter[data_idx] = True
return self.__inner_predict_buffer[data_idx]
示例11: adapt_int_width
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def adapt_int_width(n, width, signed=True):
n = int(n)
if width == 1:
result = n
elif width == 2:
result = n
elif width == 4:
result = ctypes.c_int8(n).value if signed else ctypes.c_uint8(n).value
elif width == 8:
result = ctypes.c_int8(n).value if signed else ctypes.c_uint8(n).value
elif width == 16:
result = ctypes.c_int16(n).value if signed else ctypes.c_uint16(n).value
elif width == 32:
result = ctypes.c_int32(n).value if signed else ctypes.c_uint32(n).value
elif width == 64:
result = ctypes.c_int64(n).value if signed else ctypes.c_uint64(n).value
else:
result = n
return result
示例12: zone_write_double_values
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def zone_write_double_values(file_handle, zone, var, values):
tecio.tecZoneVarWriteDoubleValues.restype=ctypes.c_int32
tecio.tecZoneVarWriteDoubleValues.argtypes=(
ctypes.c_void_p, #file_handle
ctypes.c_int32, #zone
ctypes.c_int32, #var
ctypes.c_int32, #partition
ctypes.c_int64, #count
ctypes.POINTER(ctypes.c_double)) #values
values_ptr = (ctypes.c_double*len(values))(*values)
ret = tecio.tecZoneVarWriteDoubleValues(file_handle,
zone,
var,
0,
len(values),
values_ptr)
if ret != 0:
raise Exception("zone_write_double_values Error")
示例13: zone_write_float_values
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def zone_write_float_values(file_handle, zone, var, values):
tecio.tecZoneVarWriteFloatValues.restype=ctypes.c_int32
tecio.tecZoneVarWriteFloatValues.argtypes=(
ctypes.c_void_p, #file_handle
ctypes.c_int32, #zone
ctypes.c_int32, #var
ctypes.c_int32, #partition
ctypes.c_int64, #count
ctypes.POINTER(ctypes.c_float)) #values
values_ptr = (ctypes.c_float*len(values))(*values)
ret = tecio.tecZoneVarWriteFloatValues(file_handle,
zone,
var,
0,
len(values),
values_ptr)
if ret != 0:
raise Exception("zone_write_float_values Error")
示例14: zone_write_int32_values
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def zone_write_int32_values(file_handle, zone, var, values):
tecio.tecZoneVarWriteInt32Values.restype=ctypes.c_int32
tecio.tecZoneVarWriteInt32Values.argtypes=(
ctypes.c_void_p, #file_handle
ctypes.c_int32, #zone
ctypes.c_int32, #var
ctypes.c_int32, #partition
ctypes.c_int64, #count
ctypes.POINTER(ctypes.c_int32)) #values
values_ptr = (ctypes.c_int32*len(values))(*values)
ret = tecio.tecZoneVarWriteInt32Values(file_handle,
zone,
var,
0,
len(values),
values_ptr)
if ret != 0:
raise Exception("zone_write_int32_values Error")
示例15: zone_write_int16_values
# 需要导入模块: import ctypes [as 别名]
# 或者: from ctypes import c_int64 [as 别名]
def zone_write_int16_values(file_handle, zone, var, values):
tecio.tecZoneVarWriteInt16Values.restype=ctypes.c_int32
tecio.tecZoneVarWriteInt16Values.argtypes=(
ctypes.c_void_p, #file_handle
ctypes.c_int32, #zone
ctypes.c_int32, #var
ctypes.c_int32, #partition
ctypes.c_int64, #count
ctypes.POINTER(ctypes.c_int16)) #values
values_ptr = (ctypes.c_int16*len(values))(*values)
ret = tecio.tecZoneVarWriteInt16Values(file_handle,
zone,
var,
0,
len(values),
values_ptr)
if ret != 0:
raise Exception("zone_write_int16_values Error")