Files
pytorch/lib/TH/generic/THStorageCopy.c
2012-01-25 14:55:20 +01:00

37 lines
920 B
C

#ifndef TH_GENERIC_FILE
#define TH_GENERIC_FILE "generic/THStorageCopy.c"
#else
void THStorage_(rawCopy)(THStorage *storage, real *src)
{
long i;
for(i = 0; i < storage->size; i++)
storage->data[i] = src[i];
}
void THStorage_(copy)(THStorage *storage, THStorage *src)
{
THArgCheck(storage->size == src->size, 2, "size mismatch");
THStorage_(rawCopy)(storage, src->data);
}
#define IMPLEMENT_THStorage_COPY(TYPENAMESRC) \
void THStorage_(copy##TYPENAMESRC)(THStorage *storage, TH##TYPENAMESRC##Storage *src) \
{ \
long i; \
THArgCheck(storage->size == src->size, 2, "size mismatch"); \
for(i = 0; i < storage->size; i++) \
storage->data[i] = (real)src->data[i]; \
}
IMPLEMENT_THStorage_COPY(Byte)
IMPLEMENT_THStorage_COPY(Char)
IMPLEMENT_THStorage_COPY(Short)
IMPLEMENT_THStorage_COPY(Int)
IMPLEMENT_THStorage_COPY(Long)
IMPLEMENT_THStorage_COPY(Float)
IMPLEMENT_THStorage_COPY(Double)
#endif