This file is indexed.

/usr/share/octave/packages/secs2d-0.0.8/Utilities/Ubern.m is in octave-secs2d 0.0.8-5.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
function [bp,bn]=Ubern(x)
%
% [bp,bn]=Ubern(x)
%
% calcola la funzione di Bernoulli
% B(x)=x/(exp(x)-1) in corrispondenza dei
% due argomenti Z e -Z, ricordando che risulta
% B(-Z)=Z+B(Z)
%

% This file is part of
%
%            SECS2D - A 2-D Drift--Diffusion Semiconductor Device Simulator
%         -------------------------------------------------------------------
%            Copyright (C) 2004-2006  Carlo de Falco
%
%
%
%  SECS2D 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 2 of the License, or
%  (at your option) any later version.
%
%  SECS2D 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.
%
%  You should have received a copy of the GNU General Public License
%  along with SECS2D; If not, see <http://www.gnu.org/licenses/>.

xlim= 1e-2;
ax  = abs(x);
bp  = zeros(size(x));
bn  = bp;

block1  = find(~ax);
block21 = find((ax>80)&x>0);
block22 = find((ax>80)&x<0);
block3  = find((ax<=80)&(ax>xlim));
block4  = find((ax<=xlim)&(ax~=0));



%
% Calcola la funz. di Bernoulli per x=0
%
% if (ax == 0)
%fprintf(1,' -> executing block 1\n');
bp(block1)=1.;
bn(block1)=1.;
%end;

%
% Calcola la funz. di Bernoulli per valori
% asintotici dell'argomento
%
% if (ax > 80),
% fprintf(1,' -> eexecuting block 2\n');
% if (x >0),
bp(block21)=0.;
bn(block21)=x(block21);
% else
bp(block22)=-x(block22);
bn(block22)=0.;
% end;
% end;

%
% Calcola la funz. di Bernoulli per valori
% intermedi dell'argomento
%
% if (ax > xlim),
%fprintf(1,' -> eexecuting block 3\n');
bp(block3)=x(block3)./(exp(x(block3))-1);
bn(block3)=x(block3)+bp(block3);
% else

% for ii=block4;

%
% Calcola la funz. di Bernoulli per valori
% piccoli dell'argomento mediante sviluppo
% di Taylor troncato dell'esponenziale
%
%fprintf(1,' -> eexecuting block 4\n');
if(any(block4))jj=1;
	fp=1.*ones(size(block4));
	fn=fp;
	df=fp;
	segno=1.;
	while (norm(df,inf) > eps),
		jj=jj+1;
		segno=-segno;
		df=df.*x(block4)/jj;
		fp=fp+df;
		fn=fn+segno*df;
	end;
	bp(block4)=1./fp;
	bn(block4)=1./fn;
end
% end