Skip to content

Commit c5114e5

Browse files
committed
Merge #76
76: Change dependency `num` to `num_traits` to shrink dependency tree r=Ogeon a=LukasKalbertodt This crate only uses traits from the `num` crate. These traits live in their own crate called `num_traits` which has way fewer dependencies. By default, `num` pulls all its children crates such as `num-bigint` in. This in turn brings some heavy crates such as `rand` into the dependency tree. I tried to use this crate in a wasm project and `rand` currently doesn't compile for the new wasm target. That's the way I found out. Changing dependencies like that is probably a breaking change? Or is it? Since `num` in turn had `num_traits` as a dependency? Maybe it's fine... Btw: awesome crate :)
2 parents f4b0c73 + 7ac4c47 commit c5114e5

30 files changed

+35
-35
lines changed

Cargo.toml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ named = []
2121
strict = []
2222

2323
[dependencies]
24-
num = "0.1"
24+
num-traits = "0.1"
2525
approx = "0.1"
2626

2727
[dependencies.phf]

examples/readme_examples.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
extern crate image;
22
extern crate palette;
3-
extern crate num;
3+
extern crate num_traits;
44

55
use image::{RgbImage, GenericImage};
66

src/alpha.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::ops::{Deref, DerefMut, Add, Sub, Mul, Div};
22

3-
use num::Float;
3+
use num_traits::Float;
44

55
use approx::ApproxEq;
66

