基本的なC++コード(以下に含まれています)があります。 (math.hに含まれるcos関数を含む)発生するすべての乗算をカスタム命令で置き換えることができるようにしたい。私は自分のメインの中でカスタム命令を直接呼び出すことができますが、 'cos'は引き続き古い乗算命令を使用します。すべての乗算をカスタム命令に置き換える
私は演算子のオーバーロードを検討していましたが、この関数を正しく作成できませんでした。
#include <iostream>
#include <string>
#include <math.h>
int main()
{
int a = 2;
int b = 5;
std::cout << "mult: " << a * b << std::endl;
std::cout << "cos: " << cos(b) << std::endl;
return 0;
}
私が望むようにこのカスタム命令を実装するのに最適な方法は何ですか?
私は*なぜ*あなたがこれをやりたいのですか? (PS:あなたが望むものは不可能だと確信しています。演算子のオーバーロードは基底型のためには機能しません。したがって、あなたがコントロールするカスタム型を使用するコード全体をリファクタリングしない限り...) – Borgleader
NIOSIIは浮動小数点ハードウェア乗算。ハードウェアを導入しているので、私のcos計算も高速化したいと思っています。私は現在カスタム命令を持っていますので、 'a * b'を' custom_instruction(a、b) 'として実行できますが、cosがmath.hライブラリ内にあるので、それらの乗算を変更することはできません –
あなたのコンパイラが使っている 'std :: cos'のバージョンは?コンパイラのソースにアクセスできますか?あなたの 'custom_instruction(a、b)'を使用するのはソフトウェアを掛けたほうが簡単で、プログラムを実際には変更しない方が簡単かもしれません – Caleth