/**
  * Creates a basis vector of the given size
  * A basis vector of size n, has n - 1 elements equal to 0
  * and one element equal to 1
  *
  * @access	public
  * @param	int	$size	vector size
  * @param	int	$index	element to be set at 1
  * @return	object	if ($size == 2) Math_Vector2 elseif ($size == 3) Math_Vector3 else Math_Vector, on error PEAR_Error
  *
  * @see	createZero()
  */
 function createBasis($size, $index)
 {
     if ($index >= $size) {
         return PEAR::raiseError("Incorrect index for size: {$index} >= {$size}");
     }
     $v = Math_VectorOp::createZero($size);
     $res = $v->set($index, 1);
     if (PEAR::isError($res)) {
         return $res;
     } else {
         return $v;
     }
 }
예제 #2
0
 /**
  * Creates a basis vector of the given size
  * A basis vector of size n, has n - 1 elements equal to 0
  * and one element equal to 1
  *
  * @param   int $size   vector size
  * @param   int $index  element to be set at 1
  * @return  object  if ($size == 2) Math_Vector2 elseif ($size == 3) Math_Vector3 else Math_Vector
  * @throws InvalidArgumentException
  *
  * @see createZero()
  */
 public static function createBasis($size, $index)
 {
     if ($index >= $size) {
         throw new InvalidArgumentException("Incorrect index for size: {$index} >= {$size}");
     }
     $v = Math_VectorOp::createZero($size);
     $res = $v->set($index, 1);
     return $v;
 }