rustyfit 0.4.1

This project hosts the Rust implementation for The Flexible and Interoperable Data Transfer (FIT) Protocol
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
const PI_RADIANS: f64 = (1 << 31) as f64;
const CONVERSION_FACTOR: f64 = 180.0 / PI_RADIANS;

/// Converts semicircles to degrees. It returns f64 invalid when value is invalid.
pub fn to_degrees(semicircles: i32) -> f64 {
    if semicircles == i32::MAX {
        return f64::from_bits(u64::MAX);
    }
    semicircles as f64 * CONVERSION_FACTOR
}

/// Converts degrees to semicircles. It returns i32 invalid when value is invalid.
pub fn to_semicircles(degrees: f64) -> i32 {
    if degrees.is_nan() || degrees.is_infinite() {
        return i32::MAX;
    }
    (degrees / CONVERSION_FACTOR) as i32
}