<commit_before>/*
Copyright (c) 2017 KAPSARC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package org.economicsl.auctions


/** Mixin trait that restricts the quantity of an `Order` to a single unit of a `Tradable`. */
trait SingleUnit[+T <: Tradable] extends SinglePricePoint[T] {
  this: Contract with OrderLike[T] =>

  val quantity = Quantity(1)

}


/** Companion object for the `SinglePricePoint` trait.
  *
  * Defines a basic ordering for anything that mixes in the `SinglePricePoint` trait.
  */
object SingleUnit {

  /** All `Contract with OrderLike` instances that mixin `SingleUnit` are ordered by `limit` from lowest to highest.
    *
    * @tparam O the sub-type of `Contract with OrderLike[_] with SingleUnit[_]` that is being ordered.
    * @return `Ordering` defined over `Contract with OrderLike[_] with SingleUnit[_]` instances.
    */
  def ordering[O <: Contract with OrderLike[_ <: Tradable] with SingleUnit[_ <: Tradable]]: Ordering[O] = {
    SinglePricePoint.ordering
  }

}<commit_msg>Fixed typos.<commit_after>/*
Copyright (c) 2017 KAPSARC

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package org.economicsl.auctions


/** Mixin trait that restricts the quantity of an `Order` to a single unit of a `Tradable`. */
trait SingleUnit[+T <: Tradable] extends SinglePricePoint[T] {
  this: Contract with OrderLike[T] =>

  val quantity = Quantity(1)

}


/** Companion object for the `SingleUnit` trait.
  *
  * Defines a basic ordering for anything that mixes in the `SingleUnit` trait.
  */
object SingleUnit {

  /** All `Contract with OrderLike` instances that mixin `SingleUnit` are ordered by `limit` from lowest to highest.
    *
    * @tparam O the sub-type of `Contract with OrderLike[_] with SingleUnit[_]` that is being ordered.
    * @return `Ordering` defined over `Contract with OrderLike[_] with SingleUnit[_]` instances.
    */
  def ordering[O <: Contract with OrderLike[_ <: Tradable] with SingleUnit[_ <: Tradable]]: Ordering[O] = {
    SinglePricePoint.ordering
  }

}
{'fraction_non_alphanumeric': 0.08773109243697479, 'fraction_numerical': 0.006050420168067227, 'mean_word_length': 4.139896373056994, 'pattern_counts': {'":': 0, '<': 11, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 2, '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': '4820083', 'n_tokens_mistral': 857, 'n_tokens_neox': 825, 'n_words': 369}