/*!
This module defines a smattering of constants used in Jiff.
*/

#![allow(missing_docs)]

pub const DAYS_PER_CIVIL_WEEK: i64 = 7;
pub const HOURS_PER_CIVIL_DAY: i64 = 24;
pub const MINS_PER_CIVIL_DAY: i64 = HOURS_PER_CIVIL_DAY * MINS_PER_HOUR;
pub const MINS_PER_HOUR: i64 = 60;
pub const SECS_PER_CIVIL_WEEK: i64 = DAYS_PER_CIVIL_WEEK * SECS_PER_CIVIL_DAY;
pub const SECS_PER_CIVIL_DAY: i64 = HOURS_PER_CIVIL_DAY * SECS_PER_HOUR;
pub const SECS_PER_HOUR: i64 = SECS_PER_MIN * MINS_PER_HOUR;
pub const SECS_PER_MIN: i64 = 60;
pub const MILLIS_PER_CIVIL_DAY: i64 = SECS_PER_CIVIL_DAY * MILLIS_PER_SEC;
pub const MILLIS_PER_SEC: i64 = 1_000;
pub const MICROS_PER_CIVIL_DAY: i64 = SECS_PER_CIVIL_DAY * MICROS_PER_SEC;
pub const MICROS_PER_SEC: i64 = MILLIS_PER_SEC * MICROS_PER_MILLI;
pub const MICROS_PER_MILLI: i64 = 1_000;
pub const NANOS_PER_CIVIL_DAY: i64 = HOURS_PER_CIVIL_DAY * NANOS_PER_HOUR;
pub const NANOS_PER_HOUR: i64 = MINS_PER_HOUR * NANOS_PER_MIN;
pub const NANOS_PER_MIN: i64 = SECS_PER_MIN * NANOS_PER_SEC;
pub const NANOS_PER_SEC: i64 = MILLIS_PER_SEC * NANOS_PER_MILLI;
pub const NANOS_PER_MILLI: i64 = MICROS_PER_MILLI * NANOS_PER_MICRO;
pub const NANOS_PER_MICRO: i64 = 1_000;

pub const DAYS_PER_CIVIL_WEEK_32: i32 = 7;
pub const HOURS_PER_CIVIL_DAY_32: i32 = 24;
pub const MINS_PER_HOUR_32: i32 = 60;
pub const SECS_PER_CIVIL_DAY_32: i32 =
    HOURS_PER_CIVIL_DAY_32 * SECS_PER_HOUR_32;
pub const SECS_PER_HOUR_32: i32 = SECS_PER_MIN_32 * MINS_PER_HOUR_32;
pub const SECS_PER_MIN_32: i32 = 60;
pub const MILLIS_PER_SEC_32: i32 = 1_000;
pub const MICROS_PER_MILLI_32: i32 = 1_000;
pub const NANOS_PER_SEC_32: i32 = MILLIS_PER_SEC_32 * NANOS_PER_MILLI_32;
pub const NANOS_PER_MILLI_32: i32 = MICROS_PER_MILLI_32 * NANOS_PER_MICRO_32;
pub const NANOS_PER_MICRO_32: i32 = 1_000;
