/***
 * Power / Exponent Function
 *
 * Raises a number to a certain power. Supports integers and .5s as the exponent.
 *
 * Useful for diagonal/Pythagorean stuff.
 *
 * scss:
 *   pow($base, $exponent)
 *
 * @param $base - number to get square root of
 * @param $exponent - exponent to raise the base number to
 */
@function pow ($base, $exponent) {
  $unit: $base / stripUnits($base);
  $base: stripUnits($base);
  $value: stripUnits($base);
  @if $exponent % 1 != 0 and $exponent % 1 != .5 and $exponent % 1 != -.5 {
    @error "exponent must be multiple of .5, was #{$exponent}";
  }
  @if $exponent >= 0 {
    $num : floor($exponent);
    @if $num == 0 {
      $value : 1;
    }
    @for $i from 0 through $num {
      @if $i > 1 {
        $value: $value * $base;
      }
    }
    @if $exponent % 1 != 0 {
      $value: $value * sqrt($base);
    }
  }
  @else {
    @for $i from 0 through (-1 * ceil($exponent)) {
      $value: $value / $base;
    }
    @if $exponent % 1 != 0 {
      $value: $value / (sqrt($base));
    }
  }
  @return $value * $unit;
}
