Home | History | Annotate | Download | only in webrtc
      1 ===============================================================================
      2 
      3 /*
      4  *  Copyright (c) 2011 The WebRTC project authors. All Rights Reserved.
      5  *
      6  *  Use of this source code is governed by a BSD-style license
      7  *  that can be found in the LICENSE file in the root of the source
      8  *  tree. An additional intellectual property rights grant can be found
      9  *  in the file PATENTS.  All contributing project authors may
     10  *  be found in the AUTHORS file in the root of the source tree.
     11  */
     12 
     13 ===============================================================================
     14 
     15 /*
     16  * Copyright (C) 2010 The Android Open Source Project
     17  *
     18  * Licensed under the Apache License, Version 2.0 (the "License");
     19  * you may not use this file except in compliance with the License.
     20  * You may obtain a copy of the License at
     21  *
     22  *      http://www.apache.org/licenses/LICENSE-2.0
     23  *
     24  * Unless required by applicable law or agreed to in writing, software
     25  * distributed under the License is distributed on an "AS IS" BASIS,
     26  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     27  * See the License for the specific language governing permissions and
     28  * limitations under the License.
     29  *
     30  */
     31 
     32 ===============================================================================
     33 
     34 /*
     35  * http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html
     36  * Copyright Takuya OOURA, 1996-2001
     37  *
     38  * You may use, copy, modify and distribute this code for any purpose (include
     39  * commercial use) and without fee. Please refer to this package when you modify
     40  * this code.
     41  *
     42  * Changes by the WebRTC authors:
     43  *    - Trivial type modifications.
     44  *    - Minimal code subset to do rdft of length 128.
     45  *    - Optimizations because of known length.
     46  *
     47  *  All changes are covered by the WebRTC license and IP grant:
     48  *  Use of this source code is governed by a BSD-style license
     49  *  that can be found in the LICENSE file in the root of the source
     50  *  tree. An additional intellectual property rights grant can be found
     51  *  in the file PATENTS.  All contributing project authors may
     52  *  be found in the AUTHORS file in the root of the source tree.
     53  */
     54 
     55 ===============================================================================
     56 
     57 /*
     58  * http://www.kurims.kyoto-u.ac.jp/~ooura/fft.html
     59  * Copyright Takuya OOURA, 1996-2001
     60  *
     61  * You may use, copy, modify and distribute this code for any purpose (include
     62  * commercial use) and without fee. Please refer to this package when you modify
     63  * this code.
     64  *
     65  * Changes:
     66  * Trivial type modifications by the WebRTC authors.
     67  */
     68 
     69 ===============================================================================
     70 
     71 /*Boost Software License - Version 1.0 - August 17th, 2003
     72 
     73 Permission is hereby granted, free of charge, to any person or organization
     74 obtaining a copy of the software and accompanying documentation covered by
     75 this license (the "Software") to use, reproduce, display, distribute,
     76 execute, and transmit the Software, and to prepare derivative works of the
     77 Software, and to permit third-parties to whom the Software is furnished to
     78 do so, all subject to the following:
     79 
     80 The copyright notices in the Software and this entire statement, including
     81 the above license grant, this restriction and the following disclaimer,
     82 must be included in all copies of the Software, in whole or in part, and
     83 all derivative works of the Software, unless such copies or derivative
     84 works are solely in the form of machine-executable object code generated by
     85 a source language processor.
     86 
     87 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
     88 IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
     89 FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
     90 SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
     91 FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
     92 ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
     93 DEALINGS IN THE SOFTWARE.*/
     94 
     95 ===============================================================================
     96 
     97 //          Copyright Steven J. Ross 2001 - 2009.
     98 // Distributed under the Boost Software License, Version 1.0.
     99 //    (See accompanying file LICENSE_1_0.txt or copy at
    100 //          http://www.boost.org/LICENSE_1_0.txt)
    101 
    102 //  See http://www.boost.org/ for updates, documentation, and revision history.
    103 
    104 /*
    105 Some improvements suggested by:
    106 Phil Endecott and Frank Gennari
    107 Cygwin fix provided by:
    108 Scott McMurray
    109 */
    110 
    111 ===============================================================================
    112 
    113 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
    114 //
    115 // Redistribution and use in source and binary forms, with or without
    116 // modification, are permitted provided that the following conditions are
    117 // met:
    118 //
    119 //    * Redistributions of source code must retain the above copyright
    120 // notice, this list of conditions and the following disclaimer.
    121 //    * Redistributions in binary form must reproduce the above
    122 // copyright notice, this list of conditions and the following disclaimer
    123 // in the documentation and/or other materials provided with the
    124 // distribution.
    125 //    * Neither the name of Google Inc. nor the names of its
    126 // contributors may be used to endorse or promote products derived from
    127 // this software without specific prior written permission.
    128 //
    129 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    130 // "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    131 // LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    132 // A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    133 // OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    134 // SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    135 // LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    136 // DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    137 // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    138 // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    139 // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    140 
    141 ===============================================================================
    142 
    143 //  (C) Copyright Greg Colvin and Beman Dawes 1998, 1999.
    144 //  Copyright (c) 2001, 2002 Peter Dimov
    145 //
    146 //  Permission to copy, use, modify, sell and distribute this software
    147 //  is granted provided this copyright notice appears in all copies.
    148 //  This software is provided "as is" without express or implied
    149 //  warranty, and with no claim as to its suitability for any purpose.
    150 //
    151 //  See http://www.boost.org/libs/smart_ptr/scoped_ptr.htm for documentation.
    152 //
    153 
    154 //  scoped_ptr mimics a built-in pointer except that it guarantees deletion
    155 //  of the object pointed to, either on destruction of the scoped_ptr or via
    156 //  an explicit reset(). scoped_ptr is a simple solution for simple needs;
    157 //  use shared_ptr or std::auto_ptr if your needs are more complex.
    158 
    159 //  scoped_ptr_malloc added in by Google.  When one of
    160 //  these goes out of scope, instead of doing a delete or delete[], it
    161 //  calls free().  scoped_ptr_malloc<char> is likely to see much more
    162 //  use than any other specializations.
    163 
    164 //  release() added in by Google. Use this to conditionally
    165 //  transfer ownership of a heap-allocated object to the caller, usually on
    166 //  method success.
    167 
    168 
    169 ===============================================================================
    170 /*
    171  * Written by Wilco Dijkstra, 1996.
    172  * Refer to NOTICE file at the root of git project.
    173  *
    174  * Minor modifications in code style for WebRTC, 2012.
    175  */
    176 
    177 // The following email record is related to source files spl_sqrt_floor.c
    178 // and spl_sqrt_floor.s in trunk/src/common_audio/signal_processing/.
    179 //
    180 //
    181 // From: Wilco Dijkstra <Wilco.Dijkstra (a] ntlworld.com>
    182 // Date: Fri, Jun 24, 2011 at 3:20 AM
    183 // Subject: Re: sqrt routine
    184 // To: Kevin Ma <kma (a] google.com>
    185 // Hi Kevin,
    186 // Thanks for asking. Those routines are public domain (originally posted to 
    187 // comp.sys.arm a long time ago), so you can use them freely for any purpose.
    188 // Cheers,
    189 // Wilco
    190 //
    191 // ----- Original Message -----
    192 // From: "Kevin Ma" <kma (a] google.com>
    193 // To: <Wilco.Dijkstra (a] ntlworld.com>
    194 // Sent: Thursday, June 23, 2011 11:44 PM
    195 // Subject: Fwd: sqrt routine
    196 // Hi Wilco,
    197 // I saw your sqrt routine from several web sites, including
    198 // http://www.finesse.demon.co.uk/steven/sqrt.html.
    199 // Just wonder if there's any copyright information with your Successive
    200 // approximation routines, or if I can freely use it for any purpose.
    201 // Thanks.
    202 // Kevin
    203