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

📄 timestamp.h

📁 vc写的SSE2优化离散余弦变换
💻 H
字号:
//***************************************************************************/
//*
//*                  Copyright (c) 1998-99 Intel Corporation.
//*                         All rights reserved.
//*
//***************************************************************************/
//
//////////////////////////////////////////////////////////////////////
//
// TimeStamp.h: interface for the CTimeStamp class.
//
//////////////////////////////////////////////////////////////////////


#ifndef __TIMESTAMP_H
#define __TIMESTAMP_H

#if _MSC_VER >= 1000	// compiler version check
#pragma once			// include this code only once in a build
#endif 

#ifndef DWORD
#define DWORD unsigned long
#endif

#ifndef BOOL
#define BOOL int
#define TRUE 1
#define FALSE 0
#endif

 
class CTimeStamp  
{
public:

	CTimeStamp( void ) 
	{
		startTime = stopTime = 0;
		bStarted = FALSE;
	}

	void start( void )	
	{	
		ReadTimeStamp( &startTime );	

		bStarted = TRUE;
	}

	__int64 stop( void )		
	{	
		if ( ! bStarted )
			return 0;

		bStarted = FALSE;

		ReadTimeStamp( &stopTime );	
		
		return( stopTime - startTime );
	}

	__int64 getRunTime( void )	
	{	
		if ( ! bStarted )
			return 0;

		ReadTimeStamp( &stopTime );

		return( stopTime - startTime );	
	}


private:

	__int64 startTime, stopTime;

	BOOL bStarted;

	void ReadTimeStamp( __int64 *pMem ) 
	{ 
		DWORD *pLow  = (DWORD *) pMem;
		DWORD *pHigh = pLow + 1;

		__asm	_emit 0x0f
		__asm	_emit 0x31
		__asm	mov		ecx,	pHigh
		__asm	mov		[ecx],	edx

		__asm	mov		ecx,	pLow
		__asm	mov		[ecx],	eax

	}

};

#endif // __TIMESTAMP_H

⌨️ 快捷键说明

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