public static IEnumerable <IMiniWatch> ToDWords(this IEnumerable <long> addresses, SearchEngineSettings settings) => settings.IsDetailed() ? addresses.ToDWords(settings.Domain, settings.BigEndian) : addresses.ToDetailedDWords(settings.Domain, settings.BigEndian);
public void Start() { _history.Clear(); var domain = _settings.Domain; var listSize = domain.Size; if (!_settings.CheckMisAligned) { listSize /= (int)_settings.Size; } _watchList = new List <IMiniWatch>((int)listSize); switch (_settings.Size) { default: case WatchSize.Byte: for (int i = 0; i < domain.Size; i++) { if (_settings.IsDetailed()) { _watchList.Add(new MiniByteWatchDetailed(domain, i)); } else { _watchList.Add(new MiniByteWatch(domain, i)); } } break; case WatchSize.Word: for (int i = 0; i < domain.Size - 1; i += _settings.CheckMisAligned ? 1 : 2) { if (_settings.IsDetailed()) { _watchList.Add(new MiniWordWatchDetailed(domain, i, _settings.BigEndian)); } else { _watchList.Add(new MiniWordWatch(domain, i, _settings.BigEndian)); } } break; case WatchSize.DWord: for (int i = 0; i < domain.Size - 3; i += _settings.CheckMisAligned ? 1 : 4) { if (_settings.IsDetailed()) { _watchList.Add(new MiniDWordWatchDetailed(domain, i, _settings.BigEndian)); } else { _watchList.Add(new MiniDWordWatch(domain, i, _settings.BigEndian)); } } break; } }
public static IEnumerable <IMiniWatch> ToBytes(this IEnumerable <long> addresses, SearchEngineSettings settings) => settings.IsDetailed() ? addresses.ToBytes(settings.Domain) : addresses.ToDetailedBytes(settings.Domain);