Click here to Skip to main content
15,887,214 members
Home / Discussions / C#
   

C#

 
GeneralRe: Optimizing Fibonacci Calculation Pin
Richard Deeming18-Apr-13 5:09
mveRichard Deeming18-Apr-13 5:09 
AnswerRe: Optimizing Fibonacci Calculation Pin
Clifford Nelson18-Apr-13 5:15
Clifford Nelson18-Apr-13 5:15 
QuestionRe: Optimizing Fibonacci Calculation Pin
Kenneth Haugland18-Apr-13 6:29
mvaKenneth Haugland18-Apr-13 6:29 
AnswerRe: Optimizing Fibonacci Calculation Pin
harold aptroot18-Apr-13 6:39
harold aptroot18-Apr-13 6:39 
GeneralRe: Optimizing Fibonacci Calculation Pin
harold aptroot18-Apr-13 6:55
harold aptroot18-Apr-13 6:55 
GeneralRe: Optimizing Fibonacci Calculation Pin
Max Holder18-Apr-13 21:21
professionalMax Holder18-Apr-13 21:21 
GeneralRe: Optimizing Fibonacci Calculation Pin
PIEBALDconsult20-Apr-13 12:26
mvePIEBALDconsult20-Apr-13 12:26 
GeneralRe: Optimizing Fibonacci Calculation Pin
PIEBALDconsult20-Apr-13 6:24
mvePIEBALDconsult20-Apr-13 6:24 
" if (n == 0) return a;
if (n == 1) return b;
"

Unnecessary, wastes cycles.


"
a ^= b;
b ^= a;
a ^= b;
"

Saves a few bytes, but wastes cycles.


And yours returns 1 for n<0.


Here's a version that swaps indices rather than values.

private static ulong[] a = new ulong [ 3 ] ;

private static ulong
Fibo
(
  int n
)
{
  a [ 0 ] = a [ 1 ] = 0 ;
  a [ 2 ] = 1 ;
  int x = 2 ;
  int y = 1 ;

  for ( ; n > 0 ; --n )
  {
    a [ 0 ] = a [ x ] += a [ y ] ;

    x ^= 3 ;
    y ^= 3 ;
  }

  return ( a [ 0 ] ) ;
}


modified 21-Apr-13 1:01am.

QuestionC# Program Structure and File Type Advice Pin
Jacob Barton17-Apr-13 0:20
Jacob Barton17-Apr-13 0:20 
AnswerRe: C# Program Structure and File Type Advice Pin
dusty_dex17-Apr-13 0:44
dusty_dex17-Apr-13 0:44 
AnswerRe: C# Program Structure and File Type Advice Pin
Mycroft Holmes17-Apr-13 0:50
professionalMycroft Holmes17-Apr-13 0:50 
GeneralRe: C# Program Structure and File Type Advice Pin
Jacob Barton17-Apr-13 1:35
Jacob Barton17-Apr-13 1:35 
GeneralRe: C# Program Structure and File Type Advice Pin
Mycroft Holmes17-Apr-13 3:29
professionalMycroft Holmes17-Apr-13 3:29 
AnswerRe: C# Program Structure and File Type Advice Pin
Pete O'Hanlon17-Apr-13 1:55
mvePete O'Hanlon17-Apr-13 1:55 
GeneralRe: C# Program Structure and File Type Advice Pin
Jacob Barton17-Apr-13 2:23
Jacob Barton17-Apr-13 2:23 
GeneralRe: C# Program Structure and File Type Advice Pin
Pete O'Hanlon17-Apr-13 2:26
mvePete O'Hanlon17-Apr-13 2:26 
AnswerRe: C# Program Structure and File Type Advice Pin
Orjan Westin17-Apr-13 2:34
professionalOrjan Westin17-Apr-13 2:34 
GeneralRe: C# Program Structure and File Type Advice Pin
Jacob Barton17-Apr-13 3:06
Jacob Barton17-Apr-13 3:06 
AnswerRe: C# Program Structure and File Type Advice Pin
Jasmine250117-Apr-13 5:58
Jasmine250117-Apr-13 5:58 
AnswerRe: C# Program Structure and File Type Advice Pin
Gerry Schmitz17-Apr-13 6:10
mveGerry Schmitz17-Apr-13 6:10 
AnswerRe: C# Program Structure and File Type Advice Pin
jschell17-Apr-13 9:16
jschell17-Apr-13 9:16 
AnswerRe: C# Program Structure and File Type Advice Pin
Jacob Barton17-Apr-13 17:03
Jacob Barton17-Apr-13 17:03 
GeneralRe: C# Program Structure and File Type Advice Pin
Orjan Westin17-Apr-13 23:43
professionalOrjan Westin17-Apr-13 23:43 
GeneralRe: C# Program Structure and File Type Advice Pin
Jasmine250118-Apr-13 6:31
Jasmine250118-Apr-13 6:31 
GeneralRe: C# Program Structure and File Type Advice Pin
Gerry Schmitz18-Apr-13 11:15
mveGerry Schmitz18-Apr-13 11:15 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.