628 lines
47 KiB
HTML
628 lines
47 KiB
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
|
|
"http://www.w3.org/TR/REC-html40/loose.dtd">
|
|
<html>
|
|
<head>
|
|
<title>Description of LPTAU</title>
|
|
<meta name="keywords" content="LPTAU">
|
|
<meta name="description" content="">
|
|
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
|
|
<meta name="generator" content="m2html © 2003 Guillaume Flandin">
|
|
<meta name="robots" content="index, follow">
|
|
<link type="text/css" rel="stylesheet" href="../m2html.css">
|
|
</head>
|
|
<body>
|
|
<a name="_top"></a>
|
|
<div><a href="../index.html">Home</a> > <a href="index.html">.</a> > LPTAU.m</div>
|
|
|
|
<!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td>
|
|
<td align="right"><a href="index.html">Index for . <img alt=">" border="0" src="../right.png"></a></td></tr></table>-->
|
|
|
|
<h1>LPTAU
|
|
</h1>
|
|
|
|
<h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="box"><strong></strong></div>
|
|
|
|
<h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="box"><strong>function VECTOR = LPTAU(I, N) </strong></div>
|
|
|
|
<h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="fragment"><pre class="comment">
|
|
I.M. SOBOL', V.I. TURCHANINOV, Yu.L. LEVITAN, B.V. SHUKHMAN
|
|
KELDYSH INSTITUTE OF APPLIED MATHEMATICS
|
|
RUSSIAN ACADEMY OF SCIENCES
|
|
|
|
QUASIRANDOM SEQUENCE GENERATORS
|
|
-------------------------------
|
|
|
|
28.11.1991
|
|
|
|
NOTE TO THE USER BY the NEA Data Bank:
|
|
This quasi random number generator has been made available to
|
|
you on condition that its identity is preserved when used
|
|
in computer programs. If its use leads to scientific publication
|
|
of results you should cite it in the references, in addition
|
|
no commercial use should be made unless agreed upon with the
|
|
main author (Prof. I.M. Sobol')
|
|
|
|
ABSTRACT
|
|
........
|
|
|
|
POINTS BELONGING TO LP-TAU SEQUENCES UNIFORMLY DISTRIBUTED IN THE
|
|
N-DIMENSIONAL UNIT CUBE ARE OFTEN USED IN NUMERICAL MATHEMATICS:
|
|
|
|
- AS NODES FOR MULTIDIMENSIONAL INTEGRATION;
|
|
- AS SEARCHING POINTS IN GLOBAL OPTIMIZATION;
|
|
- AS TRIAL POINTS IN MULTI-CRITERIA DECISION MAKING;
|
|
- AS QUASIRANDOM POINTS FOR QUASI-MONTECARLO ALGORITHMS;
|
|
- ETC.
|
|
|
|
THIS SUBROUTINE CONTAINS THE ALGORITHM FOR FAST GENERATION OF
|
|
LP-TAU SEQUENCES THAT ARE SUITABLE FOR MULTI-PROCESSOR COMPUTATIONS.
|
|
THE DIMENSIONS N.LE.51, THE NUMBER OF POINTS N.LT.2**30.
|
|
THE PROGRAMMING LANGUAGE IS FORTRAN-77. THIS SUBROUTINE IS AVAILABLE
|
|
ALSO IN %-LANGUAGE.
|
|
THE REPORT DESCRIBING THE ALGORITHM CONTAINS THE DESCRIPTION OF THE
|
|
ALGORITHM AND CERTAIN IMPORTANT PROPERTIES OF LP-TAU SEQUENCES AND
|
|
THEIR GENERALIZATIONS ARE DISCUSSED.
|
|
|
|
REFERENCE:
|
|
I.M. SOBOL', V.I. TURCHANINOV, Yu.L. LEVITAN, B.V. SHUKHMAN
|
|
KELDYSH INSTITUTE OF APPLIED MATHEMATICS
|
|
RUSSIAN ACADEMY OF SCIENCES
|
|
|
|
QUASIRANDOM SEQUENCE GENERATORS
|
|
MOSCOW 1992, IPM ZAK. NO.30 (100 COPIES)
|
|
|
|
------------------------------------------------------------------------
|
|
|
|
INPUT PARAMETERS:
|
|
|
|
I - NUMBER OF THE POINT (I=(0,2**30-1)),
|
|
N - DIMENSION OF THE POINT (0<N<52);
|
|
|
|
OUTPUT PARAMETER:
|
|
|
|
VECTOR(N) - N-VECTOR CONTAINING THE CARTESIAN CO-ORDINATES OF
|
|
THE I-TH POINT.
|
|
|
|
|
|
TO CALL THE SUBROUTINE WRITE:
|
|
|
|
CALL LPTAU(I,N,VECTOR)
|
|
WHERE I, N: INTEGER CAPABLE OF STORING 2**30 (INTEGER*4 ON IBM
|
|
OR OTHER 32 BIT/WORD MACHINES)
|
|
VECTOR: DOUBLE PRECISION ARRAY WHOSE LENGTH < 52.
|
|
|
|
INTEGER QP
|
|
QP = QUANTITY POWER
|
|
|
|
PARAMETER (MAXDIM=51, QP=30, MAXNUM=2**30-1)</pre></div>
|
|
|
|
<!-- crossreference -->
|
|
<h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
This function calls:
|
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
|
</ul>
|
|
This function is called by:
|
|
<ul style="list-style-image:url(../matlabicon.gif)">
|
|
<li><a href="lptauSEQ.html" class="code" title="function [lpmat] = lptauSEQ(Nsam,Nvar)">lptauSEQ</a> [lpmat] = lptauSEQ(Nsam,Nvar)</li></ul>
|
|
<!-- crossreference -->
|
|
|
|
|
|
<h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>
|
|
<div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function VECTOR = LPTAU(I, N)</a>
|
|
0002 <span class="comment">%</span>
|
|
0003 <span class="comment">% I.M. SOBOL', V.I. TURCHANINOV, Yu.L. LEVITAN, B.V. SHUKHMAN</span>
|
|
0004 <span class="comment">% KELDYSH INSTITUTE OF APPLIED MATHEMATICS</span>
|
|
0005 <span class="comment">% RUSSIAN ACADEMY OF SCIENCES</span>
|
|
0006 <span class="comment">%</span>
|
|
0007 <span class="comment">% QUASIRANDOM SEQUENCE GENERATORS</span>
|
|
0008 <span class="comment">% -------------------------------</span>
|
|
0009 <span class="comment">%</span>
|
|
0010 <span class="comment">% 28.11.1991</span>
|
|
0011 <span class="comment">%</span>
|
|
0012 <span class="comment">% NOTE TO THE USER BY the NEA Data Bank:</span>
|
|
0013 <span class="comment">% This quasi random number generator has been made available to</span>
|
|
0014 <span class="comment">% you on condition that its identity is preserved when used</span>
|
|
0015 <span class="comment">% in computer programs. If its use leads to scientific publication</span>
|
|
0016 <span class="comment">% of results you should cite it in the references, in addition</span>
|
|
0017 <span class="comment">% no commercial use should be made unless agreed upon with the</span>
|
|
0018 <span class="comment">% main author (Prof. I.M. Sobol')</span>
|
|
0019 <span class="comment">%</span>
|
|
0020 <span class="comment">% ABSTRACT</span>
|
|
0021 <span class="comment">% ........</span>
|
|
0022 <span class="comment">%</span>
|
|
0023 <span class="comment">% POINTS BELONGING TO LP-TAU SEQUENCES UNIFORMLY DISTRIBUTED IN THE</span>
|
|
0024 <span class="comment">% N-DIMENSIONAL UNIT CUBE ARE OFTEN USED IN NUMERICAL MATHEMATICS:</span>
|
|
0025 <span class="comment">%</span>
|
|
0026 <span class="comment">% - AS NODES FOR MULTIDIMENSIONAL INTEGRATION;</span>
|
|
0027 <span class="comment">% - AS SEARCHING POINTS IN GLOBAL OPTIMIZATION;</span>
|
|
0028 <span class="comment">% - AS TRIAL POINTS IN MULTI-CRITERIA DECISION MAKING;</span>
|
|
0029 <span class="comment">% - AS QUASIRANDOM POINTS FOR QUASI-MONTECARLO ALGORITHMS;</span>
|
|
0030 <span class="comment">% - ETC.</span>
|
|
0031 <span class="comment">%</span>
|
|
0032 <span class="comment">% THIS SUBROUTINE CONTAINS THE ALGORITHM FOR FAST GENERATION OF</span>
|
|
0033 <span class="comment">% LP-TAU SEQUENCES THAT ARE SUITABLE FOR MULTI-PROCESSOR COMPUTATIONS.</span>
|
|
0034 <span class="comment">% THE DIMENSIONS N.LE.51, THE NUMBER OF POINTS N.LT.2**30.</span>
|
|
0035 <span class="comment">% THE PROGRAMMING LANGUAGE IS FORTRAN-77. THIS SUBROUTINE IS AVAILABLE</span>
|
|
0036 <span class="comment">% ALSO IN %-LANGUAGE.</span>
|
|
0037 <span class="comment">% THE REPORT DESCRIBING THE ALGORITHM CONTAINS THE DESCRIPTION OF THE</span>
|
|
0038 <span class="comment">% ALGORITHM AND CERTAIN IMPORTANT PROPERTIES OF LP-TAU SEQUENCES AND</span>
|
|
0039 <span class="comment">% THEIR GENERALIZATIONS ARE DISCUSSED.</span>
|
|
0040 <span class="comment">%</span>
|
|
0041 <span class="comment">% REFERENCE:</span>
|
|
0042 <span class="comment">% I.M. SOBOL', V.I. TURCHANINOV, Yu.L. LEVITAN, B.V. SHUKHMAN</span>
|
|
0043 <span class="comment">% KELDYSH INSTITUTE OF APPLIED MATHEMATICS</span>
|
|
0044 <span class="comment">% RUSSIAN ACADEMY OF SCIENCES</span>
|
|
0045 <span class="comment">%</span>
|
|
0046 <span class="comment">% QUASIRANDOM SEQUENCE GENERATORS</span>
|
|
0047 <span class="comment">% MOSCOW 1992, IPM ZAK. NO.30 (100 COPIES)</span>
|
|
0048 <span class="comment">%</span>
|
|
0049 <span class="comment">% ------------------------------------------------------------------------</span>
|
|
0050 <span class="comment">%</span>
|
|
0051 <span class="comment">% INPUT PARAMETERS:</span>
|
|
0052 <span class="comment">%</span>
|
|
0053 <span class="comment">% I - NUMBER OF THE POINT (I=(0,2**30-1)),</span>
|
|
0054 <span class="comment">% N - DIMENSION OF THE POINT (0<N<52);</span>
|
|
0055 <span class="comment">%</span>
|
|
0056 <span class="comment">% OUTPUT PARAMETER:</span>
|
|
0057 <span class="comment">%</span>
|
|
0058 <span class="comment">% VECTOR(N) - N-VECTOR CONTAINING THE CARTESIAN CO-ORDINATES OF</span>
|
|
0059 <span class="comment">% THE I-TH POINT.</span>
|
|
0060 <span class="comment">%</span>
|
|
0061 <span class="comment">%</span>
|
|
0062 <span class="comment">% TO CALL THE SUBROUTINE WRITE:</span>
|
|
0063 <span class="comment">%</span>
|
|
0064 <span class="comment">% CALL LPTAU(I,N,VECTOR)</span>
|
|
0065 <span class="comment">% WHERE I, N: INTEGER CAPABLE OF STORING 2**30 (INTEGER*4 ON IBM</span>
|
|
0066 <span class="comment">% OR OTHER 32 BIT/WORD MACHINES)</span>
|
|
0067 <span class="comment">% VECTOR: DOUBLE PRECISION ARRAY WHOSE LENGTH < 52.</span>
|
|
0068 <span class="comment">%</span>
|
|
0069 <span class="comment">% INTEGER QP</span>
|
|
0070 <span class="comment">% QP = QUANTITY POWER</span>
|
|
0071 <span class="comment">%</span>
|
|
0072 <span class="comment">% PARAMETER (MAXDIM=51, QP=30, MAXNUM=2**30-1)</span>
|
|
0073 MAXDIM=51; QP=30; MAXNUM=2^30-1;
|
|
0074 <span class="comment">%</span>
|
|
0075 <span class="comment">% THE DIMENSION OF THE POINT CANNOT EXCEED MAXDIM</span>
|
|
0076 <span class="comment">% THE TOTAL NUMBER OF GENERATED POINTS CANNOT EXCEED 2**QP</span>
|
|
0077 <span class="comment">% MAXNUM=2**30-1 // 1073741823</span>
|
|
0078 <span class="comment">%</span>
|
|
0079 <span class="comment">% DOUBLE PRECISION VECTOR(N)</span>
|
|
0080 <span class="comment">% INTEGER I,N</span>
|
|
0081 <span class="comment">%</span>
|
|
0082 <span class="comment">% INTEGER PRVNUM,PRVDIM</span>
|
|
0083 <span class="comment">% INTEGER DIRECT(MAXDIM,QP), MASKV(MAXDIM)</span>
|
|
0084 <span class="comment">% DOUBLE PRECISION SCALE</span>
|
|
0085 <span class="comment">%</span>
|
|
0086 <span class="comment">% Translated into MATLAB by M. Ratto</span>
|
|
0087 VECTOR=zeros(1,N);
|
|
0088 SCALE =9.31322574615478516E-10;
|
|
0089
|
|
0090 <span class="keyword">persistent</span> PRVNUM PRVDIM MASKV DIRECT
|
|
0091 <span class="keyword">if</span> isempty(PRVNUM), PRVNUM=-2; <span class="keyword">end</span>,
|
|
0092 <span class="keyword">if</span> isempty(PRVDIM), PRVDIM=0; <span class="keyword">end</span>,
|
|
0093
|
|
0094 <span class="keyword">if</span> isempty(DIRECT), <span class="keyword">...</span>
|
|
0095 DIRECT(1:MAXDIM,1)=[
|
|
0096 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0097 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0098 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0099 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0100 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0101 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0102 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0103 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0104 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0105 536870912, 536870912, 536870912, 536870912, 536870912, <span class="keyword">...</span>
|
|
0106 536870912]';
|
|
0107 DIRECT(1:MAXDIM,2)=[
|
|
0108 805306368, 268435456, 805306368, 268435456, 805306368, <span class="keyword">...</span>
|
|
0109 268435456, 805306368, 268435456, 268435456, 805306368, <span class="keyword">...</span>
|
|
0110 268435456, 805306368, 268435456, 805306368, 268435456, <span class="keyword">...</span>
|
|
0111 805306368, 805306368, 268435456, 805306368, 268435456, <span class="keyword">...</span>
|
|
0112 805306368, 268435456, 805306368, 268435456, 268435456, <span class="keyword">...</span>
|
|
0113 805306368, 268435456, 805306368, 268435456, 805306368, <span class="keyword">...</span>
|
|
0114 268435456, 805306368, 805306368, 268435456, 805306368, <span class="keyword">...</span>
|
|
0115 268435456, 805306368, 268435456, 805306368, 268435456, <span class="keyword">...</span>
|
|
0116 268435456, 805306368, 268435456, 805306368, 268435456, <span class="keyword">...</span>
|
|
0117 805306368, 268435456, 805306368, 805306368, 268435456, <span class="keyword">...</span>
|
|
0118 805306368]';
|
|
0119 DIRECT(1:MAXDIM,3)=[
|
|
0120 939524096, 939524096, 134217728, 671088640, 402653184, <span class="keyword">...</span>
|
|
0121 402653184, 671088640, 134217728, 671088640, 402653184, <span class="keyword">...</span>
|
|
0122 939524096, 134217728, 671088640, 939524096, 134217728, <span class="keyword">...</span>
|
|
0123 671088640, 134217728, 939524096, 939524096, 402653184, <span class="keyword">...</span>
|
|
0124 402653184, 134217728, 671088640, 402653184, 671088640, <span class="keyword">...</span>
|
|
0125 402653184, 402653184, 671088640, 134217728, 134217728, <span class="keyword">...</span>
|
|
0126 939524096, 939524096, 939524096, 939524096, 134217728, <span class="keyword">...</span>
|
|
0127 671088640, 402653184, 402653184, 671088640, 134217728, <span class="keyword">...</span>
|
|
0128 671088640, 402653184, 939524096, 134217728, 671088640, <span class="keyword">...</span>
|
|
0129 939524096, 134217728, 671088640, 134217728, 939524096, <span class="keyword">...</span>
|
|
0130 939524096]';
|
|
0131 DIRECT(1:MAXDIM,4)=[
|
|
0132 1006632960, 67108864, 603979776, 1006632960, 335544320, <span class="keyword">...</span>
|
|
0133 469762048, 872415232, 738197504, 469762048, 872415232, <span class="keyword">...</span>
|
|
0134 1006632960, 67108864, 872415232, 469762048, 469762048, <span class="keyword">...</span>
|
|
0135 469762048, 1006632960, 335544320, 872415232, 603979776, <span class="keyword">...</span>
|
|
0136 201326592, 67108864, 335544320, 67108864, 201326592, <span class="keyword">...</span>
|
|
0137 738197504, 1006632960, 738197504, 603979776, 335544320, <span class="keyword">...</span>
|
|
0138 738197504, 67108864, 1006632960, 67108864, 603979776, <span class="keyword">...</span>
|
|
0139 1006632960, 335544320, 469762048, 872415232, 738197504, <span class="keyword">...</span>
|
|
0140 469762048, 872415232, 1006632960, 67108864, 872415232, <span class="keyword">...</span>
|
|
0141 469762048, 469762048, 469762048, 1006632960, 335544320, <span class="keyword">...</span>
|
|
0142 872415232]';
|
|
0143 DIRECT(1:MAXDIM,5)=[
|
|
0144 1040187392, 637534208, 1040187392, 838860800, 167772160, <span class="keyword">...</span>
|
|
0145 234881024, 167772160, 1040187392, 436207616, 33554432, <span class="keyword">...</span>
|
|
0146 570425344, 1040187392, 503316480, 838860800, 973078528, <span class="keyword">...</span>
|
|
0147 167772160, 234881024, 436207616, 771751936, 100663296, <span class="keyword">...</span>
|
|
0148 234881024, 905969664, 771751936, 33554432, 838860800, <span class="keyword">...</span>
|
|
0149 973078528, 905969664, 33554432, 301989888, 838860800, <span class="keyword">...</span>
|
|
0150 100663296, 234881024, 1040187392, 637534208, 1040187392, <span class="keyword">...</span>
|
|
0151 838860800, 167772160, 234881024, 167772160, 1040187392, <span class="keyword">...</span>
|
|
0152 436207616, 33554432, 570425344, 1040187392, 503316480, <span class="keyword">...</span>
|
|
0153 838860800, 973078528, 167772160, 234881024, 436207616, <span class="keyword">...</span>
|
|
0154 771751936]';
|
|
0155 DIRECT(1:MAXDIM,6)=[
|
|
0156 1056964608, 352321536, 50331648, 419430400, 956301312, <span class="keyword">...</span>
|
|
0157 889192448, 620756992, 117440512, 956301312, 922746880, <span class="keyword">...</span>
|
|
0158 822083584, 218103808, 587202560, 385875968, 452984832, <span class="keyword">...</span>
|
|
0159 218103808, 184549376, 285212672, 150994944, 956301312, <span class="keyword">...</span>
|
|
0160 352321536, 654311424, 553648128, 352321536, 788529152, <span class="keyword">...</span>
|
|
0161 956301312, 587202560, 251658240, 218103808, 721420288, <span class="keyword">...</span>
|
|
0162 251658240, 1056964608, 520093696, 889192448, 587202560, <span class="keyword">...</span>
|
|
0163 956301312, 419430400, 352321536, 83886080, 654311424, <span class="keyword">...</span>
|
|
0164 419430400, 385875968, 285212672, 754974720, 50331648, <span class="keyword">...</span>
|
|
0165 922746880, 989855744, 754974720, 721420288, 822083584, <span class="keyword">...</span>
|
|
0166 687865856]';
|
|
0167 DIRECT(1:MAXDIM,7)=[
|
|
0168 1065353216, 1065353216, 578813952, 25165824, 125829120, <span class="keyword">...</span>
|
|
0169 964689920, 327155712, 310378496, 360710144, 360710144, <span class="keyword">...</span>
|
|
0170 159383552, 444596224, 947912704, 662700032, 444596224, <span class="keyword">...</span>
|
|
0171 528482304, 578813952, 578813952, 75497472, 1065353216, <span class="keyword">...</span>
|
|
0172 92274688, 511705088, 897581056, 847249408, 662700032, <span class="keyword">...</span>
|
|
0173 931135488, 411041792, 713031680, 696254464, 528482304, <span class="keyword">...</span>
|
|
0174 209715200, 578813952, 1065353216, 1065353216, 578813952, <span class="keyword">...</span>
|
|
0175 25165824, 125829120, 964689920, 327155712, 310378496, <span class="keyword">...</span>
|
|
0176 360710144, 360710144, 159383552, 444596224, 947912704, <span class="keyword">...</span>
|
|
0177 662700032, 444596224, 528482304, 578813952, 578813952, <span class="keyword">...</span>
|
|
0178 75497472]';
|
|
0179 DIRECT(1:MAXDIM,8)=[
|
|
0180 1069547520, 4194304, 826277888, 624951296, 616562688, <span class="keyword">...</span>
|
|
0181 801112064, 952107008, 406847488, 398458880, 331350016, <span class="keyword">...</span>
|
|
0182 356515840, 46137344, 1010827264, 1069547520, 734003200, <span class="keyword">...</span>
|
|
0183 113246208, 490733568, 633339904, 910163968, 801112064, <span class="keyword">...</span>
|
|
0184 893386752, 851443712, 801112064, 918552576, 742391808, <span class="keyword">...</span>
|
|
0185 499122176, 62914560, 264241152, 708837376, 717225984, <span class="keyword">...</span>
|
|
0186 759169024, 499122176, 272629760, 423624704, 155189248, <span class="keyword">...</span>
|
|
0187 239075328, 205520896, 943718400, 373293056, 457179136, <span class="keyword">...</span>
|
|
0188 406847488, 71303168, 473956352, 54525952, 624951296, <span class="keyword">...</span>
|
|
0189 104857600, 1019215872, 901775360, 213909504, 281018368, <span class="keyword">...</span>
|
|
0190 851443712]';
|
|
0191 DIRECT(1:MAXDIM,9)=[
|
|
0192 1071644672, 543162368, 190840832, 329252864, 853540864, <span class="keyword">...</span>
|
|
0193 132120576, 778043392, 73400320, 178257920, 522190848, <span class="keyword">...</span>
|
|
0194 639631360, 534773760, 991952896, 333447168, 48234496, <span class="keyword">...</span>
|
|
0195 1059061760, 761266176, 673185792, 220200960, 396361728, <span class="keyword">...</span>
|
|
0196 362807296, 815792128, 819986432, 346030080, 39845888, <span class="keyword">...</span>
|
|
0197 752877568, 387973120, 643825664, 291504128, 274726912, <span class="keyword">...</span>
|
|
0198 568328192, 526385152, 673185792, 98566144, 396361728, <span class="keyword">...</span>
|
|
0199 727711744, 1042284544, 106954752, 299892736, 912261120, <span class="keyword">...</span>
|
|
0200 44040192, 895483904, 333447168, 551550976, 467664896, <span class="keyword">...</span>
|
|
0201 618659840, 606076928, 274726912, 245366784, 446693376, <span class="keyword">...</span>
|
|
0202 421527552]';
|
|
0203 DIRECT(1:MAXDIM,10)=[
|
|
0204 1072693248, 273678336, 644874240, 753926144, 495976448, <span class="keyword">...</span>
|
|
0205 869269504, 355467264, 57671680, 816840704, 961544192, <span class="keyword">...</span>
|
|
0206 804257792, 495976448, 347078656, 426770432, 1066401792, <span class="keyword">...</span>
|
|
0207 372244480, 84934656, 208666624, 313524224, 598736896, <span class="keyword">...</span>
|
|
0208 487587840, 965738496, 1011875840, 296747008, 393216000, <span class="keyword">...</span>
|
|
0209 523239424, 720371712, 823132160, 128974848, 407896064, <span class="keyword">...</span>
|
|
0210 747634688, 850395136, 873463808, 504365056, 481296384, <span class="keyword">...</span>
|
|
0211 686817280, 592445440, 995098624, 498073600, 969932800, <span class="keyword">...</span>
|
|
0212 586153984, 1039138816, 814743552, 523239424, 294649856, <span class="keyword">...</span>
|
|
0213 305135616, 506462208, 11534336, 449839104, 619708416, <span class="keyword">...</span>
|
|
0214 479199232]';
|
|
0215 DIRECT(1:MAXDIM,11)=[
|
|
0216 1073217536, 947388416, 1070071808, 977797120, 365428736, <span class="keyword">...</span>
|
|
0217 702021632, 461897728, 829947904, 425197568, 634912768, <span class="keyword">...</span>
|
|
0218 437780480, 582483968, 792199168, 315097088, 611844096, <span class="keyword">...</span>
|
|
0219 667418624, 166199296, 513277952, 187170816, 1036517376, <span class="keyword">...</span>
|
|
0220 25690112, 201850880, 443023360, 990380032, 63438848, <span class="keyword">...</span>
|
|
0221 211288064, 983040000, 1069023232, 421003264, 742916096, <span class="keyword">...</span>
|
|
0222 487063552, 363331584, 973602816, 286785536, 171442176, <span class="keyword">...</span>
|
|
0223 669515776, 110624768, 383254528, 289931264, 352845824, <span class="keyword">...</span>
|
|
0224 878182400, 655884288, 836239360, 765984768, 549978112, <span class="keyword">...</span>
|
|
0225 655884288, 85458944, 591921152, 563609600, 277348352, <span class="keyword">...</span>
|
|
0226 919076864]';
|
|
0227 DIRECT(1:MAXDIM,12)=[
|
|
0228 1073479680, 71565312, 2359296, 891551744, 158597120, <span class="keyword">...</span>
|
|
0229 383516672, 1019478016, 947126272, 621019136, 714866688, <span class="keyword">...</span>
|
|
0230 738459648, 265027584, 468975616, 131858432, 504627200, <span class="keyword">...</span>
|
|
0231 581173248, 266600448, 865861632, 658243584, 546045952, <span class="keyword">...</span>
|
|
0232 521404416, 304873472, 1060896768, 163840000, 305922048, <span class="keyword">...</span>
|
|
0233 257163264, 50069504, 773062656, 59506688, 779354112, <span class="keyword">...</span>
|
|
0234 165937152, 587988992, 486801408, 160694272, 90439680, <span class="keyword">...</span>
|
|
0235 423362560, 536608768, 614203392, 56885248, 999030784, <span class="keyword">...</span>
|
|
0236 10747904, 764674048, 25952256, 989069312, 352583680, <span class="keyword">...</span>
|
|
0237 799801344, 261357568, 873201664, 40108032, 769392640, <span class="keyword">...</span>
|
|
0238 254541824]';
|
|
0239 DIRECT(1:MAXDIM,13)=[
|
|
0240 1073610752, 644218880, 538836992, 455475200, 1062600704, <span class="keyword">...</span>
|
|
0241 139329536, 205651968, 905052160, 797048832, 452329472, <span class="keyword">...</span>
|
|
0242 973471744, 627703808, 614072320, 803078144, 637403136, <span class="keyword">...</span>
|
|
0243 835059712, 949878784, 662044672, 767950848, 426901504, <span class="keyword">...</span>
|
|
0244 448659456, 23986176, 1016201216, 524943360, 525991936, <span class="keyword">...</span>
|
|
0245 618790912, 781058048, 761659392, 458096640, 226361344, <span class="keyword">...</span>
|
|
0246 950665216, 952500224, 516030464, 337510400, 496107520, <span class="keyword">...</span>
|
|
0247 830865408, 944111616, 636354560, 978452480, 921567232, <span class="keyword">...</span>
|
|
0248 533594112, 7471104, 678035456, 471203840, 1065746432, <span class="keyword">...</span>
|
|
0249 575275008, 996540416, 909246464, 879362048, 637927424, <span class="keyword">...</span>
|
|
0250 25821184]';
|
|
0251 DIRECT(1:MAXDIM,14)=[
|
|
0252 1073676288, 357892096, 808648704, 2424832, 2555904, <span class="keyword">...</span>
|
|
0253 624230400, 69271552, 456851456, 1052966912, 600637440, <span class="keyword">...</span>
|
|
0254 487260160, 794624000, 386727936, 467599360, 798031872, <span class="keyword">...</span>
|
|
0255 630652928, 340983808, 493944832, 37945344, 264175616, <span class="keyword">...</span>
|
|
0256 263520256, 833421312, 235077632, 464846848, 534839296, <span class="keyword">...</span>
|
|
0257 992411648, 10813440, 367067136, 116457472, 115015680, <span class="keyword">...</span>
|
|
0258 928710656, 619773952, 813760512, 1043398656, 967770112, <span class="keyword">...</span>
|
|
0259 912850944, 72155136, 1009057792, 668532736, 462356480, <span class="keyword">...</span>
|
|
0260 267321344, 795803648, 635764736, 574160896, 1003421696, <span class="keyword">...</span>
|
|
0261 181075968, 56688640, 388562944, 190906368, 657915904, <span class="keyword">...</span>
|
|
0262 474939392]';
|
|
0263 DIRECT(1:MAXDIM,15)=[
|
|
0264 1073709056, 1073709056, 137003008, 547782656, 545095680, <span class="keyword">...</span>
|
|
0265 26836992, 34701312, 354385920, 925663232, 656965632, <span class="keyword">...</span>
|
|
0266 327581696, 894795776, 110067712, 1038057472, 209354752, <span class="keyword">...</span>
|
|
0267 596541440, 42631168, 471433216, 52527104, 666861568, <span class="keyword">...</span>
|
|
0268 706707456, 674070528, 824410112, 305496064, 136282112, <span class="keyword">...</span>
|
|
0269 847740928, 531464192, 222920704, 379289600, 507740160, <span class="keyword">...</span>
|
|
0270 11894784, 1053392896, 129990656, 557547520, 666468352, <span class="keyword">...</span>
|
|
0271 1061912576, 576684032, 1041334272, 380469248, 114196480, <span class="keyword">...</span>
|
|
0272 133070848, 517046272, 129990656, 790396928, 563773440, <span class="keyword">...</span>
|
|
0273 388333568, 661749760, 446791680, 737378304, 229998592, <span class="keyword">...</span>
|
|
0274 348225536]';
|
|
0275 DIRECT(1:MAXDIM,16)=[
|
|
0276 1073725440, 16384, 605372416, 275234816, 817971200, <span class="keyword">...</span>
|
|
0277 603963392, 555335680, 721534976, 997801984, 1028767744, <span class="keyword">...</span>
|
|
0278 407060480, 375275520, 256688128, 1021165568, 303349760, <span class="keyword">...</span>
|
|
0279 1022476288, 234143744, 106708992, 732971008, 733954048, <span class="keyword">...</span>
|
|
0280 789889024, 879575040, 764657664, 762658816, 1010843648, <span class="keyword">...</span>
|
|
0281 941080576, 827932672, 98942976, 1051738112, 624934912, <span class="keyword">...</span>
|
|
0282 993280000, 134070272, 201375744, 567558144, 882163712, <span class="keyword">...</span>
|
|
0283 649084928, 356564992, 489439232, 637091840, 60637184, <span class="keyword">...</span>
|
|
0284 199278592, 815677440, 927678464, 94519296, 419184640, <span class="keyword">...</span>
|
|
0285 933838848, 426655744, 911130624, 171393024, 561332224, <span class="keyword">...</span>
|
|
0286 471613440]';
|
|
0287 DIRECT(1:MAXDIM,17)=[
|
|
0288 1073733632, 536895488, 1043685376, 679944192, 417505280, <span class="keyword">...</span>
|
|
0289 301981696, 832561152, 210542592, 167501824, 1071341568, <span class="keyword">...</span>
|
|
0290 229302272, 970661888, 732176384, 576659456, 402464768, <span class="keyword">...</span>
|
|
0291 451584000, 368467968, 928260096, 933847040, 29319168, <span class="keyword">...</span>
|
|
0292 582934528, 772612096, 330014720, 647323648, 174071808, <span class="keyword">...</span>
|
|
0293 1008689152, 295919616, 353869824, 177774592, 580198400, <span class="keyword">...</span>
|
|
0294 381837312, 638574592, 637558784, 679370752, 504012800, <span class="keyword">...</span>
|
|
0295 747118592, 429973504, 1032609792, 932667392, 583360512, <span class="keyword">...</span>
|
|
0296 969498624, 1056333824, 660955136, 247488512, 153509888, <span class="keyword">...</span>
|
|
0297 242180096, 205840384, 797499392, 824565760, 234348544, <span class="keyword">...</span>
|
|
0298 842326016]';
|
|
0299 DIRECT(1:MAXDIM,18)=[
|
|
0300 1073737728, 268455936, 52785152, 1020628992, 345018368, <span class="keyword">...</span>
|
|
0301 452972544, 704442368, 255987712, 750759936, 697692160, <span class="keyword">...</span>
|
|
0302 196677632, 764604416, 485625856, 522022912, 680620032, <span class="keyword">...</span>
|
|
0303 362270720, 838103040, 83972096, 629133312, 46108672, <span class="keyword">...</span>
|
|
0304 867561472, 725422080, 184504320, 751112192, 191918080, <span class="keyword">...</span>
|
|
0305 306425856, 507310080, 30453760, 281858048, 604000256, <span class="keyword">...</span>
|
|
0306 208662528, 319557632, 318779392, 476139520, 863719424, <span class="keyword">...</span>
|
|
0307 567062528, 521179136, 712790016, 610299904, 293687296, <span class="keyword">...</span>
|
|
0308 1023086592, 549089280, 1065242624, 707751936, 363024384, <span class="keyword">...</span>
|
|
0309 16674816, 197136384, 1037561856, 195112960, 372707328, <span class="keyword">...</span>
|
|
0310 992751616]';
|
|
0311 DIRECT(1:MAXDIM,19)=[
|
|
0312 1073739776, 939554816, 580732928, 854333440, 172619776, <span class="keyword">...</span>
|
|
0313 511694848, 936142848, 518199296, 593348608, 225527808, <span class="keyword">...</span>
|
|
0314 900982784, 180279296, 168904704, 62814208, 754485248, <span class="keyword">...</span>
|
|
0315 730691584, 1005996032, 411174912, 249866240, 641669120, <span class="keyword">...</span>
|
|
0316 1008719872, 749066240, 860993536, 94177280, 432564224, <span class="keyword">...</span>
|
|
0317 226355200, 925784064, 995657728, 967731200, 436226048, <span class="keyword">...</span>
|
|
0318 913799168, 549894144, 964696064, 843315200, 445863936, <span class="keyword">...</span>
|
|
0319 1047422976, 548947968, 492066816, 953870336, 1002653696, <span class="keyword">...</span>
|
|
0320 861440000, 385636352, 325253120, 187353088, 653584384, <span class="keyword">...</span>
|
|
0321 1008269312, 748693504, 1013016576, 55814144, 255170560, <span class="keyword">...</span>
|
|
0322 260708352]';
|
|
0323 DIRECT(1:MAXDIM,20)=[
|
|
0324 1073740800, 67126272, 829514752, 423777280, 968297472, <span class="keyword">...</span>
|
|
0325 205511680, 147076096, 926669824, 202300416, 118395904, <span class="keyword">...</span>
|
|
0326 381332480, 1002738688, 743042048, 292551680, 584567808, <span class="keyword">...</span>
|
|
0327 284339200, 183936000, 616762368, 435221504, 159376384, <span class="keyword">...</span>
|
|
0328 907322368, 595696640, 247497728, 553735168, 826051584, <span class="keyword">...</span>
|
|
0329 564454400, 446024704, 214236160, 33661952, 251685888, <span class="keyword">...</span>
|
|
0330 660327424, 284244992, 859868160, 722502656, 622844928, <span class="keyword">...</span>
|
|
0331 324342784, 682374144, 400579584, 405353472, 605187072, <span class="keyword">...</span>
|
|
0332 840682496, 212956160, 157891584, 193201152, 437990400, <span class="keyword">...</span>
|
|
0333 573578240, 368053248, 580197376, 937905152, 565527552, <span class="keyword">...</span>
|
|
0334 89064448]';
|
|
0335 DIRECT(1:MAXDIM,21)=[
|
|
0336 1073741312, 637560320, 189496832, 27474432, 129338880, <span class="keyword">...</span>
|
|
0337 908054016, 641870336, 186375680, 302677504, 763663872, <span class="keyword">...</span>
|
|
0338 103878144, 325187072, 858254848, 922041856, 261924352, <span class="keyword">...</span>
|
|
0339 954978816, 292822528, 849512960, 210311680, 933232128, <span class="keyword">...</span>
|
|
0340 691981824, 155417088, 627070464, 416795136, 182081024, <span class="keyword">...</span>
|
|
0341 513433088, 848658944, 515770880, 627273216, 629169664, <span class="keyword">...</span>
|
|
0342 414566912, 147450368, 698353152, 244844032, 226578944, <span class="keyword">...</span>
|
|
0343 1020087808, 886978048, 389697024, 1007004160, 839646720, <span class="keyword">...</span>
|
|
0344 621924864, 549962240, 609583616, 735976960, 87342592, <span class="keyword">...</span>
|
|
0345 1058542080, 163066368, 307997184, 876471808, 794280448, <span class="keyword">...</span>
|
|
0346 675386880]';
|
|
0347 DIRECT(1:MAXDIM,22)=[
|
|
0348 1073741568, 352343296, 644236032, 636735232, 615860480, <span class="keyword">...</span>
|
|
0349 959444224, 287380736, 1007410432, 890187008, 399480576, <span class="keyword">...</span>
|
|
0350 520092928, 643311360, 816901376, 695310080, 1019229440, <span class="keyword">...</span>
|
|
0351 77034240, 733295872, 1035127552, 986582784, 332381952, <span class="keyword">...</span>
|
|
0352 334852352, 364956416, 596672256, 800381696, 480316672, <span class="keyword">...</span>
|
|
0353 574863104, 647347968, 702910208, 499965184, 364968704, <span class="keyword">...</span>
|
|
0354 120862976, 1023256320, 995114240, 13951232, 32520448, <span class="keyword">...</span>
|
|
0355 702127360, 45176064, 444945664, 237860096, 152839936, <span class="keyword">...</span>
|
|
0356 530633984, 429135616, 267272448, 884808960, 933712640, <span class="keyword">...</span>
|
|
0357 61605632, 174335744, 564911360, 302327552, 650589440, <span class="keyword">...</span>
|
|
0358 450649344]';
|
|
0359 DIRECT(1:MAXDIM,23)=[
|
|
0360 1073741696, 1065385856, 1073734272, 331949184, 842310784, <span class="keyword">...</span>
|
|
0361 799537536, 965852032, 369351808, 662886016, 86119808, <span class="keyword">...</span>
|
|
0362 865109888, 299633792, 422735488, 181087360, 174252416, <span class="keyword">...</span>
|
|
0363 1041212544, 840196224, 750314368, 391053440, 903306880, <span class="keyword">...</span>
|
|
0364 742365312, 236995200, 42492800, 946000512, 771692416, <span class="keyword">...</span>
|
|
0365 897405824, 613803136, 924258688, 808338304, 1038125440, <span class="keyword">...</span>
|
|
0366 683814272, 177186176, 766008960, 704549248, 194555008, <span class="keyword">...</span>
|
|
0367 306383744, 496592512, 416020864, 655186816, 1032204928, <span class="keyword">...</span>
|
|
0368 694773632, 577910144, 45797760, 910332544, 536014976, <span class="keyword">...</span>
|
|
0369 675946368, 987635840, 788223872, 353993856, 96313472, <span class="keyword">...</span>
|
|
0370 85248640]';
|
|
0371 DIRECT(1:MAXDIM,24)=[
|
|
0372 1073741760, 4210752, 12608, 744788544, 494377792, <span class="keyword">...</span>
|
|
0373 115601344, 769248448, 990895808, 851706304, 979326784, <span class="keyword">...</span>
|
|
0374 692061120, 429015104, 217132864, 736067008, 55694400, <span class="keyword">...</span>
|
|
0375 456152640, 631601984, 787264192, 898599104, 478383808, <span class="keyword">...</span>
|
|
0376 507774272, 458270272, 392995136, 872482496, 124824768, <span class="keyword">...</span>
|
|
0377 1034161344, 362141632, 1053833280, 943810496, 428920128, <span class="keyword">...</span>
|
|
0378 795835200, 835462848, 961843520, 606198080, 785652672, <span class="keyword">...</span>
|
|
0379 154954432, 491617344, 297351232, 580735552, 634587968, <span class="keyword">...</span>
|
|
0380 185277760, 141505600, 417673280, 106907456, 395575616, <span class="keyword">...</span>
|
|
0381 566958656, 352651200, 415242688, 26635200, 1030317504, <span class="keyword">...</span>
|
|
0382 247212992]';
|
|
0383 DIRECT(1:MAXDIM,25)=[
|
|
0384 1073741792, 543187040, 536882016, 981766752, 357858144, <span class="keyword">...</span>
|
|
0385 810665952, 369083488, 613015520, 86115232, 845149216, <span class="keyword">...</span>
|
|
0386 606076960, 1018241504, 35245536, 635403744, 236633696, <span class="keyword">...</span>
|
|
0387 407451232, 427671904, 460141792, 116344544, 990246688, <span class="keyword">...</span>
|
|
0388 1024892576, 883429408, 150655392, 173476896, 197666464, <span class="keyword">...</span>
|
|
0389 1016740448, 605376608, 970487008, 1006881248, 598265632, <span class="keyword">...</span>
|
|
0390 1022861728, 489055392, 216680608, 371439072, 53140576, <span class="keyword">...</span>
|
|
0391 965114400, 98534112, 209692256, 264598496, 321437280, <span class="keyword">...</span>
|
|
0392 545303840, 324119904, 876587488, 778239712, 802033120, <span class="keyword">...</span>
|
|
0393 44406496, 665829024, 803213920, 309742112, 735181344, <span class="keyword">...</span>
|
|
0394 1036125600]';
|
|
0395 DIRECT(1:MAXDIM,26)=[
|
|
0396 1073741808, 273698896, 805312112, 903123536, 153504624, <span class="keyword">...</span>
|
|
0397 689632208, 432848944, 859888752, 510853776, 240805744, <span class="keyword">...</span>
|
|
0398 250610192, 852489168, 139460144, 283082224, 222702928, <span class="keyword">...</span>
|
|
0399 342181488, 922872432, 187528656, 360637424, 814514736, <span class="keyword">...</span>
|
|
0400 301037840, 800872624, 272595184, 158627600, 238839088, <span class="keyword">...</span>
|
|
0401 927181136, 710248688, 788854608, 1048376560, 484709072, <span class="keyword">...</span>
|
|
0402 85709008, 1065469744, 429237328, 490778384, 848024144, <span class="keyword">...</span>
|
|
0403 443114288, 687907504, 474573648, 45706416, 681465296, <span class="keyword">...</span>
|
|
0404 805303216, 14567920, 369839504, 440402480, 797652624, <span class="keyword">...</span>
|
|
0405 115959088, 929784560, 91226544, 205943056, 288358704, <span class="keyword">...</span>
|
|
0406 950217296]';
|
|
0407 DIRECT(1:MAXDIM,27)=[
|
|
0408 1073741816, 947419256, 134232008, 460100200, 1073685336, <span class="keyword">...</span>
|
|
0409 398354904, 1069834248, 686054696, 108299224, 273898840, <span class="keyword">...</span>
|
|
0410 731382552, 938170664, 86812552, 677346808, 602208712, <span class="keyword">...</span>
|
|
0411 652635752, 209797064, 323968376, 384078968, 561178056, <span class="keyword">...</span>
|
|
0412 923399256, 996597176, 942777416, 885167400, 89791048, <span class="keyword">...</span>
|
|
0413 956122504, 87393464, 987661336, 993412952, 827749496, <span class="keyword">...</span>
|
|
0414 903211272, 33649816, 594875176, 65052056, 822835240, <span class="keyword">...</span>
|
|
0415 625704888, 1065374584, 612232920, 536299720, 1046858504, <span class="keyword">...</span>
|
|
0416 939518840, 160843032, 654656088, 744496936, 872197704, <span class="keyword">...</span>
|
|
0417 219111576, 829112632, 455614152, 1064192952, 313010856, <span class="keyword">...</span>
|
|
0418 820754920]';
|
|
0419 DIRECT(1:MAXDIM,28)=[
|
|
0420 1073741820, 71582788, 603989028, 37500, 120660, <span class="keyword">...</span>
|
|
0421 182195932, 213921796, 473570692, 41763004, 156352828, <span class="keyword">...</span>
|
|
0422 88343188, 698012780, 666108868, 337608156, 1054329884, <span class="keyword">...</span>
|
|
0423 799472220, 641885244, 392104980, 502284340, 1002405628, <span class="keyword">...</span>
|
|
0424 249907140, 75586228, 206587660, 565275348, 1021426548, <span class="keyword">...</span>
|
|
0425 425987996, 598058580, 401940420, 919427316, 822049324, <span class="keyword">...</span>
|
|
0426 115655868, 759299588, 562394644, 990942164, 1003212268, <span class="keyword">...</span>
|
|
0427 598750292, 675334852, 675293340, 445665316, 903023756, <span class="keyword">...</span>
|
|
0428 872412692, 172640916, 1051615436, 91229620, 94586692, <span class="keyword">...</span>
|
|
0429 344873452, 7029156, 683421900, 434258804, 955002092, <span class="keyword">...</span>
|
|
0430 436424380]';
|
|
0431 DIRECT(1:MAXDIM,29)=[
|
|
0432 1073741822, 644245094, 1040195102, 537039474, 537089354, <span class="keyword">...</span>
|
|
0433 642656334, 73402402, 664239174, 1014620426, 500917234, <span class="keyword">...</span>
|
|
0434 1042677826, 347788318, 1069154738, 373259762, 362587674, <span class="keyword">...</span>
|
|
0435 239395914, 132283950, 903121466, 445210638, 968851198, <span class="keyword">...</span>
|
|
0436 230153254, 935549622, 308815630, 861891286, 496995094, <span class="keyword">...</span>
|
|
0437 670740382, 657311830, 573565382, 248331478, 1064650798, <span class="keyword">...</span>
|
|
0438 338312798, 669059078, 1065190902, 379125622, 111897166, <span class="keyword">...</span>
|
|
0439 520650422, 740300390, 1046483950, 66254898, 992513134, <span class="keyword">...</span>
|
|
0440 234871606, 610553330, 450553866, 566758134, 787800806, <span class="keyword">...</span>
|
|
0441 1071709866, 971732606, 528102354, 790919122, 917384366, <span class="keyword">...</span>
|
|
0442 656244162]';
|
|
0443 DIRECT(1:MAXDIM,30)=[
|
|
0444 1073741823, 357913941, 50344755, 268538457, 805540473, <span class="keyword">...</span>
|
|
0445 3487029, 3146769, 592038967, 729591963, 781578389, <span class="keyword">...</span>
|
|
0446 66781679, 113956361, 331153483, 967802327, 935343371, <span class="keyword">...</span>
|
|
0447 324351309, 609305915, 818137857, 131059769, 918519549, <span class="keyword">...</span>
|
|
0448 827341719, 922770101, 456972047, 363883221, 1057014661, <span class="keyword">...</span>
|
|
0449 900956063, 580478293, 520383687, 315470533, 227601711, <span class="keyword">...</span>
|
|
0450 169598765, 909227271, 796983815, 349496709, 393974911, <span class="keyword">...</span>
|
|
0451 378320037, 777004343, 927999269, 616377385, 345930959, <span class="keyword">...</span>
|
|
0452 989849787, 627400495, 892675125, 260314121, 1041964063, <span class="keyword">...</span>
|
|
0453 531367163, 195776757, 237309785, 949187605, 719002587, <span class="keyword">...</span>
|
|
0454 495745187]';
|
|
0455 <span class="keyword">end</span>
|
|
0456
|
|
0457 <span class="comment">%</span>
|
|
0458 <span class="comment">% TRAP FOR A WRONG SUBROUTINE CALL</span>
|
|
0459 <span class="comment">%</span>
|
|
0460 <span class="keyword">if</span> ((I<0) | (N<1) | (I>MAXNUM) | (N>MAXDIM)),
|
|
0461 disp(<span class="string">'LP-TAU CALL FAILED'</span>)
|
|
0462 disp(<span class="string">' PRESS <ENTER> TO EXIT LPTAU'</span>)
|
|
0463 pause
|
|
0464 <span class="keyword">return</span>
|
|
0465 <span class="keyword">end</span>
|
|
0466 <span class="keyword">if</span> ((PRVNUM+1==I) & (N<=PRVDIM)),
|
|
0467 <span class="comment">%</span>
|
|
0468 <span class="comment">% RECURRENT GENERATION OF THE POINT</span>
|
|
0469 <span class="comment">%</span>
|
|
0470 <span class="comment">%</span>
|
|
0471 <span class="comment">% SEARCH POSITION OF THE RIGHTMOST "1"</span>
|
|
0472 <span class="comment">% IN THE BINARY REPRESENTATION OF I</span>
|
|
0473 <span class="comment">%</span>
|
|
0474 L=0;
|
|
0475 POS=0;
|
|
0476 <span class="keyword">while</span> L<QP & POS==0,
|
|
0477 L=L+1;
|
|
0478 POS=bitand(bitshift(I,-(L-1)),1);
|
|
0479 <span class="keyword">end</span>
|
|
0480 <span class="comment">%</span>
|
|
0481 <span class="comment">% RIGHTMOST POSITION IS L</span>
|
|
0482 <span class="comment">%</span>
|
|
0483 <span class="keyword">for</span> J=1:N
|
|
0484 MASKV(J)=bitxor(MASKV(J),DIRECT(J,L));
|
|
0485 VECTOR(J)=MASKV(J)*SCALE;
|
|
0486 <span class="keyword">end</span>
|
|
0487 <span class="keyword">else</span>
|
|
0488 <span class="comment">%</span>
|
|
0489 <span class="comment">% GENERATION OF THE POINT FROM "I" AND "N"</span>
|
|
0490 <span class="comment">%</span>
|
|
0491 MASKV=zeros(1,N);
|
|
0492 IM=bitxor(I,bitshift(I,-1));
|
|
0493 M=0;
|
|
0494 <span class="keyword">while</span> IM~=0 & M<QP,
|
|
0495 M=M+1;
|
|
0496 <span class="keyword">if</span> (bitand(IM,1)==1),
|
|
0497 <span class="keyword">for</span> J=1:N
|
|
0498 MASKV(J)=bitxor(MASKV(J),DIRECT(J,M));
|
|
0499 <span class="keyword">end</span>
|
|
0500 <span class="keyword">end</span>
|
|
0501 IM=bitshift(IM,-1);
|
|
0502 <span class="keyword">end</span>
|
|
0503 <span class="keyword">for</span> J=1:N
|
|
0504 VECTOR(J)=MASKV(J)*SCALE;
|
|
0505 <span class="keyword">end</span>
|
|
0506 <span class="keyword">end</span>
|
|
0507 <span class="comment">%</span>
|
|
0508 PRVNUM=I;
|
|
0509 PRVDIM=N;
|
|
0510 <span class="keyword">return</span>
|
|
0511
|
|
0512</pre></div>
|
|
<hr><address>Generated on Fri 16-Jun-2006 09:09:06 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> © 2003</address>
|
|
</body>
|
|
</html> |