Open1

インラインアセンブラの記述メモ。

MachiaWorksMachiaWorks

何に使ったんだ

4k intro用のシンセ作るのに使ってる。

/*
	サイン関数をアセンブラで書いたもの。
*/
__forceinline float msinf(float x) {
	__asm {
		fld		dword ptr[x]
		fsin
	}
}
/*
	コサイン関数をアセンブラで書いたもの。
*/

__forceinline float mcosf(float x) {
	__asm {
		fld		dword ptr[x]
		fcos
	}
}

ただ、どうもfsincosって関数もあるみたい。

参考
http://cppdiary.blog76.fc2.com/blog-entry-52.html

変数で制御して戻り値をどちらかにできればベストな気がしてる。
(構造体定義するのはできるだけ避けたいので)