Форматирование
This commit is contained in:
		
							parent
							
								
									4e7f7ecd60
								
							
						
					
					
						commit
						57f9ada9c9
					
				
					 1 changed files with 5 additions and 5 deletions
				
			
		
							
								
								
									
										10
									
								
								README.md
									
										
									
									
									
								
							
							
						
						
									
										10
									
								
								README.md
									
										
									
									
									
								
							| 
						 | 
					@ -42,7 +42,7 @@ FastCDC использует три основных улучшения для 
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Шаг 4: Как Работает Алгоритм — Пошагово
 | 
					### Шаг 4: Как Работает Алгоритм — Пошагово
 | 
				
			||||||
1. **Подготовка**: Взять буфер данных (файл как массив байт, длиной n). Установить параметры. Инициализировать хэш (fp = 0) и позицию (i = MinSize — для пропуска мелких фрагментов).
 | 
					1. **Подготовка**: Взять буфер данных (файл как массив байт, длиной n). Установить параметры. Инициализировать хэш (fp = 0) и позицию (i = MinSize — для пропуска мелких фрагментов).
 | 
				
			||||||
   
 | 
					
 | 
				
			||||||
2. **Проверка краёв**: Если n ≤ MinSize — весь буфер считается одним чанком. Если n > MaxSize — обрезать до MaxSize. Если n < avg — установить avg = n.
 | 
					2. **Проверка краёв**: Если n ≤ MinSize — весь буфер считается одним чанком. Если n > MaxSize — обрезать до MaxSize. Если n < avg — установить avg = n.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
3. **Цикл для маленьких чанков (до avg, строгая маска)**:
 | 
					3. **Цикл для маленьких чанков (до avg, строгая маска)**:
 | 
				
			||||||
| 
						 | 
					@ -91,10 +91,10 @@ ulong fastcdc(ubyte[] src, size_t n, size_t minSize, size_t maxSize, size_t norm
 | 
				
			||||||
    if (n <= minSize) return n;
 | 
					    if (n <= minSize) return n;
 | 
				
			||||||
    if (n > maxSize) n = maxSize;
 | 
					    if (n > maxSize) n = maxSize;
 | 
				
			||||||
    if (n < normalSize) normalSize = n;
 | 
					    if (n < normalSize) normalSize = n;
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    ulong fp = 0;
 | 
					    ulong fp = 0;
 | 
				
			||||||
    size_t i = minSize;  // Пропуск мелких
 | 
					    size_t i = minSize;  // Пропуск мелких
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    // Цикл до normalSize (строгая маска)
 | 
					    // Цикл до normalSize (строгая маска)
 | 
				
			||||||
    while (i < normalSize) {
 | 
					    while (i < normalSize) {
 | 
				
			||||||
        fp = (fp << 1) + gear[src[i]];
 | 
					        fp = (fp << 1) + gear[src[i]];
 | 
				
			||||||
| 
						 | 
					@ -103,7 +103,7 @@ ulong fastcdc(ubyte[] src, size_t n, size_t minSize, size_t maxSize, size_t norm
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        i++;
 | 
					        i++;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    // Цикл после (слабая маска)
 | 
					    // Цикл после (слабая маска)
 | 
				
			||||||
    while (i < n) {
 | 
					    while (i < n) {
 | 
				
			||||||
        fp = (fp << 1) + gear[src[i]];
 | 
					        fp = (fp << 1) + gear[src[i]];
 | 
				
			||||||
| 
						 | 
					@ -112,7 +112,7 @@ ulong fastcdc(ubyte[] src, size_t n, size_t minSize, size_t maxSize, size_t norm
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        i++;
 | 
					        i++;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
    
 | 
					
 | 
				
			||||||
    return n;  // Достигнут max
 | 
					    return n;  // Достигнут max
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
```
 | 
					```
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue