/** * @brief AUTO-GENERATED by pygen.ipynb BUT editable by hand! * */ #include #include // provides std::fmod, std::fma and cast support namespace spider { // ── 0x060 — F2D: Float (f32) to Double (f64) ───────────────────────────── // Widening conversion — no precision is lost void CPU::F2D() { fetchOperDst(); _dst->_f64 = static_cast(_dst->_f32); (this->*_post)(); } // ── 0x061 — D2F: Double (f64) to Float (f32) ───────────────────────────── // Narrowing conversion — precision may be lost void CPU::D2F() { fetchOperDst(); _dst->_f32 = static_cast(_dst->_f64); (this->*_post)(); } // ── 0x062 — I2F: Integer (i32) to Float (f32) ──────────────────────────── void CPU::I2F() { fetchOperDst(); _dst->_f32 = static_cast(_dst->_u32); (this->*_post)(); } // ── 0x063 — I2D: Integer (i32) to Double (f64) ─────────────────────────── void CPU::I2D() { fetchOperDst(); _dst->_f64 = static_cast(_dst->_u32); (this->*_post)(); } // ── 0x064 — L2F: Long (i64) to Float (f32) ─────────────────────────────── void CPU::L2F() { fetchOperDst(); _dst->_f32 = static_cast(_dst->_u64); (this->*_post)(); } // ── 0x065 — L2D: Long (i64) to Double (f64) ────────────────────────────── void CPU::L2D() { fetchOperDst(); _dst->_f64 = static_cast(_dst->_u64); (this->*_post)(); } // ── 0x066 — F2I: Float (f32) to Integer (i32) ──────────────────────────── // Truncates toward zero void CPU::F2I() { fetchOperDst(); _dst->_u32 = static_cast(_dst->_f32); (this->*_post)(); } // ── 0x067 — F2L: Float (f32) to Long (i64) ─────────────────────────────── // Truncates toward zero void CPU::F2L() { fetchOperDst(); _dst->_u64 = static_cast(_dst->_f32); (this->*_post)(); } void CPU::D2I() { // TODO: Implement D2I } void CPU::D2L() { // TODO: Implement D2L } void CPU::SIN() { // TODO: Implement SIN } void CPU::COS() { // TODO: Implement COS } void CPU::TAN() { // TODO: Implement TAN } void CPU::ASIN() { // TODO: Implement ASIN } void CPU::ACOS() { // TODO: Implement ACOS } void CPU::ATAN() { // TODO: Implement ATAN } void CPU::ATAN2() { // TODO: Implement ATAN2 } void CPU::EXP() { // TODO: Implement EXP } void CPU::LOG() { // TODO: Implement LOG } void CPU::LOGAB() { // TODO: Implement LOGAB } void CPU::POW() { // TODO: Implement POW } void CPU::SQRT() { // TODO: Implement SQRT } void CPU::ROOT() { // TODO: Implement ROOT } void CPU::ADC() { // TODO: Implement ADC } void CPU::SWC() { // TODO: Implement SWC } void CPU::MWO() { // TODO: Implement MWO } void CPU::UMO() { // TODO: Implement UMO } }