/** * 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; } }
/** * 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; }