hikyuu2/hikyuu_cpp/hikyuu/KRecord.cpp

38 lines
1.2 KiB
C++

/*
* KRecord.cpp
*
* Created on: 2013-2-6
* Author: fasiondog
*/
#include "KRecord.h"
namespace hku {
HKU_API std::ostream& operator<<(std::ostream& os, const KRecord& record) {
string strip(", ");
os << std::fixed;
os.precision(4);
os << "KRecord(Datetime(" << record.datetime.number() << ")" << strip << record.openPrice
<< strip << record.highPrice << strip << record.lowPrice << strip << record.closePrice
<< strip << record.transAmount << strip << record.transCount << ")";
os.unsetf(std::ostream::floatfield);
os.precision();
return os;
}
bool HKU_API operator==(const KRecord& d1, const KRecord& d2) {
return (d1.datetime == d2.datetime && (std::fabs(d1.openPrice - d2.openPrice) < 0.0001) &&
(std::fabs(d1.highPrice - d2.highPrice) < 0.0001) &&
(std::fabs(d1.lowPrice - d2.lowPrice) < 0.0001) &&
(std::fabs(d1.closePrice - d2.closePrice) < 0.0001) &&
(std::fabs(d1.transAmount - d2.transAmount) < 0.0001) &&
(std::fabs(d1.transCount - d2.transCount) < 0.0001));
}
bool HKU_API operator!=(const KRecord& d1, const KRecord& d2) {
return !(d1 == d2);
}
} // namespace hku