What is the use of the Mathf.ClosestPowerOfTwo?

Mathf.ClosestPowerOfTwo( -10 ) : 0
Mathf.ClosestPowerOfTwo( -9 ) : 0
Mathf.ClosestPowerOfTwo( -8 ) : 0
Mathf.ClosestPowerOfTwo( -7 ) : 0
Mathf.ClosestPowerOfTwo( -6 ) : 0
Mathf.ClosestPowerOfTwo( -5 ) : 0
Mathf.ClosestPowerOfTwo( -4 ) : 0
Mathf.ClosestPowerOfTwo( -3 ) : 0
Mathf.ClosestPowerOfTwo( -2 ) : 0
Mathf.ClosestPowerOfTwo( -1 ) : 0
Mathf.ClosestPowerOfTwo( 0 ) : 0
Mathf.ClosestPowerOfTwo( 1 ) : 1
Mathf.ClosestPowerOfTwo( 2 ) : 2
Mathf.ClosestPowerOfTwo( 3 ) : 4
Mathf.ClosestPowerOfTwo( 4 ) : 4
Mathf.ClosestPowerOfTwo( 5 ) : 4
Mathf.ClosestPowerOfTwo( 6 ) : 8
Mathf.ClosestPowerOfTwo( 7 ) : 8
Mathf.ClosestPowerOfTwo( 8 ) : 8
Mathf.ClosestPowerOfTwo( 9 ) : 8
Mathf.ClosestPowerOfTwo( 10 ) : 8
Mathf.ClosestPowerOfTwo( 11 ) : 8
Mathf.ClosestPowerOfTwo( 12 ) : 16
Mathf.ClosestPowerOfTwo( 13 ) : 16
Mathf.ClosestPowerOfTwo( 14 ) : 16
Mathf.ClosestPowerOfTwo( 15 ) : 16
Mathf.ClosestPowerOfTwo( 16 ) : 16
Mathf.ClosestPowerOfTwo( 17 ) : 16
Mathf.ClosestPowerOfTwo( 18 ) : 16
Mathf.ClosestPowerOfTwo( 19 ) : 16
Mathf.ClosestPowerOfTwo( 20 ) : 16
Mathf.ClosestPowerOfTwo( 21 ) : 16
Mathf.ClosestPowerOfTwo( 22 ) : 16
Mathf.ClosestPowerOfTwo( 23 ) : 16
Mathf.ClosestPowerOfTwo( 24 ) : 32
Mathf.ClosestPowerOfTwo( 25 ) : 32
Mathf.ClosestPowerOfTwo( 26 ) : 32
Mathf.ClosestPowerOfTwo( 27 ) : 32
Mathf.ClosestPowerOfTwo( 28 ) : 32
Mathf.ClosestPowerOfTwo( 29 ) : 32
Mathf.ClosestPowerOfTwo( 30 ) : 32
Mathf.ClosestPowerOfTwo( 31 ) : 32
Mathf.ClosestPowerOfTwo( 32 ) : 32
Mathf.ClosestPowerOfTwo( 33 ) : 32
Mathf.ClosestPowerOfTwo( 34 ) : 32
Mathf.ClosestPowerOfTwo( 35 ) : 32
Mathf.ClosestPowerOfTwo( 36 ) : 32
Mathf.ClosestPowerOfTwo( 37 ) : 32
Mathf.ClosestPowerOfTwo( 38 ) : 32
Mathf.ClosestPowerOfTwo( 39 ) : 32
Mathf.ClosestPowerOfTwo( 40 ) : 32
Mathf.ClosestPowerOfTwo( 41 ) : 32
Mathf.ClosestPowerOfTwo( 42 ) : 32
Mathf.ClosestPowerOfTwo( 43 ) : 32
Mathf.ClosestPowerOfTwo( 44 ) : 32
Mathf.ClosestPowerOfTwo( 45 ) : 32
Mathf.ClosestPowerOfTwo( 46 ) : 32
Mathf.ClosestPowerOfTwo( 47 ) : 32
Mathf.ClosestPowerOfTwo( 48 ) : 64
Mathf.ClosestPowerOfTwo( 49 ) : 64
Mathf.ClosestPowerOfTwo( 50 ) : 64
Mathf.ClosestPowerOfTwo( 51 ) : 64
Mathf.ClosestPowerOfTwo( 52 ) : 64
Mathf.ClosestPowerOfTwo( 53 ) : 64
Mathf.ClosestPowerOfTwo( 54 ) : 64
Mathf.ClosestPowerOfTwo( 55 ) : 64
Mathf.ClosestPowerOfTwo( 56 ) : 64
Mathf.ClosestPowerOfTwo( 57 ) : 64
Mathf.ClosestPowerOfTwo( 58 ) : 64
Mathf.ClosestPowerOfTwo( 59 ) : 64
Mathf.ClosestPowerOfTwo( 60 ) : 64
Mathf.ClosestPowerOfTwo( 61 ) : 64
Mathf.ClosestPowerOfTwo( 62 ) : 64
Mathf.ClosestPowerOfTwo( 63 ) : 64
Mathf.ClosestPowerOfTwo( 64 ) : 64
Mathf.ClosestPowerOfTwo( 65 ) : 64
Mathf.ClosestPowerOfTwo( 66 ) : 64
Mathf.ClosestPowerOfTwo( 67 ) : 64
Mathf.ClosestPowerOfTwo( 68 ) : 64
Mathf.ClosestPowerOfTwo( 69 ) : 64
Mathf.ClosestPowerOfTwo( 70 ) : 64
Mathf.ClosestPowerOfTwo( 71 ) : 64
Mathf.ClosestPowerOfTwo( 72 ) : 64
Mathf.ClosestPowerOfTwo( 73 ) : 64
Mathf.ClosestPowerOfTwo( 74 ) : 64
Mathf.ClosestPowerOfTwo( 75 ) : 64
Mathf.ClosestPowerOfTwo( 76 ) : 64
Mathf.ClosestPowerOfTwo( 77 ) : 64
Mathf.ClosestPowerOfTwo( 78 ) : 64
Mathf.ClosestPowerOfTwo( 79 ) : 64
Mathf.ClosestPowerOfTwo( 80 ) : 64
Mathf.ClosestPowerOfTwo( 81 ) : 64
Mathf.ClosestPowerOfTwo( 82 ) : 64
Mathf.ClosestPowerOfTwo( 83 ) : 64
Mathf.ClosestPowerOfTwo( 84 ) : 64
Mathf.ClosestPowerOfTwo( 85 ) : 64
Mathf.ClosestPowerOfTwo( 86 ) : 64
Mathf.ClosestPowerOfTwo( 87 ) : 64
Mathf.ClosestPowerOfTwo( 88 ) : 64
Mathf.ClosestPowerOfTwo( 89 ) : 64
Mathf.ClosestPowerOfTwo( 90 ) : 64
Mathf.ClosestPowerOfTwo( 91 ) : 64
Mathf.ClosestPowerOfTwo( 92 ) : 64
Mathf.ClosestPowerOfTwo( 93 ) : 64
Mathf.ClosestPowerOfTwo( 94 ) : 64
Mathf.ClosestPowerOfTwo( 95 ) : 64
Mathf.ClosestPowerOfTwo( 96 ) : 128
Mathf.ClosestPowerOfTwo( 97 ) : 128
Mathf.ClosestPowerOfTwo( 98 ) : 128
Mathf.ClosestPowerOfTwo( 99 ) : 128
Mathf.ClosestPowerOfTwo( 100 ) : 128
Mathf.ClosestPowerOfTwo( 101 ) : 128
Mathf.ClosestPowerOfTwo( 102 ) : 128
Mathf.ClosestPowerOfTwo( 103 ) : 128
Mathf.ClosestPowerOfTwo( 104 ) : 128
Mathf.ClosestPowerOfTwo( 105 ) : 128
Mathf.ClosestPowerOfTwo( 106 ) : 128
Mathf.ClosestPowerOfTwo( 107 ) : 128
Mathf.ClosestPowerOfTwo( 108 ) : 128
Mathf.ClosestPowerOfTwo( 109 ) : 128
Mathf.ClosestPowerOfTwo( 110 ) : 128
Mathf.ClosestPowerOfTwo( 111 ) : 128
Mathf.ClosestPowerOfTwo( 112 ) : 128
Mathf.ClosestPowerOfTwo( 113 ) : 128
Mathf.ClosestPowerOfTwo( 114 ) : 128
Mathf.ClosestPowerOfTwo( 115 ) : 128
Mathf.ClosestPowerOfTwo( 116 ) : 128
Mathf.ClosestPowerOfTwo( 117 ) : 128
Mathf.ClosestPowerOfTwo( 118 ) : 128
Mathf.ClosestPowerOfTwo( 119 ) : 128
Mathf.ClosestPowerOfTwo( 120 ) : 128


Seems from the results of the Binary

But I still do not understand … :?: :?:

Just the closest “2 to the power of” number to the number you inputted.

The closest “2 to the power of” to 58 is 64, etc…

It returns the closest power of two. :slight_smile: A power of two is 2^x. I use it in Fractscape, and also the ApplySplatmap script that comes with Fractscape:

	if (Mathf.ClosestPowerOfTwo(w) != w) {
		EditorUtility.DisplayDialog("Wrong size", "Splatmap width and height must be a power of two", "Cancel"); 
		return;	
	}

–Eric

o~~~
I seem to understand.
return the closest power of “2”?
e.t.c 6 is 8 , 9 is 8 too …
If is 12 of inputted,It would have two results(8 and 16),to take large values,So return the 16.is right ?

thank very much to GargerathSunman and Eric :smile: :smile: :smile: