len3d

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

I did some tests with the C compiler of Visual Studio 2008, the two methods of dot below made no difference in the generated assembly code:

 

 

typedef struct Vec {
    float x, y, z;
} Vec;

#define DOT(a, b) (a.x*b.x + a.y*b.y + a.z*b.z)

__forceinline float dot(const Vec *a, const Vec *b)
{
    return (a->x*b->x + a->y*b->y + a->z*b->z);

 

posted on 2012-11-06 14:15  Len3d  阅读(203)  评论(0编辑  收藏  举报