return do_set_operation (other, SetIntersection);
}
-boost::shared_ptr<ExportFormatBase>
-ExportFormatBase::get_difference (ExportFormatBase const & other) const
-{
- return do_set_operation (other, SetDifference);
-}
-
boost::shared_ptr<ExportFormatBase>
ExportFormatBase::get_union (ExportFormatBase const & other) const
{
case SetIntersection:
std::set_intersection (start1, end1, start2, end2, insert);
break;
- case SetDifference:
- std::set_difference (start1, end1, start2, end2, insert);
- break;
case SetUnion:
std::set_union (start1, end1, start2, end2, insert);
break;
case SetIntersection:
std::set_intersection (start1, end1, start2, end2, insert);
break;
- case SetDifference:
- std::set_difference (start1, end1, start2, end2, insert);
- break;
case SetUnion:
std::set_union (start1, end1, start2, end2, insert);
break;
case SetIntersection:
std::set_intersection (start1, end1, start2, end2, insert);
break;
- case SetDifference:
- std::set_difference (start1, end1, start2, end2, insert);
- break;
case SetUnion:
std::set_union (start1, end1, start2, end2, insert);
break;
case SetIntersection:
std::set_intersection (start1, end1, start2, end2, insert);
break;
- case SetDifference:
- std::set_difference (start1, end1, start2, end2, insert);
- break;
case SetUnion:
std::set_union (start1, end1, start2, end2, insert);
break;
case SetIntersection:
std::set_intersection (start1, end1, start2, end2, insert);
break;
- case SetDifference:
- std::set_difference (start1, end1, start2, end2, insert);
- break;
case SetUnion:
std::set_union (start1, end1, start2, end2, insert);
break;
int diff = 0;
int smallest_diff = INT_MAX;
SampleRate best_match = SR_None;
-
+
#define DO_SR_COMPARISON(rate) \
- diff = std::abs((rate) - sample_rate); \
+ diff = std::fabs((double)((rate) - sample_rate)); \
if(diff < smallest_diff) { \
smallest_diff = diff; \
best_match = (rate); \
}
- DO_SR_COMPARISON(SR_22_05);
+ DO_SR_COMPARISON(SR_8);
DO_SR_COMPARISON(SR_22_05);
DO_SR_COMPARISON(SR_44_1);
DO_SR_COMPARISON(SR_48);
DO_SR_COMPARISON(SR_88_2);
DO_SR_COMPARISON(SR_96);
DO_SR_COMPARISON(SR_192);
-
+
return best_match;
#undef DO_SR_COMPARISON
}