cube_root.h revision 0529e5d033099cbfc42635f6f6183833b09dff6e
1// Copyright (c) 2013 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef NET_QUIC_CONGESTION_CONTROL_CUBE_ROOT_H_ 6#define NET_QUIC_CONGESTION_CONTROL_CUBE_ROOT_H_ 7 8#include "base/basictypes.h" 9#include "net/base/net_export.h" 10 11namespace net { 12 13class NET_EXPORT_PRIVATE CubeRoot { 14 public: 15 // Calculates the cube root using a table lookup followed by one Newton- 16 // Raphson iteration. 17 static uint32 Root(uint64 a); 18 19 private: 20 DISALLOW_COPY_AND_ASSIGN(CubeRoot); 21}; 22 23} // namespace net 24#endif // NET_QUIC_CONGESTION_CONTROL_CUBE_ROOT_H_ 25