clampf

Crates.ioclampf
lib.rsclampf
version0.1.1
sourcesrc
created_at2018-08-01 12:38:26.238735
updated_at2018-08-01 15:24:40.904619
descriptionClamped floating-point types.
homepage
repositoryhttps://github.com/senet4er/clampf
max_upload_size
id76947
size10,398
(senet4er)

documentation

https://docs.rs/clampf

README

Clamped floating-point types.

Provides wrappers around floating-point values clamped to the range [0,1].

Example

Basic usage:

use clampf::Clamp32; // The `Clamp64` type is also available

#[derive(Debug)]
pub struct Color {
    red: Clamp32,   // A value in the range [0,1]
    green: Clamp32, // A value in the range [0,1]
    blue: Clamp32,  // A value in the range [0,1]
}

impl Color {
    pub fn new(red: f32, green: f32, blue: f32) -> Self {
        Color {
            // Check the `red` value
            red: Clamp32::new(red),
            // Check the `green` value
            green: Clamp32::new(green),
            // Check the `blue` value
            blue: Clamp32::new(blue),
        }
    }

    pub fn set_red(&mut self, red: f32) {
        // Check the `red` value
        self.red.set(red);
    }
}

Usage without the standard library

For usage without the standard library you need exclude the std feature. This can be done by editing Cargo.toml:

[dependencies.clampf]
version = "0.1"
default-features = false

or

[dependencies]
clampf = { version = "0.1", default-features = false }
Commit count: 0

cargo fmt