<commit_before>{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Behave.Units (
    module Export
  , FuelLoad
  , SaToVolRatio
  , HeatOfCombustion
  , HeatPerUnitArea
  , ReactionVelocity
  , Ratio
  , Length
  , Dimensionless
  , Fraction
  , Moisture
  , TotalMineralContent
  , EffectiveMineralContent
  , Speed
  , ByramsIntensity
  , RateOfSpread
  , Azimuth
  , ReactionIntensity
  , lbSqFt
  , lbCuFt
  , btu
  , btuLb
  , btuFtSec
  , btuSqFtMin
  , btuSqFt
  , perFoot
  , footMin
  , one
  , _0
  , _1
  , (*~)
  , (/~)
) where

import           Numeric.Units.Dimensional.DK
import           Numeric.Units.Dimensional.DK.Vector ()
import           Numeric.Units.Dimensional.DK.Prelude
import           Numeric.Units.Dimensional.DK.NonSI as Export
import           Numeric.Units.Dimensional.DK.SIUnits as Export
import           Numeric.Units.Dimensional.DK.Quantities as Export
import           Numeric.NumType.DK.Integers (TypeInt(..))
import           Unsafe.Coerce (unsafeCoerce)
import qualified Data.Vector.Unboxed as U

{-
    1. Lóngitud
    2. Masa
    3. Tiempo
    4. Corriente eléctrica
    5. Temperatura termodinámica
    6. Cantidad de substancia
    7. Intensidad lumínica
-}
type DFuelLoad              = 'Dim 'Neg2 'Pos1 'Zero 'Zero 'Zero 'Zero 'Zero
type DSaToVolRatio          = 'Dim 'Neg1 'Zero 'Zero 'Zero 'Zero 'Zero 'Zero
type DHeatOfCombustion      = 'Dim 'Pos2 'Zero 'Neg2 'Zero 'Zero 'Zero 'Zero
type DHeatPerUnitArea       = 'Dim 'Zero 'Pos1 'Neg2 'Zero 'Zero 'Zero 'Zero
type DReactionVelocity      = 'Dim 'Zero 'Zero 'Neg1 'Zero 'Zero 'Zero 'Zero
type DByramsIntensity       = 'Dim 'Pos1 'Pos1 'Neg3 'Zero 'Zero 'Zero 'Zero

type FuelLoad                = Quantity DFuelLoad Double
type SaToVolRatio            = Quantity DSaToVolRatio Double
type HeatOfCombustion        = Quantity DHeatOfCombustion Double
type HeatPerUnitArea         = Quantity DHeatPerUnitArea Double
type ReactionVelocity        = Quantity DReactionVelocity Double
type ByramsIntensity         = Quantity DByramsIntensity Double
type Ratio                   = Dimensionless Double
type Fraction                = Dimensionless Double
type Moisture                = Fraction
type TotalMineralContent     = Fraction
type EffectiveMineralContent = Fraction
type Speed                   = Velocity Double
type RateOfSpread            = Speed
type Azimuth                 = PlaneAngle Double
type ReactionIntensity       = HeatFluxDensity Double

lbSqFt :: Unit DFuelLoad Double
lbSqFt = poundMass/(foot ^ pos2)

lbCuFt :: Unit DDensity Double
lbCuFt = poundMass/(foot ^ pos3)

btu:: Unit DEnergy Double
btu = prefix 0.293071 (watt * hour)

btuLb:: Unit DHeatOfCombustion Double
btuLb = btu / poundMass

btuFtSec :: Unit DByramsIntensity Double
btuFtSec = btu / foot / second

btuSqFtMin :: Unit DHeatFluxDensity Double
btuSqFtMin = btuSqFt / minute

btuSqFt :: Unit DHeatPerUnitArea Double
btuSqFt = btu / foot ^ pos2 

perFoot :: Unit DSaToVolRatio Double
perFoot  = foot ^ neg1<commit_msg>export more units<commit_after>{-# OPTIONS_GHC -fno-warn-orphans #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# LANGUAGE DataKinds #-}
{-# LANGUAGE TypeSynonymInstances #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE ScopedTypeVariables #-}
module Behave.Units (
    module Export
  , DMoisture
  , DFraction
  , DVelocity
  , DRatio
  , DAzimuth

  , FuelLoad
  , SaToVolRatio
  , HeatOfCombustion
  , HeatPerUnitArea
  , ReactionVelocity
  , DRatio
  , Ratio
  , Length
  , Dimensionless
  , Fraction
  , Moisture
  , TotalMineralContent
  , EffectiveMineralContent
  , Speed
  , ByramsIntensity
  , RateOfSpread
  , Azimuth
  , ReactionIntensity
  , lbSqFt
  , lbCuFt
  , btu
  , btuLb
  , btuFtSec
  , btuSqFtMin
  , btuSqFt
  , perFoot
  , footMin
  , one
  , _0
  , _1
  , (*~)
  , (/~)
) where

import           Numeric.Units.Dimensional.DK
import           Numeric.Units.Dimensional.DK.Vector ()
import           Numeric.Units.Dimensional.DK.Prelude
import           Numeric.Units.Dimensional.DK.NonSI as Export
import           Numeric.Units.Dimensional.DK.SIUnits as Export
import           Numeric.Units.Dimensional.DK.Quantities as Export
import           Numeric.NumType.DK.Integers (TypeInt(..))
import           Unsafe.Coerce (unsafeCoerce)
import qualified Data.Vector.Unboxed as U

{-
    1. Lóngitud
    2. Masa
    3. Tiempo
    4. Corriente eléctrica
    5. Temperatura termodinámica
    6. Cantidad de substancia
    7. Intensidad lumínica
-}
type DFuelLoad              = 'Dim 'Neg2 'Pos1 'Zero 'Zero 'Zero 'Zero 'Zero
type DSaToVolRatio          = 'Dim 'Neg1 'Zero 'Zero 'Zero 'Zero 'Zero 'Zero
type DHeatOfCombustion      = 'Dim 'Pos2 'Zero 'Neg2 'Zero 'Zero 'Zero 'Zero
type DHeatPerUnitArea       = 'Dim 'Zero 'Pos1 'Neg2 'Zero 'Zero 'Zero 'Zero
type DReactionVelocity      = 'Dim 'Zero 'Zero 'Neg1 'Zero 'Zero 'Zero 'Zero
type DByramsIntensity       = 'Dim 'Pos1 'Pos1 'Neg3 'Zero 'Zero 'Zero 'Zero
type DRatio                 = DOne
type DFraction              = DOne
type DMoisture              = DFraction
type DAzimuth               = DPlaneAngle

type FuelLoad                = Quantity DFuelLoad Double
type SaToVolRatio            = Quantity DSaToVolRatio Double
type HeatOfCombustion        = Quantity DHeatOfCombustion Double
type HeatPerUnitArea         = Quantity DHeatPerUnitArea Double
type ReactionVelocity        = Quantity DReactionVelocity Double
type ByramsIntensity         = Quantity DByramsIntensity Double
type Ratio                   = Quantity DRatio Double
type Fraction                = Quantity DFraction Double
type Moisture                = Quantity DMoisture Double
type TotalMineralContent     = Fraction
type EffectiveMineralContent = Fraction
type Speed                   = Quantity DVelocity Double
type RateOfSpread            = Speed
type Azimuth                 = Quantity DAzimuth Double
type ReactionIntensity       = HeatFluxDensity Double

lbSqFt :: Unit DFuelLoad Double
lbSqFt = poundMass/(foot ^ pos2)

lbCuFt :: Unit DDensity Double
lbCuFt = poundMass/(foot ^ pos3)

btu:: Unit DEnergy Double
btu = prefix 0.293071 (watt * hour)

btuLb:: Unit DHeatOfCombustion Double
btuLb = btu / poundMass

btuFtSec :: Unit DByramsIntensity Double
btuFtSec = btu / foot / second

btuSqFtMin :: Unit DHeatFluxDensity Double
btuSqFtMin = btuSqFt / minute

btuSqFt :: Unit DHeatPerUnitArea Double
btuSqFt = btu / foot ^ pos2 

perFoot :: Unit DSaToVolRatio Double
perFoot  = foot ^ neg1
{'fraction_non_alphanumeric': 0.07798369162342476, 'fraction_numerical': 0.009191994069681245, 'mean_word_length': 2.789887640449438, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '4781539', 'n_tokens_mistral': 2420, 'n_tokens_neox': 2295, 'n_words': 587}