weekdaze-0.0.0.3: A school-timetable problem-solver.

Safe HaskellNone
LanguageHaskell2010

WeekDaze.ExecutionConfiguration.CriterionWeight

Contents

Description

AUTHOR
Dr. Alistair Ward
DESCRIPTION
  • Defines the weight associated with some criterion.
  • Each weighting is quantified by some Fractional value in the closed unit-interval; negative values aren't permitted.
  • If a concept is of no significance, then its weight can be set to minBound, whilst concepts of great significance can be set to maxBound.
CAVEAT
  • While this data-type could implement the classes Functor, Num, Fractional & Real, these interfaces allow one to construct invalid instances.
Synopsis

Type-classes

class CriterionWeights a where Source #

An interface to which a collection of criteria-weights may conform.

Methods

areAllZero Source #

Arguments

:: a 
-> Bool

True if all the weights are zero.

Instances
(Bounded a, Eq a) => CriterionWeights [a] Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Methods

areAllZero :: [a] -> Bool Source #

(Eq criterionWeight, Num criterionWeight) => CriterionWeights (LessonCriteriaWeights criterionWeight) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.LessonCriteriaWeights

Methods

areAllZero :: LessonCriteriaWeights criterionWeight -> Bool Source #

(Eq criterionWeight, Num criterionWeight) => CriterionWeights (TimetableCriteriaWeights criterionWeight) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.TimetableCriteriaWeights

Methods

areAllZero :: TimetableCriteriaWeights criterionWeight -> Bool Source #

Types

Data-types

data CriterionWeight w Source #

  • Quantifies the relative significance, of criteria used to assess the desirability of a resource.
  • The larger the value, the more significant the criterion; relative to other criteria applicable to the same resource.
Instances
Num w => Bounded (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Eq w => Eq (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Ord w => Ord (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Show w => Show (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

NFData w => NFData (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Methods

rnf :: CriterionWeight w -> () #

Num w => Default (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Methods

def :: CriterionWeight w #

(XmlPickler w, Real w) => XmlPickler (CriterionWeight w) Source # 
Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Methods

xpickle :: PU (CriterionWeight w) #

Real w => SelfValidator (CriterionWeight w) Source #

True if the specified 'criterion-weight' falls within the closed unit-interval; https://en.wikipedia.org/wiki/Unit_interval.

Instance details

Defined in WeekDaze.ExecutionConfiguration.CriterionWeight

Functions

Constructor

mkCriterionWeight :: Real w => w -> CriterionWeight w Source #

Smart constructor.