eXorithm – Execute Algorithm: View / Run Algorithm surface_oblate_spheroid

function surface_oblate_spheroid ($polar_radius$equatorial_radius
{
  $x = acos( $polar_radius / $equatorial_radius );
  $e2 = $equatorial_radius * $equatorial_radius
  $p2 = $polar_radius * $polar_radius
  $abx = $polar_radius * $equatorial_radius * $x
  $area = 2 * pi() * ( ($e2) + ($p2 / sin$x)) * log((1+sin$x))/cos$x)) );
  return $area
} 

eXorithm – Execute Algorithm: View / Run Algorithm check_domain

function check_domain ($url$white_list$black_list
{
  foreach ($white_list as $re) {
    $re = preg_quote$re);
    $re = str_replace'*''.*'$re);
    
    if (preg_match'|^'$re'$|'$url)) {
      return true;
    }
  }
  
  foreach ($black_list as $re) {
    $re = preg_quote$re);
    $re = str_replace'*''.*'$re);
    
    if (preg_match'|^'$re'$|'$url)) {
      return false;
    }
  }
  
  return true;

eXorithm – Execute Algorithm: View / Run Algorithm constrain_image

function constrain_image ($image, $width, $height, $mode, $border_color, $transparent_border, $never_scale_up
{
  if (!$image
    throw new Exception'Invalid image');
  
  $iwidth = imagesx$image);
  $iheight = imagesy$image);
  
  if ($never_scale_up) {
    if ($width$iwidth && $height$iheight) {
      $mode = 'crop'
    }
    if ($width$iwidth || $height$iheight) {
      if (($mode=='scale') || ($mode=='scale_crop'))
        $mode = 'crop'
    }
  }
  
  // scaling phase
  switch ($mode) {
  
    case 'scale_crop': // scale and crop
      if ($width$iwidth > $height$iheight) {
        $iheight = round$iheight$width$iwidth);
        $iwidth =  $width
      } else {
        $iwidth =  round$iwidth$height$iheight);
        $iheight = $height
      }
      $image2 = image_create_alpha$iwidth, $iheight);
      imagecopyresampled$image2, $image, 0, 0, 0, 0, $iwidth, $iheight, imagesx$image), imagesy$image));
      break
     
    case 'scale_border': // scale and add borders
      if ($width$iwidth < $height$iheight) {
        $iheight = round$iheight$width$iwidth);
        $iwidth =  $width
      } else {
        $iwidth =  round$iwidth$height$iheight);
        $iheight = $height
      }
      $image2 = image_create_alpha$iwidth, $iheight);
      imagecopyresampled$image2, $image, 0, 0, 0, 0, $iwidth, $iheight, imagesx$image), imagesy$image));
      break
      
    case 'scale': // scale
      $image2 = image_create_alpha$width, $height);
      imagecopyresampled$image2, $image, 0, 0, 0, 0, $width, $height, imagesx$image), imagesy$image));
      break
  
    default
      $image2 = $image
  }
  
  // crop / borders phase
  switch ($mode) {
    case 'crop': 
    case 'scale_crop': 
    case 'scale_border': 
      
      $image3 = image_create_alpha$width, $height);
      
      $r  = hexdecsubstr$border_color, 0, 2));
      $g  = hexdecsubstr$border_color, 2, 2));
      $b  = hexdecsubstr$border_color, 4, 2));
      if ($transparent_border
        $border_color = imagecolorallocatealpha$image3, $r, $g, $b, 127);
      else
        $border_color = imagecolorallocatealpha$image3, $r, $g, $b, 0);
      imagefilledrectangle$image3, 0, 0, $width, $height, $border_color);
      
      // x,y to paste to
      $px = ($iwidth$width)   ? round(($width - $iwidth)/2) : 0;
      $py = ($iheight$height) ? round(($height - $iheight)/2) : 0;
      // x,y to start cut from
      $sx = ($iwidth$width)   ? 0 : round(($iwidth - $width)/2);
      $sy = ($iheight$height) ? 0 : round(($iheight - $height)/2);
      // x,y to end cut at
      $ex = ($iwidth$width)   ? $iwidth : $sx$width
      $ey = ($iheight$height) ? $iheight : $sy$height
      imagecopy$image3, $image2, $px, $py, $sx, $sy, $ex, $ey);
      break
      
    default
      $image3 = $image2
  }
  
  return $image3
} 

eXorithm – Execute Algorithm: View / Run Algorithm bubble_sort

function bubble_sort ($array
{
  do {
    $again = false;
    for$ii=0; $ii<(count$array)-1); $ii++) {
      if$array$ii] > $array$ii+1]) {
        $temp = $array$ii];
        $array$ii] = $array$ii+1];
        $array$ii+1] = $temp
        $again = true;
      }
    }
  } while ($again==true);
   
  return $array

eXorithm – Execute Algorithm: View / Run Algorithm primes

function primes ($number_of_primes
{
  $n = $number_of_primes
  $primes = array();
  for$i = 2; ; $i++)
  {
    $is_prime = true;
    for$j = 2; $j < $i$j++)
    {
      if(($i % $j) == 0)
      {
        $is_prime = false;
        break
      }
      if$j > floor$i/2)) break
    }
    if ($is_prime
    {
      $primes[] = $i
      $n--;
    }
    if ($n == 0) break
  }
  return $primes

eXorithm – Execute Algorithm: View / Run Algorithm scale_image

function scale_image ($image$width$height$percent
{
  $ewidth = imagesx$image);
  $eheight = imagesy$image);
  
  if ($percent) {
    $width = round(($width/100)*$ewidth);
    $height = round(($height/100)*$eheight);
  }
  
  $image2 = image_create_alpha$width$height);
  
  for ($x=0;$x$width$x++) {
    $x1 = floor$x * ($ewidth$width));
    for ($y=0;$y$height$y++) {
      $y1 = floor$y * ($eheight$height));
      $index = imagecolorat$image$x1$y1);
      $color = imagecolorsforindex$image$index);
      $trans = imagecolorallocatealpha$image2
                                       $color'red'], 
                                       $color'green'], 
                                       $color'blue'], 
                                       $color'alpha']);
      imagesetpixel$image2$x$y$trans);
    }
  }
  
  return $image2