Description
Calculates Fibonacci Numbers. Iteratively calculates in the background when out of combat. You control the cpu allocation.
Deutsch, Español, Français, Italiano, Português Brasileiro, Русский, 한국어, 繁體中文, 简体中文
How to Use
Instal: Like any other AddOn. Set up: By default (to protect your gaming session), Fib does NOT automatically start. You MUST configure it and turn it 'on'.
Background
The Fibonacci numbers are a well known and easily calculated sequence of numbers. The first two are defined as F(1) = 1 and F(2) = 1. The sequence itself is defined as F(n) = F(n-1) + F(n-2). So F(3) = F(2) + F(1) = 1 + 1 = 2. F(4) = F(3) + F(2) = 2 + 1 = 3. F(5) = 3 + 2 = 5 and so on. Within seconds the value represented by F(n) will have exceeded the maximum permitted integer size of WoW's built in programming language, LUA. Additionally, Binet's Fibonacci formula cannot be used mainly due to rounding error concerns.
Method & Warnings
Fib stores the numbers as very large strings and therefore bypasses the number size limit of programming languages. There are TWO available calculation methods.
Method 1 is the default and breaks up the strings into numbers able to be represented as large integers and before (a problem with the LUA programming language) conversion to exponentiated floating point numbers occurs (thus causing rounding errors). 10x faster than Method 2.
Method 2 is the original technique from Fibonacci v1.00. This technique converts each digit into a number, one by one, as it progresses from right to left, and with lots of "carries" along the way. Totally reliable but very taxing on your commuter's cpu and thus WoW's fps. If using this method you must pay attention to the 'pause' and 'duration' parameters (see below) or else you could cripple your gaming client.
The AddOn has been coded reasonably efficiently and has client/server crash or normal restart waypoints but it remains that no matter what you do, for very large F(n) the AddOn will consume megabytes of memory.
Configuration
Control and configuration is by chat commands.
/fib to see a menu of possible commands.
/fib o to toggle 'on' or 'off' the background calculations. Use '/fib o ?' to see the current setting.
/fib p n, where 'n' represents milliseconds and must be >= 100. This is the pause between calculations. The WoW servers poll your game client every frame update. If you are running at 40 fps then your client is polled 40 times per second. If still paused then Fib will exit immediately. Use '/fib p ?' to see the current setting.
/fib d n, where 'n' represents milliseconds and must be >= 1. This is the duration of time to spend calculating stuff. Each time Fib is polled by the WoW server AND if Fib is not paused, then Fib will spend about this amount of time doing calculations. When the duration has expired, Fib will enter its pause phase. Use '/fib d ?' to see the current setting.
/fib s to step through a range of sound alert options, including 'silent'. Use '/fib s ?' to see the current setting. This sound will play when your target index has been reached.
/fib i n, where 'n' represents a Fibonacci index >= 2. This is where you want Fib to stop. Use '/fib i' (i.e. with no 'n') to proceed to infinity. Use '/fib i ?' to see the current setting.
/fib k n, where 'n' must be >= 1. This is how many previous F(n), F(n-1), F(n-2)... to retain. For very large F(n) you will not want to save too many as it will bloat the save data. Use '/fib k ?' to see the current setting.
/fib m n to select a calculation method. See the discussion above. A report will show the current method.
/fib r to see a report of the parameter settings and where Fib is at in terms of the current value of 'n' of F(n).
/fib x to reset Fib and start all over.
Viewing Results
The numbers will of course far exceed the limitations of your chat window. A later version of this AddOn could allow a huge string of numbers to be displayed in an in-game frame. For now, you must locate the save files for all your AddOns. Specifically, these are your account rather than per character save files. Usually found in the 'WoW Game Folder'->'WTF'->'Account'->'12345678'->'SavedVariables' folder.
Features
😃 Able to go far beyond the maximum permitted integer size of WoW's programming language
😃 Account rather than character based
😃 Crash recovery
😃 No Ace libraries = no bloat
If You Like Fibonacci
Nobody can resist an adorable Raptor Hatchling pet or the magnificent Netherwing Drake and Long-Forgotten Hippogryph mounts. You'll of course need Dark Soil for The Tillers friendships and a Loose Pebble for your Dog! While fishing you'll wonder if This Scampi Happening? Oh, but it is! Why not Let Minnow about your fishing poles and you surely Cod Do Batter with your fishing achievements. While adventuring, map your way with X and Y coordinates and always go the Hard Yards measuring distance. Have some fun with Yarrr for pirate Tooltips or turn geek with Fibonacci. See all the hidden game asset IDs with Tip or Enumerate your frames. Achievement critters and NPCs receive some Rare Love and keep track of Sunrise & Sunset.
Cookies, Beer & Donations
It is all about the cookies and beer although, and don't let Gallywix know about this, a "thank you" in the comments section fuels my programming appetite and is very much appreciated. And then, you could cut straight to Donate because as Gallywix would say... "time is money, friend". 😊