double HLE::SystemVABI::VAListStruct::GetFPR(u32 fpr) const { if (!m_has_fpr_area || fpr < 1 || fpr > 8) { ERROR_LOG(OSHLE, "VAListStruct at %08x doesn't have FPR%d!", m_address, fpr); return 0.0; } const u32 fpr_address = Common::AlignUp(GetFPRArea() + 8 * (fpr - 1), 8); return PowerPC::HostRead_F64(fpr_address); }
double HLE::SystemVABI::VAListStruct::GetFPR(u32 fpr) const { double value = 0.0; if (!m_has_fpr_area || fpr < 1 || fpr > 8) { ERROR_LOG(OSHLE, "VAListStruct at %08x doesn't have FPR%d!", m_address, fpr); } else { const u32 fpr_address = Common::AlignUp(GetFPRArea() + 8 * (fpr - 1), 8); const u64 integral = PowerPC::HostRead_U64(fpr_address); std::memcpy(&value, &integral, sizeof(double)); } return value; }