Formatting the code with https://github.com/mvdan/gofumpt
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
| ... | ... |
@@ -259,16 +259,22 @@ func TestMergeSequences(t *testing.T) {
|
| 259 | 259 |
{&sequence{block: 0xFFFFFFF0, count: 1, next: &sequence{block: 0xFFFFFFF0, count: 8}}, &sequence{block: 0xFFFFFFF0, count: 9}},
|
| 260 | 260 |
|
| 261 | 261 |
{&sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFE, count: 1, next: &sequence{block: 0xFE, count: 5}}}, &sequence{block: 0xFE, count: 14}},
|
| 262 |
- {&sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFE, count: 1, next: &sequence{block: 0xFE, count: 5, next: &sequence{block: 0xFF, count: 1}}}},
|
|
| 263 |
- &sequence{block: 0xFE, count: 14, next: &sequence{block: 0xFF, count: 1}}},
|
|
| 262 |
+ {
|
|
| 263 |
+ &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFE, count: 1, next: &sequence{block: 0xFE, count: 5, next: &sequence{block: 0xFF, count: 1}}}},
|
|
| 264 |
+ &sequence{block: 0xFE, count: 14, next: &sequence{block: 0xFF, count: 1}},
|
|
| 265 |
+ }, |
|
| 264 | 266 |
|
| 265 | 267 |
// No merge |
| 266 |
- {&sequence{block: 0xFE, count: 8, next: &sequence{block: 0xF8, count: 1, next: &sequence{block: 0xFE, count: 5}}},
|
|
| 267 |
- &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xF8, count: 1, next: &sequence{block: 0xFE, count: 5}}}},
|
|
| 268 |
+ {
|
|
| 269 |
+ &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xF8, count: 1, next: &sequence{block: 0xFE, count: 5}}},
|
|
| 270 |
+ &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xF8, count: 1, next: &sequence{block: 0xFE, count: 5}}},
|
|
| 271 |
+ }, |
|
| 268 | 272 |
|
| 269 | 273 |
// No merge from head: // Merge function tries to merge from passed head. If it can't merge with next, it does not reattempt with next as head |
| 270 |
- {&sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFF, count: 1, next: &sequence{block: 0xFF, count: 5}}},
|
|
| 271 |
- &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFF, count: 6}}},
|
|
| 274 |
+ {
|
|
| 275 |
+ &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFF, count: 1, next: &sequence{block: 0xFF, count: 5}}},
|
|
| 276 |
+ &sequence{block: 0xFE, count: 8, next: &sequence{block: 0xFF, count: 6}},
|
|
| 277 |
+ }, |
|
| 272 | 278 |
} |
| 273 | 279 |
|
| 274 | 280 |
for n, i := range input {
|
| ... | ... |
@@ -299,123 +305,211 @@ func TestPushReservation(t *testing.T) {
|
| 299 | 299 |
{&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 7}}, 0, 1, &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0x0, count: 7, next: nil}}},
|
| 300 | 300 |
|
| 301 | 301 |
// Create second sequence and fill in 8 addresses starting from address 32 |
| 302 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0x00000000, count: 1, next: &sequence{block: 0xffffffff, count: 6, next: nil}}}, 4, 0,
|
|
| 303 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 304 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 1,
|
|
| 305 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 306 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 2,
|
|
| 307 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xE0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 308 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xE0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 3,
|
|
| 309 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 310 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 4,
|
|
| 311 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF8000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 312 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF8000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 5,
|
|
| 313 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFC000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 314 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFC000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 6,
|
|
| 315 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFE000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 316 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFE000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 7,
|
|
| 317 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 302 |
+ {
|
|
| 303 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0x00000000, count: 1, next: &sequence{block: 0xffffffff, count: 6, next: nil}}}, 4, 0,
|
|
| 304 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 305 |
+ }, |
|
| 306 |
+ {
|
|
| 307 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 1,
|
|
| 308 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 309 |
+ }, |
|
| 310 |
+ {
|
|
| 311 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 2,
|
|
| 312 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xE0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 313 |
+ }, |
|
| 314 |
+ {
|
|
| 315 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xE0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 3,
|
|
| 316 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 317 |
+ }, |
|
| 318 |
+ {
|
|
| 319 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF0000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 4,
|
|
| 320 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF8000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 321 |
+ }, |
|
| 322 |
+ {
|
|
| 323 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xF8000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 5,
|
|
| 324 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFC000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 325 |
+ }, |
|
| 326 |
+ {
|
|
| 327 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFC000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 6,
|
|
| 328 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFE000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 329 |
+ }, |
|
| 330 |
+ {
|
|
| 331 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFE000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 4, 7,
|
|
| 332 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 333 |
+ }, |
|
| 318 | 334 |
// fill in 8 addresses starting from address 40 |
| 319 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 0,
|
|
| 320 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF800000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 321 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF800000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 1,
|
|
| 322 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFC00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 323 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFC00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 2,
|
|
| 324 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFE00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 325 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFE00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 3,
|
|
| 326 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 327 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 4,
|
|
| 328 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF80000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 329 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF80000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 5,
|
|
| 330 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFC0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 331 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFC0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 6,
|
|
| 332 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFE0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 333 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFE0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 7,
|
|
| 334 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFF0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}},
|
|
| 335 |
+ {
|
|
| 336 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF000000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 0,
|
|
| 337 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF800000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 338 |
+ }, |
|
| 339 |
+ {
|
|
| 340 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFF800000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 1,
|
|
| 341 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFC00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 342 |
+ }, |
|
| 343 |
+ {
|
|
| 344 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFC00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 2,
|
|
| 345 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFE00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 346 |
+ }, |
|
| 347 |
+ {
|
|
| 348 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFE00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 3,
|
|
| 349 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 350 |
+ }, |
|
| 351 |
+ {
|
|
| 352 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF00000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 4,
|
|
| 353 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF80000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 354 |
+ }, |
|
| 355 |
+ {
|
|
| 356 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFF80000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 5,
|
|
| 357 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFC0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 358 |
+ }, |
|
| 359 |
+ {
|
|
| 360 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFC0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 6,
|
|
| 361 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFE0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 362 |
+ }, |
|
| 363 |
+ {
|
|
| 364 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFE0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}}, 5, 7,
|
|
| 365 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xFFFF0000, count: 1, next: &sequence{block: 0xffffffff, count: 6}}},
|
|
| 366 |
+ }, |
|
| 335 | 367 |
|
| 336 | 368 |
// Insert new sequence |
| 337 |
- {&sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0x0, count: 6}}, 8, 0,
|
|
| 338 |
- &sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5}}}},
|
|
| 339 |
- {&sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5}}}, 8, 1,
|
|
| 340 |
- &sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0x0, count: 5}}}},
|
|
| 369 |
+ {
|
|
| 370 |
+ &sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0x0, count: 6}}, 8, 0,
|
|
| 371 |
+ &sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5}}},
|
|
| 372 |
+ }, |
|
| 373 |
+ {
|
|
| 374 |
+ &sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5}}}, 8, 1,
|
|
| 375 |
+ &sequence{block: 0xffffffff, count: 2, next: &sequence{block: 0xC0000000, count: 1, next: &sequence{block: 0x0, count: 5}}},
|
|
| 376 |
+ }, |
|
| 341 | 377 |
|
| 342 | 378 |
// Merge affected with next |
| 343 |
- {&sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 2, next: &sequence{block: 0xffffffff, count: 1}}}, 31, 7,
|
|
| 344 |
- &sequence{block: 0xffffffff, count: 8, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}},
|
|
| 345 |
- {&sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xfffffffc, count: 1, next: &sequence{block: 0xfffffffe, count: 6}}}, 7, 6,
|
|
| 346 |
- &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xfffffffe, count: 7}}},
|
|
| 379 |
+ {
|
|
| 380 |
+ &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 2, next: &sequence{block: 0xffffffff, count: 1}}}, 31, 7,
|
|
| 381 |
+ &sequence{block: 0xffffffff, count: 8, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}},
|
|
| 382 |
+ }, |
|
| 383 |
+ {
|
|
| 384 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xfffffffc, count: 1, next: &sequence{block: 0xfffffffe, count: 6}}}, 7, 6,
|
|
| 385 |
+ &sequence{block: 0xffffffff, count: 1, next: &sequence{block: 0xfffffffe, count: 7}},
|
|
| 386 |
+ }, |
|
| 347 | 387 |
|
| 348 | 388 |
// Merge affected with next and next.next |
| 349 |
- {&sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}, 31, 7,
|
|
| 350 |
- &sequence{block: 0xffffffff, count: 9}},
|
|
| 351 |
- {&sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1}}, 31, 7,
|
|
| 352 |
- &sequence{block: 0xffffffff, count: 8}},
|
|
| 389 |
+ {
|
|
| 390 |
+ &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}, 31, 7,
|
|
| 391 |
+ &sequence{block: 0xffffffff, count: 9},
|
|
| 392 |
+ }, |
|
| 393 |
+ {
|
|
| 394 |
+ &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1}}, 31, 7,
|
|
| 395 |
+ &sequence{block: 0xffffffff, count: 8},
|
|
| 396 |
+ }, |
|
| 353 | 397 |
|
| 354 | 398 |
// Merge affected with previous and next |
| 355 |
- {&sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}, 31, 7,
|
|
| 356 |
- &sequence{block: 0xffffffff, count: 9}},
|
|
| 399 |
+ {
|
|
| 400 |
+ &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}, 31, 7,
|
|
| 401 |
+ &sequence{block: 0xffffffff, count: 9},
|
|
| 402 |
+ }, |
|
| 357 | 403 |
|
| 358 | 404 |
// Redundant push: No change |
| 359 | 405 |
{&sequence{block: 0xffff0000, count: 1}, 0, 0, &sequence{block: 0xffff0000, count: 1}},
|
| 360 | 406 |
{&sequence{block: 0xffff0000, count: 7}, 25, 7, &sequence{block: 0xffff0000, count: 7}},
|
| 361 |
- {&sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}, 7, 7,
|
|
| 362 |
- &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}},
|
|
| 407 |
+ {
|
|
| 408 |
+ &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}}, 7, 7,
|
|
| 409 |
+ &sequence{block: 0xffffffff, count: 7, next: &sequence{block: 0xfffffffe, count: 1, next: &sequence{block: 0xffffffff, count: 1}}},
|
|
| 410 |
+ }, |
|
| 363 | 411 |
|
| 364 | 412 |
// Set last bit |
| 365 | 413 |
{&sequence{block: 0x0, count: 8}, 31, 7, &sequence{block: 0x0, count: 7, next: &sequence{block: 0x1, count: 1}}},
|
| 366 | 414 |
|
| 367 | 415 |
// Set bit in a middle sequence in the first block, first bit |
| 368 |
- {&sequence{block: 0x40000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 0,
|
|
| 369 |
- &sequence{block: 0x40000000, count: 1, next: &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5,
|
|
| 370 |
- next: &sequence{block: 0x1, count: 1}}}}},
|
|
| 416 |
+ {
|
|
| 417 |
+ &sequence{block: 0x40000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 0,
|
|
| 418 |
+ &sequence{block: 0x40000000, count: 1, next: &sequence{block: 0x80000000, count: 1, next: &sequence{
|
|
| 419 |
+ block: 0x0, count: 5, |
|
| 420 |
+ next: &sequence{block: 0x1, count: 1},
|
|
| 421 |
+ }}}, |
|
| 422 |
+ }, |
|
| 371 | 423 |
|
| 372 | 424 |
// Set bit in a middle sequence in the first block, first bit (merge involved) |
| 373 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 0,
|
|
| 374 |
- &sequence{block: 0x80000000, count: 2, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x1, count: 1}}}},
|
|
| 425 |
+ {
|
|
| 426 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 0,
|
|
| 427 |
+ &sequence{block: 0x80000000, count: 2, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x1, count: 1}}},
|
|
| 428 |
+ }, |
|
| 375 | 429 |
|
| 376 | 430 |
// Set bit in a middle sequence in the first block, last bit |
| 377 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 31,
|
|
| 378 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x1, count: 1, next: &sequence{block: 0x0, count: 5,
|
|
| 379 |
- next: &sequence{block: 0x1, count: 1}}}}},
|
|
| 431 |
+ {
|
|
| 432 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 31,
|
|
| 433 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x1, count: 1, next: &sequence{
|
|
| 434 |
+ block: 0x0, count: 5, |
|
| 435 |
+ next: &sequence{block: 0x1, count: 1},
|
|
| 436 |
+ }}}, |
|
| 437 |
+ }, |
|
| 380 | 438 |
|
| 381 | 439 |
// Set bit in a middle sequence in the first block, middle bit |
| 382 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 16,
|
|
| 383 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x8000, count: 1, next: &sequence{block: 0x0, count: 5,
|
|
| 384 |
- next: &sequence{block: 0x1, count: 1}}}}},
|
|
| 440 |
+ {
|
|
| 441 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 4, 16,
|
|
| 442 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x8000, count: 1, next: &sequence{
|
|
| 443 |
+ block: 0x0, count: 5, |
|
| 444 |
+ next: &sequence{block: 0x1, count: 1},
|
|
| 445 |
+ }}}, |
|
| 446 |
+ }, |
|
| 385 | 447 |
|
| 386 | 448 |
// Set bit in a middle sequence in a middle block, first bit |
| 387 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 16, 0,
|
|
| 388 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 3, next: &sequence{block: 0x80000000, count: 1,
|
|
| 389 |
- next: &sequence{block: 0x0, count: 2, next: &sequence{block: 0x1, count: 1}}}}}},
|
|
| 449 |
+ {
|
|
| 450 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 16, 0,
|
|
| 451 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 3, next: &sequence{
|
|
| 452 |
+ block: 0x80000000, count: 1, |
|
| 453 |
+ next: &sequence{block: 0x0, count: 2, next: &sequence{block: 0x1, count: 1}},
|
|
| 454 |
+ }}}, |
|
| 455 |
+ }, |
|
| 390 | 456 |
|
| 391 | 457 |
// Set bit in a middle sequence in a middle block, last bit |
| 392 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 16, 31,
|
|
| 393 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 3, next: &sequence{block: 0x1, count: 1,
|
|
| 394 |
- next: &sequence{block: 0x0, count: 2, next: &sequence{block: 0x1, count: 1}}}}}},
|
|
| 458 |
+ {
|
|
| 459 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 16, 31,
|
|
| 460 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 3, next: &sequence{
|
|
| 461 |
+ block: 0x1, count: 1, |
|
| 462 |
+ next: &sequence{block: 0x0, count: 2, next: &sequence{block: 0x1, count: 1}},
|
|
| 463 |
+ }}}, |
|
| 464 |
+ }, |
|
| 395 | 465 |
|
| 396 | 466 |
// Set bit in a middle sequence in a middle block, middle bit |
| 397 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 16, 15,
|
|
| 398 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 3, next: &sequence{block: 0x10000, count: 1,
|
|
| 399 |
- next: &sequence{block: 0x0, count: 2, next: &sequence{block: 0x1, count: 1}}}}}},
|
|
| 467 |
+ {
|
|
| 468 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 16, 15,
|
|
| 469 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 3, next: &sequence{
|
|
| 470 |
+ block: 0x10000, count: 1, |
|
| 471 |
+ next: &sequence{block: 0x0, count: 2, next: &sequence{block: 0x1, count: 1}},
|
|
| 472 |
+ }}}, |
|
| 473 |
+ }, |
|
| 400 | 474 |
|
| 401 | 475 |
// Set bit in a middle sequence in the last block, first bit |
| 402 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 24, 0,
|
|
| 403 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x80000000, count: 1,
|
|
| 404 |
- next: &sequence{block: 0x1, count: 1}}}}},
|
|
| 476 |
+ {
|
|
| 477 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 24, 0,
|
|
| 478 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{
|
|
| 479 |
+ block: 0x80000000, count: 1, |
|
| 480 |
+ next: &sequence{block: 0x1, count: 1},
|
|
| 481 |
+ }}}, |
|
| 482 |
+ }, |
|
| 405 | 483 |
|
| 406 | 484 |
// Set bit in a middle sequence in the last block, last bit |
| 407 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x4, count: 1}}}, 24, 31,
|
|
| 408 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x1, count: 1,
|
|
| 409 |
- next: &sequence{block: 0x4, count: 1}}}}},
|
|
| 485 |
+ {
|
|
| 486 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x4, count: 1}}}, 24, 31,
|
|
| 487 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{
|
|
| 488 |
+ block: 0x1, count: 1, |
|
| 489 |
+ next: &sequence{block: 0x4, count: 1},
|
|
| 490 |
+ }}}, |
|
| 491 |
+ }, |
|
| 410 | 492 |
|
| 411 | 493 |
// Set bit in a middle sequence in the last block, last bit (merge involved) |
| 412 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 24, 31,
|
|
| 413 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x1, count: 2}}}},
|
|
| 494 |
+ {
|
|
| 495 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 24, 31,
|
|
| 496 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x1, count: 2}}},
|
|
| 497 |
+ }, |
|
| 414 | 498 |
|
| 415 | 499 |
// Set bit in a middle sequence in the last block, middle bit |
| 416 |
- {&sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 24, 16,
|
|
| 417 |
- &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{block: 0x8000, count: 1,
|
|
| 418 |
- next: &sequence{block: 0x1, count: 1}}}}},
|
|
| 500 |
+ {
|
|
| 501 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 6, next: &sequence{block: 0x1, count: 1}}}, 24, 16,
|
|
| 502 |
+ &sequence{block: 0x80000000, count: 1, next: &sequence{block: 0x0, count: 5, next: &sequence{
|
|
| 503 |
+ block: 0x8000, count: 1, |
|
| 504 |
+ next: &sequence{block: 0x1, count: 1},
|
|
| 505 |
+ }}}, |
|
| 506 |
+ }, |
|
| 419 | 507 |
} |
| 420 | 508 |
|
| 421 | 509 |
for n, i := range input {
|
| ... | ... |
@@ -615,7 +709,7 @@ func TestOffsetSetUnset(t *testing.T) {
|
| 615 | 615 |
t.Fatal(err) |
| 616 | 616 |
} |
| 617 | 617 |
|
| 618 |
- //At this point sequence is (0xffffffff, 9)->(0x7fffffff, 1)->(0xffffffff, 22)->end |
|
| 618 |
+ // At this point sequence is (0xffffffff, 9)->(0x7fffffff, 1)->(0xffffffff, 22)->end |
|
| 619 | 619 |
o, err := hnd.SetAnyInRange(32, 500, false) |
| 620 | 620 |
if err != nil {
|
| 621 | 621 |
t.Fatal(err) |
| ... | ... |
@@ -913,7 +1007,6 @@ func TestAllocateRandomDeallocate(t *testing.T) {
|
| 913 | 913 |
} |
| 914 | 914 |
|
| 915 | 915 |
func TestAllocateRandomDeallocateSerialize(t *testing.T) {
|
| 916 |
- |
|
| 917 | 916 |
numBlocks := uint32(8) |
| 918 | 917 |
numBits := int(numBlocks * blockLen) |
| 919 | 918 |
hnd := New(uint64(numBits)) |
| ... | ... |
@@ -996,7 +1089,7 @@ func testSetRollover(t *testing.T, serial bool) {
|
| 996 | 996 |
t.Fatalf("Unexpected free bits: found %d free bits.\nSeed: %d.\n%s", hnd.unselected, seed, hnd)
|
| 997 | 997 |
} |
| 998 | 998 |
|
| 999 |
- //request to allocate for remaining half of the bits |
|
| 999 |
+ // request to allocate for remaining half of the bits |
|
| 1000 | 1000 |
for i := 0; i < numBits/2; i++ {
|
| 1001 | 1001 |
_, err := hnd.SetAny(serial) |
| 1002 | 1002 |
if err != nil {
|
| ... | ... |
@@ -1004,8 +1097,8 @@ func testSetRollover(t *testing.T, serial bool) {
|
| 1004 | 1004 |
} |
| 1005 | 1005 |
} |
| 1006 | 1006 |
|
| 1007 |
- //At this point all the bits must be allocated except the randomly unallocated bits |
|
| 1008 |
- //which were unallocated in the first half of the bit sequence |
|
| 1007 |
+ // At this point all the bits must be allocated except the randomly unallocated bits |
|
| 1008 |
+ // which were unallocated in the first half of the bit sequence |
|
| 1009 | 1009 |
if hnd.Unselected() != uint64(numBits/4) {
|
| 1010 | 1010 |
t.Fatalf("Unexpected number of unselected bits %d, Expected %d", hnd.Unselected(), numBits/4)
|
| 1011 | 1011 |
} |
| ... | ... |
@@ -1016,8 +1109,8 @@ func testSetRollover(t *testing.T, serial bool) {
|
| 1016 | 1016 |
t.Fatalf("Unexpected failure on allocation %d: %v\nSeed: %d\n%s", i, err, seed, hnd)
|
| 1017 | 1017 |
} |
| 1018 | 1018 |
} |
| 1019 |
- //Now requesting to allocate the unallocated random bits (qurter of the number of bits) should |
|
| 1020 |
- //leave no more bits that can be allocated. |
|
| 1019 |
+ // Now requesting to allocate the unallocated random bits (qurter of the number of bits) should |
|
| 1020 |
+ // leave no more bits that can be allocated. |
|
| 1021 | 1021 |
if hnd.Unselected() != 0 {
|
| 1022 | 1022 |
t.Fatalf("Unexpected number of unselected bits %d, Expected %d", hnd.Unselected(), 0)
|
| 1023 | 1023 |
} |