⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 datatype_memcpy.h

📁 MPI stands for the Message Passing Interface. Written by the MPI Forum (a large committee comprising
💻 H
字号:
/* -*- Mode: C; c-basic-offset:4 ; -*- *//* * Copyright (c) 2004-2006 The University of Tennessee and The University *                         of Tennessee Research Foundation.  All rights *                         reserved. * $COPYRIGHT$ * * Additional copyrights may follow * * $HEADER$ */#ifndef DATATYPE_MEMCPY_H_HAS_BEEN_INCLUDED#define DATATYPE_MEMCPY_H_HAS_BEEN_INCLUDEDextern void* mmx_memcpy( void* dst, const void* src, size_t n );extern void* mmx2_memcpy( void* dst, const void* src, size_t n );extern void* sse_memcpy( void* dst, const void* src, size_t n );/* for small memory blocks (<256 bytes) this version is faster */#define small_memcpy(to,from,n)                                   \{                                                                 \    register unsigned long int dummy;                             \    void *_dst = (to);                                            \    const void *_src = (from);                                    \    __asm__ __volatile__( "rep; movsb"                            \                          :"=&D"(_dst), "=&S"(_src), "=&c"(dummy) \                          :"0" (_dst), "1" (_src),"2" (n)         \                          : "memory");                            \}#define MEMCPY( DST, SRC, BLENGTH ) \    memcpy( (DST), (SRC), (BLENGTH) )#if 0#define MEMCPY( DST, SRC, BLENGTH ) \do { \    if( 128 > (BLENGTH) ) { \        small_memcpy( (DST), (SRC), (BLENGTH) ); \    } else if( (64*1024-100) > (BLENGTH) ) { \        mmx_memcpy( (DST), (SRC), (BLENGTH) ); \    } else {\        mmx2_memcpy( (DST), (SRC), (BLENGTH) ); \    } \} while (0)#endif#endif  /* DATATYPE_MEMCPY_H_HAS_BEEN_INCLUDED */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -