Serialized Form


Package bigOpera

Class bigOpera.BigOpera extends java.lang.Object implements Serializable

serialVersionUID: 7625597484987L

Serialized Fields

serialPath

java.lang.String serialPath
File path to serialize this BigOpera object.
Set to null if serialization is unwanted. Default is "BigOpera.bin"


PRINT_MULTI_STATS

int PRINT_MULTI_STATS
Print the totals and gains every 1000th multiple of PRINT_MULTI_STATS inbetween.
BigOpera always prints stats at the bottom of the list, even if endY is not a multiple.


PRINT_OBITS

boolean PRINT_OBITS
Print a second line with the experimental mathematical "Obit" representation of a number.
Eg. 12 = 111111111111
15 = O(3,5,1) = 0111011111011
23 = O(3,O(4,5,1)) = 011100111101111101101
226 = 01000111011111011011011101


PREFER_LOWER_C

boolean PREFER_LOWER_C
Prefer to record and display those equations that have the lowest c when fingers are equal.
By default set to false the order of creation prevails, which favors higher c. The default also minimizes the construction stack counts, eg. 16 9 8 8 2^^3 7 5 4
As less wide c are as yet unrecorded, only the widest fields are effected by this flag.


Y_MAX

int Y_MAX
An absolute maximum set to the results of bigO that can be recorded.

An Integer.MAX_VALUE number of integers takes 2^31*4bytes = 8Gb
So it's wise to set it lower. The default is:
Y_MAX = 2097152 => Y_MAX*data.length = 8Mb*6 = 48Mb
Beware: printed data for endY==1000000 contains hundreds of megabytes!


cMax

int cMax
Maximum operator number. Given a maximum of a+b where a>1.
Initially when a+b<11 this cMax = 3 or ^^ because 2^^4 = 2^16 = 65536 = 2^^^3 (same Vingers value too) and 9^^2 = 9^9 = 387420489 and 10^10 > Integer.MAX_VALUE
Then when a+b<33 this is 2 because 2^31 = Integer.MAX_VALUE+1


B_MAX

int[] B_MAX
Array with absolute maximum values b for each c.
B_MAX = { 524286, 262143, 18, 4 }


abLimits

int[] abLimits
Default limits to decide when to reduce the operator number c for good. Can be adapted to yEnd later.
If ab in the construction loop gets bigger put cMax--
abLimits[2] for ^ powers is the maximal root plus 2.


textWriter

java.io.BufferedWriter textWriter
Writer for storing the console data directly in a user specified file. Currently this BufferedWriter is not constructed to append text.

See Also:
main(java.lang.String[]), print(java.lang.String)

data

int[][] data
Simple integer array to store the result data. Keeps the number of Java array objects on the heap to a minimum.
Assigns different data to each primary indexes as follows:
  1. The Vingers value V1 for +*   is the number of ones needed to create a number with + and *
  2. V2 for +*^   is the number of ones needed to create a number with c={0,1,2}
  3. Vn for +*^..   is the number of ones needed to create a number with c>=0
  4. a   first operant in last equation with least V
  5. b   second operant in last equation with least V
  6. c   operator number of last equation with least V
  7. Counts the number of bigO operations W1 passed in its +* construction stack.
  8. Counts the number of bigO operations W2 passed in its +*^ construction stack.
  9. Counts the number of bigO operations Wn passed in its widest +*^.. construction stack.
The array is initialized with data of number 0 and 1 (printing starts at one). Increase the array size when needed, with setModel(int).


totals

long[] totals
Cummulative totals for Vingers values V and bigO stack values W. From these the percentage gain from allowing a wider operator can be calculated.
totals is indexed as follows:
  1. Data total of V1 for +*
  2. Data total of V2 for +*^
  3. Data total of Vn for +*^..
  4. Data total of W1 for +*
  5. Data total of W2 for +*^
  6. Data total of Wn for +*^..
  7. The total String length of the Obit number representations.


obitDeviationTotal

double obitDeviationTotal
Sum of deviations of the Obit length from the mean of Obit lengths.
Build the total deviation from the mean as we go at printData(int) to display Obit trends at each call to printFooter(int).


yNextVn

int[] yNextVn
Array to keep track of cummulative Vingers "number of ones" data in the list. Index 0 be y, index 1 be the highest widest V value thus far. Set to highlight "~" the start of higher V at number y in printData(int).


yNextWn

int[] yNextWn
Array to keep track of cummulative bigO stack data in the list. Index 0 be y, index 1 be the highest widest W value thus far. Set to highlight "~" the start of higher W at number y in printData(int).