Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.javascript > #29208
| X-Received | by 10.182.29.41 with SMTP id g9mr108783992obh.27.1452432798384; Sun, 10 Jan 2016 05:33:18 -0800 (PST) |
|---|---|
| X-Received | by 10.50.17.106 with SMTP id n10mr175847igd.0.1452432798333; Sun, 10 Jan 2016 05:33:18 -0800 (PST) |
| Path | csiph.com!usenet.blueworldhosting.com!feeder01.blueworldhosting.com!news.glorb.com!h5no2578151igh.0!news-out.google.com!l1ni9392igd.0!nntp.google.com!o2no1693745iga.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail |
| Newsgroups | comp.lang.javascript |
| Date | Sun, 10 Jan 2016 05:33:17 -0800 (PST) |
| Complaints-To | groups-abuse@google.com |
| Injection-Info | glegroupsg2000goo.googlegroups.com; posting-host=85.229.217.28; posting-account=kxPkPAoAAACjJi8w0gL9bnyznPzdw9HW |
| NNTP-Posting-Host | 85.229.217.28 |
| User-Agent | G2/1.0 |
| MIME-Version | 1.0 |
| Message-ID | <86bb6f49-d74d-426d-bc2a-5b4cd7199bf4@googlegroups.com> (permalink) |
| Subject | Improve speed calculations? |
| From | jonas.thornvall@gmail.com |
| Injection-Date | Sun, 10 Jan 2016 13:33:18 +0000 |
| Content-Type | text/plain; charset=ISO-8859-1 |
| Xref | csiph.com comp.lang.javascript:29208 |
Show key headers only | View raw
<script language="Javascript">
/*ADD TWO VARIABLES USING CHOSEN BASE*/
function naiveAdd(base, arrOne, addTwo)
{
addOne=arrOne.slice();
//addTwo=arrTwo.slice();
abigArr = addOne.length;
asmallArr = addTwo.length;
addResult = [];
remainder = 0;
for (i = 0; i < asmallArr; i ++ )
{
addOne[i] = addOne[i] + addTwo[i] + remainder;
if (addOne[i] >= base)
{
addOne[i] = addOne[i] - base;
remainder = 1;
}
else
{
remainder = 0;
}
}
// If strings of equal length but there is a remainder;
while (remainder == 1 && addOne[i]==(base-1))
{
addOne[i] = 0;
i++;
}
if (remainder == 1) {if (isNaN(addOne[i])) addOne[i] = 0; addOne[i] = addOne[i]+1;}
return addOne;
}
/* COMPARE SIZE OF TWO ARRAYS, IF A < B RETURN TRUE, IF B >= A RETURN FALSE */
function lessThan(A, B)
{
var AA = A.length;
var BB = B.length;
if(AA > BB) return false;
if(AA < BB) return true;
// AA = BB, compare indexes from biggest to smallest.
for(i = AA - 1; i >= 0; i -- )
{
if(A[i] < B[i]) return true;
if(A[i] > B[i]) return false;
}
return false;
}
/* ORDER THE ARRAYS SO THE BIGGER IS PASSED AS FIRST ARGUMENT*/
function orderArrayAdd(Abase, A, B)
{
return lessThan(A, B) ? counterArr = naiveAdd(Abase, B, A) : counterArr = naiveAdd(Abase, A, B);
}
/* GET VALUES FROM INPUT*/
function fetchValues(){
base=document.eval.FBASE.value;
myeval = document.eval.expression.value;
lucasStart = document.eval.start.value;
lStart=parseInt(lucasStart)
lucasScope = document.eval.scope.value;
lScope=parseInt(lucasScope)
}
/* PARSE VALUES FROM INPUT */
function parseToInt(){
if (result = myeval.indexOf("+") != - 1)
{
opArr = myeval.split("+");
operation = "+";
}
arrOne = opArr[0].split("").map(Number).reverse();
arrTwo = opArr[1].split("").map(Number).reverse();
}
function main(){
document.eval.result.value="";
document.eval.timing.value="";
base=2;
evalStr="";
var out=[];counter=1;
fetchValues();
parseToInt();
flip=0;
/* TIMER START */
var start = new Date().getTime();
lEnd=lStart+lScope;
while(counter<=lEnd){
out=orderArrayAdd(base,arrOne,arrTwo);
arrOne=arrTwo.slice();
arrTwo=out.slice();
if (counter>=lStart && counter<lEnd) {fib=out.slice();evalStr+=counter+"th "+fib.reverse().join('')+"\n";}
counter++;
}
/* TIMER END */
var end = new Date().getTime();
var time = end - start;
document.eval.result.value+=evalStr;
document.eval.timing.value+=time;
} </script>
<html><body onLoad="main()";>
<H1>FIBONACCI AND OTHER SERIES</H1>
<form name="eval" onsubmit="main(); return false;">
<input type="submit" value="Generate"><input type="text" name="timing" value="" size="4"> ms BASE<input type="text" name="FBASE" value="2" size="2"><br>
Start print x'th number in Serie<input type="text" name="start" value="1" size="9"> How many follwing in Serie -><input type="text" name="scope" value="777" size="9"><br>
Generate Serie expansons using startvalues<input type="text" name="expression" value="1+1" size="10"><br>
Result <textarea name="result" cols="100" rows="30"></textarea><br>
</form>
</body></html>
Back to comp.lang.javascript | Previous | Next — Next in thread | Find similar | Unroll thread
Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-10 05:33 -0800
Re: Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-11 03:19 -0800
Re: Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-11 04:41 -0800
Re: Improve speed calculations? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-01-11 13:28 +0000
Re: Improve speed calculations? Silvio <silvio@internet.com> - 2016-01-11 15:41 +0100
Re: Improve speed calculations? Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-01-11 15:44 +0000
Re: Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-11 07:53 -0800
Re: Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-11 07:56 -0800
Re: Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-11 08:28 -0800
Re: Improve speed calculations? jonas.thornvall@gmail.com - 2016-01-11 06:48 -0800
csiph-web