﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	severity	resolution	keywords	cc
11	動的リンクライブラリのサンプルプログラムを作成する	村山 俊之	村山 俊之	"「C++のためのAPIデザイン」 Sec.6.9「シンボルのエクスポート」に記述のある内容を修得するためのサンプルプログラムを作成する。

=== サンプルプログラムの内容 ===

==== 概要 ====

n次方程式の任意の x に対する y を求めるライブラリ。

==== 設計 ====

 * `Equation` クラス
   * `Equation(const double [] coeffs, size_t size)` ... コンストラクタ
     * `coeffs` ... (I) 係数セット。 y = x0 + x1 * x + x2 * x^2^ + ... といった式を想定し、次元の低い順に並べて指定する。例えば y = 2x^3^ + 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 座標値の配列。
"	タスク	accepted	通常	API開発手法習得	技術調査	極めて重大			
