Opened 9 years ago
Last modified 9 years ago
#11 accepted タスク
動的リンクライブラリのサンプルプログラムを作成する
Reported by: | 村山 俊之 | Owned by: | 村山 俊之 |
---|---|---|---|
Priority: | 通常 | Milestone: | API開発手法習得 |
Component: | 技術調査 | Severity: | 極めて重大 |
Keywords: | Cc: |
Description (last modified by )
「C++のためのAPIデザイン」 Sec.6.9「シンボルのエクスポート」に記述のある内容を修得するためのサンプルプログラムを作成する。
サンプルプログラムの内容
概要
n次方程式の任意の x に対する y を求めるライブラリ。
設計
Equation
クラスEquation(const double [] coeffs, size_t size)
... コンストラクタcoeffs
... (I) 係数セット。 y = x0 + x1 * x + x2 * x2 + ... といった式を想定し、次元の低い順に並べて指定する。例えば y = 2x3 + x のような式にしたい場合、{ 0, 1, 0, 2 }
を渡す。size
... (I)coeffs
の大きさを指示する。
Equation(std::const_iterator<double> coeff_st, std::const_iterator<double> coeff_ed)
... コンストラクタcoeff_st
,coeff_ed
... (I) 係数セットの範囲を示すイテレータ。
double calc(double x) const
... 指定した位置の値を求める。x
... (I) Y 座標値を求める X 座標値。- 戻り値 ... 対応する Y 座標値。
std::vector<double> calc(double x1, double x2, double step) const
... 指定した範囲の値を求める。x1
,x2
... (I) Y 座標値を求める X 座標値の範囲。 x1 <= n <= x2 の範囲で求める。x1
,x2
の大小関係が逆の場合、入れ替えて評価する。
step
... (I) X 座標値の粒度。 たとえばauto result = e.calc(-1, 1, 0.1)
とした場合、result
には -1 から 1 までの範囲を 0.1 刻みで求めた 21 個の値の配列が格納される。- 戻り値 ... 対応する範囲における Y 座標値の配列。
Change History (5)
comment:1 by , 9 years ago
Status: | new → accepted |
---|
comment:2 by , 9 years ago
Description: | modified (diff) |
---|
comment:3 by , 9 years ago
Description: | modified (diff) |
---|
comment:5 by , 9 years ago
Description: | modified (diff) |
---|
Note:
See TracTickets
for help on using tickets.
どんなライブラリにするかという話なのですが…
やっぱり配列を受け取って Windows Wave 形式のオーディオファイルを出力するライブラリとかがいいかなと。