📄 calcbits.cpp
字号:
#include "matlib.h"
#pragma hdrstop
#include "calcbits.h"
Mm calcbits(Mm bounds, Mm precision) {
begin_scope
bounds.setname("bounds"); precision.setname("precision");
dMm(bits);
call_stack_begin;
// nargin, nargout entry code
double old_nargin=nargin_val; if (!nargin_set) nargin_val=2.0;
nargin_set=0;
double old_nargout=nargout_val; if (!nargout_set) nargout_val=1.0;
nargout_set=0;
// translated code
// function [bits]=calcbits(bounds,precision)
//
// Determine the number of bits to represent a float number to the precision
// provided.
//
// bits - the number of bits required per variable
// bounds - the bounds on the variables
// precision - the least difference to distinguish two numbers
// Binary and Real-Valued Simulation Evolution for Matlab
// Copyright (C) 1996 C.R. Houck, J.A. Joines, M.G. Kay
//
// C.R. Houck, J.Joines, and M.Kay. A genetic algorithm for function
// optimization: A Matlab implementation. ACM Transactions on Mathmatical
// Software, Submitted 1996.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 1, or (at your option)
// any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details. A copy of the GNU
// General Public License can be obtained from the
// Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
bits = ceil(log2(rdivide(ctranspose((bounds(c_p,2.0)-bounds(c_p,1.0))),precision)));
// bits=ceil(log( (bounds(:,2)-bounds(:,1))' .* 10.^precision+1) ./ log(2));
call_stack_end;
// nargin, nargout exit code
nargin_val=old_nargin; nargout_val=old_nargout;
// function exit code
bounds.setname(NULL); precision.setname(NULL);
return bits;
end_scope
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -