2 Commits

View File

@@ -70,63 +70,96 @@ namespace spider {
} }
void CPU::D2I() { void CPU::D2I() {
// TODO: Implement D2I fetchOperDst();
_dst->_u32 = static_cast<u32>(_dst->_f64);
(this->*_post)();
} }
void CPU::D2L() { void CPU::D2L() {
// TODO: Implement D2L fetchOperDst();
_dst->_u64 = static_cast<u64>(_dst->_f64);
(this->*_post)();
} }
void CPU::SIN() { void CPU::SIN() {
// TODO: Implement SIN fetchOperDst();
_dst->_f64 = std::sin(_dst->_f64);
(this->*_post)();
} }
void CPU::COS() { void CPU::COS() {
// TODO: Implement COS fetchOperDst();
_dst->_f64 = std::cos(_dst->_f64);
(this->*_post)();
} }
void CPU::TAN() { void CPU::TAN() {
// TODO: Implement TAN fetchOperDst();
_dst->_f64 = std::tan(_dst->_f64);
(this->*_post)();
} }
void CPU::ASIN() { void CPU::ASIN() {
// TODO: Implement ASIN fetchOperDst();
_dst->_f64 = std::asin(_dst->_f64);
(this->*_post)();
} }
void CPU::ACOS() { void CPU::ACOS() {
// TODO: Implement ACOS fetchOperDst();
_dst->_f64 = std::acos(_dst->_f64);
(this->*_post)();
} }
void CPU::ATAN() { void CPU::ATAN() {
// TODO: Implement ATAN fetchOperDst();
_dst->_f64 = std::atan(_dst->_f64);
(this->*_post)();
} }
void CPU::ATAN2() { void CPU::ATAN2() {
// TODO: Implement ATAN2 fetchOperDst();
fetchOperSrc();
_dst->_f64 = std::atan2(_dst->_f64, _src->_f64);
(this->*_post)();
} }
void CPU::EXP() { void CPU::EXP() {
// TODO: Implement EXP fetchOperDst();
_dst->_f64 = std::exp(_dst->_f64);
(this->*_post)();
} }
void CPU::LOG() { void CPU::LOG() {
// TODO: Implement LOG fetchOperDst();
_dst->_f64 = std::log(_dst->_f64);
(this->*_post)();
} }
void CPU::LOGAB() { void CPU::LOGAB() {
// TODO: Implement LOGAB fetchOperDst();
fetchOperSrc();
_dst->_f64 = std::log(_dst->_f64) / std::log(_src->_f64);
(this->*_post)();
} }
void CPU::POW() { void CPU::POW() {
// TODO: Implement POW fetchOperDst();
fetchOperSrc();
_dst->_f64 = std::pow(_dst->_f64, _src->_f64);
(this->*_post)();
} }
void CPU::SQRT() { void CPU::SQRT() {
// TODO: Implement SQRT fetchOperDst();
_dst->_f64 = std::sqrt(_dst->_f64);
(this->*_post)();
} }
void CPU::ROOT() { void CPU::ROOT() {
// TODO: Implement ROOT fetchOperDst();
fetchOperSrc();
_dst->_f64 = std::pow(_dst->_f64, 1.0 / _src->_f64);
} }
void CPU::ADC() { void CPU::ADC() {