202 lines
8.3 KiB
Text
202 lines
8.3 KiB
Text
===============================================================================
|
|
|
|
/*
|
|
* Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
===============================================================================
|
|
|
|
/*
|
|
* Copyright (C) 2010 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*
|
|
*/
|
|
|
|
===============================================================================
|
|
|
|
/*
|
|
* http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html
|
|
* Copyright Takuya OOURA, 1996-2001
|
|
*
|
|
* You may use, copy, modify and distribute this code for any purpose (include
|
|
* commercial use) and without fee. Please refer to this package when you modify
|
|
* this code.
|
|
*
|
|
* Changes by the WebRTC authors:
|
|
* - Trivial type modifications.
|
|
* - Minimal code subset to do rdft of length 128.
|
|
* - Optimizations because of known length.
|
|
*
|
|
* All changes are covered by the WebRTC license and IP grant:
|
|
* Use of this source code is governed by a BSD-style license
|
|
* that can be found in the LICENSE file in the root of the source
|
|
* tree. An additional intellectual property rights grant can be found
|
|
* in the file PATENTS. All contributing project authors may
|
|
* be found in the AUTHORS file in the root of the source tree.
|
|
*/
|
|
|
|
===============================================================================
|
|
|
|
/*
|
|
* http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html
|
|
* Copyright Takuya OOURA, 1996-2001
|
|
*
|
|
* You may use, copy, modify and distribute this code for any purpose (include
|
|
* commercial use) and without fee. Please refer to this package when you modify
|
|
* this code.
|
|
*
|
|
* Changes:
|
|
* Trivial type modifications by the WebRTC authors.
|
|
*/
|
|
|
|
===============================================================================
|
|
|
|
/*Boost Software License - Version 1.0 - August 17th, 2003
|
|
|
|
Permission is hereby granted, free of charge, to any person or organization
|
|
obtaining a copy of the software and accompanying documentation covered by
|
|
this license (the "Software") to use, reproduce, display, distribute,
|
|
execute, and transmit the Software, and to prepare derivative works of the
|
|
Software, and to permit third-parties to whom the Software is furnished to
|
|
do so, all subject to the following:
|
|
|
|
The copyright notices in the Software and this entire statement, including
|
|
the above license grant, this restriction and the following disclaimer,
|
|
must be included in all copies of the Software, in whole or in part, and
|
|
all derivative works of the Software, unless such copies or derivative
|
|
works are solely in the form of machine-executable object code generated by
|
|
a source language processor.
|
|
|
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
|
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
|
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
|
DEALINGS IN THE SOFTWARE.*/
|
|
|
|
===============================================================================
|
|
|
|
// Copyright Steven J. Ross 2001 - 2009.
|
|
// Distributed under the Boost Software License, Version 1.0.
|
|
// (See accompanying file LICENSE_1_0.txt or copy at
|
|
// http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
// See http://www.boost.org/ for updates, documentation, and revision history.
|
|
|
|
/*
|
|
Some improvements suggested by:
|
|
Phil Endecott and Frank Gennari
|
|
Cygwin fix provided by:
|
|
Scott McMurray
|
|
*/
|
|
|
|
===============================================================================
|
|
|
|
// Copyright (c) 2011 The Chromium Authors. All rights reserved.
|
|
//
|
|
// Redistribution and use in source and binary forms, with or without
|
|
// modification, are permitted provided that the following conditions are
|
|
// met:
|
|
//
|
|
// * Redistributions of source code must retain the above copyright
|
|
// notice, this list of conditions and the following disclaimer.
|
|
// * Redistributions in binary form must reproduce the above
|
|
// copyright notice, this list of conditions and the following disclaimer
|
|
// in the documentation and/or other materials provided with the
|
|
// distribution.
|
|
// * Neither the name of Google Inc. nor the names of its
|
|
// contributors may be used to endorse or promote products derived from
|
|
// this software without specific prior written permission.
|
|
//
|
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
|
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
===============================================================================
|
|
|
|
// (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
|
|
// Copyright (c) 2001, 2002 Peter Dimov
|
|
//
|
|
// Permission to copy, use, modify, sell and distribute this software
|
|
// is granted provided this copyright notice appears in all copies.
|
|
// This software is provided "as is" without express or implied
|
|
// warranty, and with no claim as to its suitability for any purpose.
|
|
//
|
|
// See http://www.boost.org/libs/smart_ptr/scoped_ptr.htm for documentation.
|
|
//
|
|
|
|
// scoped_ptr mimics a built-in pointer except that it guarantees deletion
|
|
// of the object pointed to, either on destruction of the scoped_ptr or via
|
|
// an explicit reset(). scoped_ptr is a simple solution for simple needs;
|
|
// use shared_ptr or std::auto_ptr if your needs are more complex.
|
|
|
|
// scoped_ptr_malloc added in by Google. When one of
|
|
// these goes out of scope, instead of doing a delete or delete[], it
|
|
// calls free(). scoped_ptr_malloc<char> is likely to see much more
|
|
// use than any other specializations.
|
|
|
|
// release() added in by Google. Use this to conditionally
|
|
// transfer ownership of a heap-allocated object to the caller, usually on
|
|
// method success.
|
|
|
|
|
|
===============================================================================
|
|
/*
|
|
* Written by Wilco Dijkstra, 1996.
|
|
* Refer to NOTICE file at the root of git project.
|
|
*
|
|
* Minor modifications in code style for WebRTC, 2012.
|
|
*/
|
|
|
|
// The following email record is related to source files spl_sqrt_floor.c
|
|
// and spl_sqrt_floor.s in trunk/src/common_audio/signal_processing/.
|
|
//
|
|
//
|
|
// From: Wilco Dijkstra <Wilco.Dijkstra@ntlworld.com>
|
|
// Date: Fri, Jun 24, 2011 at 3:20 AM
|
|
// Subject: Re: sqrt routine
|
|
// To: Kevin Ma <kma@google.com>
|
|
// Hi Kevin,
|
|
// Thanks for asking. Those routines are public domain (originally posted to
|
|
// comp.sys.arm a long time ago), so you can use them freely for any purpose.
|
|
// Cheers,
|
|
// Wilco
|
|
//
|
|
// ----- Original Message -----
|
|
// From: "Kevin Ma" <kma@google.com>
|
|
// To: <Wilco.Dijkstra@ntlworld.com>
|
|
// Sent: Thursday, June 23, 2011 11:44 PM
|
|
// Subject: Fwd: sqrt routine
|
|
// Hi Wilco,
|
|
// I saw your sqrt routine from several web sites, including
|
|
// http://www.finesse.demon.co.uk/steven/sqrt.html.
|
|
// Just wonder if there's any copyright information with your Successive
|
|
// approximation routines, or if I can freely use it for any purpose.
|
|
// Thanks.
|
|
// Kevin
|