@@ -34,7 +34,7 @@ impl<C, T: Float> DerefMut for Alpha<C, T> {
3434

3535
impl<C: Mix> Mix for Alpha<C, C::Scalar> {
3636
type Scalar = C::Scalar;
37-
37+
3838
fn mix(&self, other: &Alpha<C, C::Scalar>, factor: C::Scalar) -> Alpha<C, C::Scalar> {
3939
Alpha {
4040
color: self.color.mix(&other.color, factor),

src/blend/blend.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::{Float, One, Zero};
1+
use num_traits::{Float, One, Zero};
22

33
use {ComponentWise, clamp, flt};
44
use blend::{PreAlpha, BlendFunction};

src/blend/equations.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use {ComponentWise, Blend};
44
use blend::{PreAlpha, BlendFunction};

src/blend/pre_alpha.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
use std::ops::{Add, Sub, Mul, Div, Deref, DerefMut};
22
use approx::ApproxEq;
3-
use num::Float;
3+
use num_traits::Float;
44

55
use {Alpha, ComponentWise, Mix, Blend, clamp};
66

@@ -86,7 +86,7 @@ impl<C, T> Blend for PreAlpha<C, T> where
8686

8787
impl<C: Mix> Mix for PreAlpha<C, C::Scalar> {
8888
type Scalar = C::Scalar;
89-
89+
9090
fn mix(&self, other: &PreAlpha<C, C::Scalar>, factor: C::Scalar) -> PreAlpha<C, C::Scalar> {
9191
PreAlpha {
9292
color: self.color.mix(&other.color, factor),

src/chromatic_adaptation.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
//!//Should print {x: 0.257963, y: 0.139776,z: 0.058825}
2323
//!println!("{:?}", c)
2424
//!```
25-
use num::Float;
25+
use num_traits::Float;
2626

2727
use {Xyz, FromColor, IntoColor, flt};
2828
use white_point::WhitePoint;

src/convert.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use {Alpha, Rgb, Luma, Xyz, Yxy, Lab, Lch, Hsv, Hwb, Hsl, Color};
44
use white_point::{WhitePoint, D65};

src/equality.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22
use approx::ApproxEq;
33

44
use {Xyz, Yxy, Lab, Lch, Rgb, Hsl, Hsv, Hwb, Luma, LabHue, RgbHue, flt};

src/gradient.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//!Types for interpolation between multiple colors.
22
3-
use num::{Float, One, Zero};
3+
use num_traits::{Float, One, Zero};
44
use std::cmp::max;
55
use approx::ApproxEq;
66

src/hsl.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub};
44
use std::marker::PhantomData;

src/hsv.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub};
44
use std::marker::PhantomData;

src/hues.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::f64::consts::PI;
44
use std::cmp::PartialEq;

src/hwb.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub};
44
use std::marker::PhantomData;

src/lab.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub, Mul, Div};
44
use std::marker::PhantomData;

src/lch.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub};
44
use std::marker::PhantomData;

src/lib.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -46,12 +46,12 @@
4646
#[cfg_attr(test, macro_use)]
4747
extern crate approx;
4848

49-
extern crate num;
49+
extern crate num_traits;
5050

5151
#[cfg(feature = "phf")]
5252
extern crate phf;
5353

54-
use num::{Float, ToPrimitive, NumCast};
54+
use num_traits::{Float, ToPrimitive, NumCast};
5555

5656
use approx::ApproxEq;
5757

@@ -692,6 +692,6 @@ pub trait ComponentWise {
692692
}
693693

694694
///A convenience function to convert a constant number to Float Type
695-
fn flt<T: num::Float, P: ToPrimitive>(prim: P) -> T {
695+
fn flt<T: num_traits::Float, P: ToPrimitive>(prim: P) -> T {
696696
NumCast::from(prim).unwrap()
697697
}

src/luma.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub, Mul, Div};
44
use std::marker::PhantomData;

src/matrix.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
//!This module provides simple matrix operations on 3x3 matrix to aid in chromatic adaptation and
22
//!conversion calculations.
33
4-
use num::Float;
4+
use num_traits::Float;
55

66
use std::marker::PhantomData;
77

src/pixel/gamma_rgb.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::marker::PhantomData;
44

src/pixel/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
//!Pixel encodings and pixel format conversion.
22
3-
use num::Float;
3+
use num_traits::Float;
44

55
use {clamp, flt};
66

src/pixel/srgb.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::marker::PhantomData;
44

src/rgb.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub, Mul, Div};
44
use std::marker::PhantomData;

src/rgb_primaries.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
//!This module defines the red, blue and green primaries for the common Rgb color spaces
2-
use num::Float;
2+
use num_traits::Float;
33

44

55
use {Yxy, Xyz, Rgb, IntoColor};

src/white_point.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
//!unacceptable results when attempting to color-correct a photograph taken with incandescent lighting.
77
88

9-
use num::Float;
9+
use num_traits::Float;
1010

1111
use {Xyz, flt};
1212

@@ -17,7 +17,7 @@ use {Xyz, flt};
1717
///"white" in image capture, encoding, or reproduction.
1818
///
1919
///Custom white points can be easily defined on an empty struct with the tristimulus values
20-
///and can be used in place of the ones defined in this library.
20+
///and can be used in place of the ones defined in this library.
2121
pub trait WhitePoint<T: Float>: Sized {
2222
///Get the Xyz chromacity co-ordinates for the white point.
2323
fn get_xyz() -> Xyz<Self, T>;

src/xyz.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub, Mul, Div};
44
use std::marker::PhantomData;

src/yxy.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
use num::Float;
1+
use num_traits::Float;
22

33
use std::ops::{Add, Sub, Mul, Div};
44
use std::marker::PhantomData;

tests/color_checker.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extern crate approx;
33
#[macro_use]
44
extern crate lazy_static;
5-
extern crate num;
5+
extern crate num_traits;
66
#[macro_use]
77
extern crate serde_derive;
88
extern crate serde;

tests/pointer_convert.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
extern crate approx;
33
#[macro_use]
44
extern crate lazy_static;
5-
extern crate num;
5+
extern crate num_traits;
66
#[macro_use]
77
extern crate serde_derive;
88
extern crate serde;

tests/pointer_dataset/pointer_data.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ u', v' 0.2008907213 0.4608888395
1111
Note: The xyz and yxy conversions do not use the updated conversion formula. So they are not used.
1212
*/
1313

14-
use num::{Float, ToPrimitive, NumCast};
14+
use num_traits::{Float, ToPrimitive, NumCast};
1515
use csv;
1616
use palette::{Xyz, Lch, Lab, IntoColor};
1717
use palette::white_point::WhitePoint;

0 commit comments

Comments
 (0)