//! Float Instructions

use crate::{MacroAssembler, Result};

impl MacroAssembler {
    /// Maximum of two values
    pub fn _max(&mut self) -> Result<()> {
        todo!()
    }

    /// Minimum of two values
    pub fn _min(&mut self) -> Result<()> {
        todo!()
    }

    /// Ceiling operator
    pub fn _ceil(&mut self) -> Result<()> {
        todo!()
    }

    /// Floor operator
    pub fn _floor(&mut self) -> Result<()> {
        todo!()
    }

    /// Round to nearest integer, ties to even.
    pub fn _nearest(&mut self) -> Result<()> {
        todo!()
    }

    /// Square root
    pub fn _sqrt(&mut self) -> Result<()> {
        todo!()
    }

    /// Absolute value
    pub fn _abs(&mut self) -> Result<()> {
        todo!()
    }

    /// Negation
    pub fn _neg(&mut self) -> Result<()> {
        todo!()
    }

    /// If z1 and z2 have the same sign, return z1, otherwise
    /// return z1 with negated sign.
    pub fn _copysign(&mut self) -> Result<()> {
        todo!()
    }

    /// Convert a signed 32-bit integer to a (32-bit/64-bit) float
    pub fn _convert_i32_s(&mut self) -> Result<()> {
        todo!()
    }

    /// Convert an unsigned 32-bit integer to a (32-bit/64-bit) float
    pub fn _convert_i32_u(&mut self) -> Result<()> {
        todo!()
    }

    /// Convert a signed 32-bit integer to a (32-bit/64-bit) float
    pub fn _convert_i64_s(&mut self) -> Result<()> {
        todo!()
    }

    /// Convert a unsigned 32-bit integer to a (32-bit/64-bit) float
    pub fn _convert_i64_u(&mut self) -> Result<()> {
        todo!()
    }

    /// Round to nearest integer towards zero
    pub fn _trunc(&mut self) -> Result<()> {
        todo!()
    }
}