using std::pow;
using std::map;
+using boost::shared_ptr;
using namespace dcp;
+TransferFunction::TransferFunction (bool inverse)
+ : _inverse (inverse)
+{
+
+}
+
TransferFunction::~TransferFunction ()
{
- for (map<int, float*>::const_iterator i = _luts.begin(); i != _luts.end(); ++i) {
+ for (map<int, double*>::const_iterator i = _luts.begin(); i != _luts.end(); ++i) {
delete[] i->second;
}
_luts.clear ();
}
-float const *
+double const *
TransferFunction::lut (int bit_depth) const
{
- map<int, float*>::const_iterator i = _luts.find (bit_depth);
+ map<int, double*>::const_iterator i = _luts.find (bit_depth);
if (i != _luts.end ()) {
return i->second;
}
_luts[bit_depth] = make_lut (bit_depth);
return _luts[bit_depth];
}
+
+bool
+TransferFunction::about_equal (shared_ptr<const TransferFunction> other, double) const
+{
+ return _inverse == other->_inverse;
+}