69 **p r o t e c t e d s t a t i c i n t** sizeMax **=16 ;**
70 71 **p r o t e c t e d i n t** sizeFrame = −1; **// u n d e f i n e d by d e f a u l t** 72 **p r o t e c t e d i n t** sizeSet=−1; 73 74 75 **// / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / / :**
76 **// p u b l i c p a r t**
77 **// /////////////** 78 79 /∗∗
80 ∗ **Return th e <i>i<SUP>th</SUP></i> atom i c p r o p o s i t i o n .**
81 ∗ For c l a s s { @ l ink F r e e b o o l e an } , th e <i>i<SUP>th</SUP></i> **atom i c p r o p o s i t i o n** 82 ∗ **i s c o n s t i t u t e d by a l l <i>j<SUP>th</SUP></i> b i t s t o r e d i n th e**
83 ∗ **<i>long </ i> a r r a y su ch th a t { @ l i t e r a l j & ( 1 << i ) } i s non nu l .**
84 ∗ **<BR><BR>**
85 ∗ **r e t u r n <i>n u l l </ i> i f <i>i </ i> i s out o f bounds .** 86 ∗/
87 **p u b l i c** L atomic ( i n t i ) {
88 i f ( ( i>=sizeFrame ) | | ( i**<0) ) {**
89 **r e t u r n n u l l** ;
90 }
91 **i n t** j , index ;
92 sw i t c h ( i ) {
93 c a s e 0 : **f o r** ( index =0; index<=size_mem_1 ; index++)
94 _memory [ index ]=0 xaaaaaaaaaaaaaaaal ; **br eak** ; 95 c a s e 1 : **f o r** ( index =0; index<=size_mem_1 ; index++)
96 _memory [ index ]=0 xccccccccccccccccl ; **br eak** ;
97 c a s e 2 : **f o r** ( index =0; index<=size_mem_1 ; index++) 98 _memory [ index ]=0 xf0f0f0f0f0f0f0f0l ; **br eak** ; 99 c a s e 3 : **f o r** ( index =0; index<=size_mem_1 ; index++)
100 _memory [ index ]=0 xff00ff00ff00ff00l ; **br eak** ;
101 c a s e 4 : **f o r** ( index =0; index<=size_mem_1 ; index++) 102 _memory [ index ]=0 xffff0000ffff0000l ; **br eak** ;
103 c a s e 5 : **f o r** ( index =0; index<=size_mem_1 ; index++)
104 _memory [ index ]=0 xffffffff00000000l ; **br eak** ;
105 d e f a u l t : j=1<<(i−**6) ;** 106 **f o r** ( index =0; index<=size_mem_1 ; index**++) {**
107 i f ( ( index&j **) !=0)** _memory [ index ]=0 xffffffffffffffffl ;
108 **e l s e** _memory [ index ]=0 x0000000000000000l ;
109 } 110 **br eak** ;
111 }
112 i f ( sizeFrame <6) _memory **[0]&=** highest_long_one ; 113 r e t u r n ( L ) **t h i s** ;
114 }
115 116 /∗∗ 117 ∗ **S e t o r r e t u r n th e s i z e o f <i>t h i s </ i >.**
118 ∗ **D i f f e n r e n t c a s e s a r e c o n s i d e r e d :** 119 ∗ **<br><br>**
120 ∗ <i>n ewS i z e<0</ i> −− **The s i z e o f <i>t h i s </ i> i s k ept unchanged , and t h i s s i z e** 121 ∗ **i s r e t u r n e d by th e method .**
122 ∗ **<br>**
123 ∗ <i>n ewS i z e>=0</i> −− **I f <i>n ewS i z e</ i> i s a v a l i d new s i z e , th en th e s i z e o f**
124 ∗ <i>t h i s </ i> i s changed t o <i>n ewS i z e</ i >, and t h i s s i z e i s r **e t u r n e d by th e** ←֓
method .

125 ∗ **<br><br>**
126 ∗ V a l id new s i z e i s su ch th a t <i>0<=n ewS i z e<=s izeMax</ i >. By **d e f a u l t ,** 127 ∗ **<i >{@ l ink F r e e b o o l e an\#s i z eMax }=16</ i >.**
128 ∗ **<br>**
129 ∗ For c l a s s { @ l ink F r e e b o o l e an } , <i>n ewS i z e</ i> i s s t o r e d i n **p r o t e c t e d v a r i a b l e**
130 ∗ <i>s i z eFram e </ i> and i s e q u a l s t o th e number o f atom i c p r o p o **s i t i o n s ( p o s s i b l y** ←֓
0 ) .

131 ∗ The number o f a c t i v a t e d b i t s s t o r e d i n th e <i>long </ i> a r r a y **i s e q u a l t o <i >2**
132 ∗ **<sup>n ewS i z e</sup >.** 133 ∗ **<br><br>**
134 ∗
135 ∗ N .B . 1 . By d e f a u l t , t h i s method i s not imp lemented by { @ l ink L **a t t i c e } d i r e c t l y** ←֓
,
136 ∗ **but by i t s s u b c l a s s e s .** 137 ∗ **<br>**
138 ∗ N .B . 2 . The s i z e i s not n e c e s s a r i l l y th e c a r d i n a l o f th e l a t t i **c e , but may be** 139 ∗ **i n s t e a d th e number o f atom i c p r o p o s i t i o n s o f th e l a t t i c e .**