mirror of
https://github.com/gnss-sdr/gnss-sdr
synced 2025-11-15 14:47:19 +00:00
Remove build and data folders, move tests and utils to the base of the source tree
This commit is contained in:
51
utils/matlab/libs/geoFunctions/roundn.m
Normal file
51
utils/matlab/libs/geoFunctions/roundn.m
Normal file
@@ -0,0 +1,51 @@
|
||||
function [x,msg] = roundn(x,n)
|
||||
|
||||
% ROUNDN Rounds input data at specified power of 10
|
||||
%
|
||||
% y = ROUNDN(x) rounds the input data x to the nearest hundredth.
|
||||
%
|
||||
% y = ROUNDN(x,n) rounds the input data x at the specified power
|
||||
% of tens position. For example, n = -2 rounds the input data to
|
||||
% the 10E-2 (hundredths) position.
|
||||
%
|
||||
% [y,msg] = ROUNDN(...) returns the text of any error condition
|
||||
% encountered in the output variable msg.
|
||||
%
|
||||
% See also ROUND
|
||||
|
||||
% Written by: E. Byrns, E. Brown
|
||||
% Revision: 1.9 Date: 2002/03/20 21:26:19
|
||||
%
|
||||
% GNSS-SDR is a Global Navigation Satellite System software-defined receiver.
|
||||
% This file is part of GNSS-SDR.
|
||||
%
|
||||
% SPDX-FileCopyrightText: 1996-2002 Systems Planning and Analysis, Inc. and The MathWorks, Inc.
|
||||
% SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
msg = []; % Initialize output
|
||||
|
||||
if nargin == 0
|
||||
error('Incorrect number of arguments')
|
||||
elseif nargin == 1
|
||||
n = -2;
|
||||
end
|
||||
|
||||
% Test for scalar n
|
||||
|
||||
if max(size(n)) ~= 1
|
||||
msg = 'Scalar accuracy required';
|
||||
if nargout < 2; error(msg); end
|
||||
return
|
||||
elseif ~isreal(n)
|
||||
warning('Imaginary part of complex N argument ignored')
|
||||
n = real(n);
|
||||
end
|
||||
|
||||
% Compute the exponential factors for rounding at specified
|
||||
% power of 10. Ensure that n is an integer.
|
||||
|
||||
factors = 10 ^ (fix(-n));
|
||||
|
||||
% Set the significant digits for the input data
|
||||
|
||||
x = round(x * factors) / factors;
|
||||
Reference in New Issue
Block a user