問題タブ [cmath]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - std :: sin()およびstd :: cos()がsin()およびcos()よりも遅いのはなぜですか?
テストコード:
時間は次のとおりです。
を追加した後using namespace std;
、時間は次のとおりです。
コンパイラ:
組み立て:
visual-studio - Visual Studio 2010 (ANSI C) でのビルド時に cmath が構文エラーを生成する
純粋な ANSI C を少し実行する必要があり、Visual Studio 2010 で実行しようとしています。問題は次のとおりです。コンパイラを純粋な C に設定し、\Za コンパイラ スイッチを切り替えて Windows 拡張機能を無効にしても、コードはコンパイルされません。
これは Test.c というファイルにあります - プリコンパイルされたヘッダーはなく、すべて問題ないはずですが、これはコンパイラが吐き出すものです:
私はVSとCの経験が豊富ではありませんが、周りを見回しましたが、何もうまくいかないようです。ばかげたことになると思います。前もって感謝します
(注: この同じエラーは、数学ライブラリへの参照がまったくない場合に発生します)
c++ - C++ 数学ライブラリの三角関数からの誤った結果
私は現在、ほぼ 1 年間行ってきた個人的なプロジェクトに取り組んでいます。Windows 環境に移植しようとしていますが、成功しています。私はすぐに Windows バージョンを人々に提供しようとしているので、新しい機能を追加したり、何ヶ月も前から存在していたバグを見つけたりしながら、Windows で開発を続けることにしました。最近、三角法に大きく依存する機能を追加しようとしたときに、奇妙なことに、渡したパラメーターに関係なく、3 つの三角関数すべてが同じ値 (1072693887) を返すことがわかりました。ご想像のとおり、これはシステムにかなり奇妙なバグを引き起こしています。
math.h が含まれていますが、私の知る限り、この関数を含む他のファイルはありません。(おそらく、シンボルが定義されている場所を見つけるためのデバッガー コマンドがありますか? 私はそのようなものを見つけることができませんでしたが、おそらく何かを見逃していました。) 他の場所で質問したり、Google で検索したりしましたが、役に立ちませんでした...
他の誰かが以前にこの問題について聞いたことがありますか、またはそれを修正する方法を知っていますか?
c++ - C++での数学インターフェースとcMath
POSIX数学ライブラリ用のビルドシステムMacOS10.6.3のインターフェイスはmath.hですが、ターゲットシステムのインターフェイスファイルの名前はcmath.hです。学校ではcmathを使用していますが、プロジェクトが提出されたときに確実にコンパイルされるようにしたいと思います。これはどのように実現されますか。学校のサーバーとワークステーションは、WindowsXPを実行しているx86です。GCCは両方のプラットフォームで利用できます。
android - 使用時のビルドの問題アンドロイドndkで
stlTest2.cpp
次のような単純なファイルがあります。
私が移植しているいくつかのコードには、もっと複雑なものがあります。私の質問はこれです。NDK の外部で GCC を使用してビルドする場合にこれが機能するのに、NDK を使用すると機能しないのはなぜですか? それが与えるエラーはこれです:
これの直接的な理由は、math.h
( 経由でインクルードされた)がマクロとして<cmath>
定義されていることです。isnan
ndk の外側のビルドに#define
frommath.h
が含まれていないのはなぜですか? コード内のインクルードをコメントアウトすると、すべて問題ありませんが、この問題が繰り返されるため、それは受け入れられません....たくさん。
c++ - `からテンプレートがありません`VS2010のヘッダー
Visual Studio2010に付属しているc++標準ライブラリのバージョンから、ヘッダーのc++11標準[26.8c.math]で指定されたテンプレートが欠落していることに気づきました。<cmath>
特にstd::signbitを探していましたが、msdnを検索すると、出荷されたヘッダー(つまり、「古い」C名のみをインポートする一連のusingディレクティブ)に表示されているものが確認されました。この標準からの逸脱について読んだことを思い出せませんでした。また、msdnのドキュメントで明示的に指摘されていません。
不足している機能を取得するための最良の回避策は何ですか?
Visual Studioの将来のリリースでこれを修正することについての公式のコミュニケーションはありますか?
編集 私が参照していた標準のバージョンは古くなっているので、不完全であるという私の主張は狙いを定めていません。signbitはまだありませんが、テンプレートではなく、オーバーロードされた関数です。明確化してくれた@Xeoに感謝します。
c++ - 多くの記号式を x^2 または x^3 から pow(x,n) に変換します
C++ プログラムにコピーしたいパワー シンボルを含むシンボリック式がたくさんあります。^
ただし、C では使用されないパワー シンボルがあります。変更を迅速に行うためのアドバイスはありますか? i can make gcc to see ^
asの正規表現を使用する必要がありpow()
ますか?
c++ - C標準ライブラリなしで任意の数のログを見つけるためのより良い方法はありますか?
を使用せずに、任意の数の対数と任意の基数の任意の数の対数を計算するプログラムを作成する必要がありますcmath
。べき級数方程式法を使用してプロトタイププログラムを作成することに成功しましたが、数のチェックも作成する必要があります。私の家庭教師は、数が10を超える場合は、その数を最大値の10から分離しx
、対数を次のように計算すると言いましたlog(x) + log(y)
。ここx
で、は1から10までの数で、y
は10x
です。
私は1000までの数でそれを書きましたが、使用するプログラムcmath
は10 208までそれをします、そしてそれで私はログを計算するより効率的な方法があるのだろうかと思いましたか?
c++ - ライブラリで定数変数piを定義する
だから私はライブラリを書いていて、piの値を持つ定数を定義したいと思います。static const float pi=3.14を定義することを考えていました。pi.hファイル内。
ただし、ヘッダーファイルで変数を定義するべきではないことを読んだので、それがその方法ではないとほぼ確信しています。
私が考えたもう1つの方法は、円周率の値を返すインライン関数を宣言することでしたが、それを操作するのは厄介です。
別の方法(私は思う)は、それをpi.ccに入れてライブラリにコンパイルし、extern static constfloatpiを使用することです。piを使用しているファイルでは、もちろんそれらのファイルをライブラリにリンクします。
これを行うための最良の方法は何ですか?標準ライブラリはおそらくマクロを定義しますが、定数の方が良いと思います。