text: /// Aleth: Ethereum C++ client, tools and libraries.
  // Copyright 2019 Aleth Authors.
  // Licensed under the GNU General Public License, Version 3.
  
  #pragma once
  
  #include <libdevcore/Common.h>
  
  namespace dev
  {
  namespace crypto
  {
  /// Calculates the compression function F used in the BLAKE2 cryptographic hashing algorithm
  /// Throws exception in case input data has incorrect size.
  /// @param _rounds       the number of rounds
  /// @param _stateVector  the state vector - 8 unsigned 64-bit little-endian words
  /// @param _t0, _t1      offset counters - unsigned 64-bit little-endian words
  /// @param _lastBlock    the final block indicator flag
  /// @param _messageBlock the message block vector - 16 unsigned 64-bit little-endian words
  /// @returns             updated state vector with unchanged encoding (little-endian)
  bytes blake2FCompression(uint32_t _rounds, bytesConstRef _stateVector, bytesConstRef _t0,
      bytesConstRef _t1, bool _lastBlock, bytesConstRef _messageBlock);
  }  // namespace crypto
  }  // namespace dev
  