⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 machine.h

📁 音频编码
💻 H
字号:
/* *	Machine dependent defines/includes for LAME. * *	Copyright (c) 1999 A.L. Faber * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Library General Public * License as published by the Free Software Foundation; either * version 2 of the License, or (at your option) any later version. * * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU * Library General Public License for more details. * * You should have received a copy of the GNU Library General Public * License along with this library; if not, write to the * Free Software Foundation, Inc., 59 Temple Place - Suite 330, * Boston, MA 02111-1307, USA. */#ifndef LAME_MACHINE_H#define LAME_MACHINE_H#include <stdio.h>#ifdef STDC_HEADERS# include <stdlib.h># include <string.h>#else# ifndef HAVE_STRCHR#  define strchr index#  define strrchr rindex# endifchar *strchr (), *strrchr ();# ifndef HAVE_MEMCPY#  define memcpy(d, s, n) bcopy ((s), (d), (n))#  define memmove(d, s, n) bcopy ((s), (d), (n))# endif#endif#if  defined(__riscos__)  &&  defined(FPA10)# include "ymath.h"#else# include <math.h>#endif#include <ctype.h>#ifdef HAVE_ERRNO_H# include <errno.h>#endif#ifdef HAVE_FCNTL_H# include <fcntl.h>#endif#if defined(macintosh)# include <types.h># include <stat.h>#else# include <sys/types.h># include <sys/stat.h>#endif/*  * 3 different types of pow() functions: *   - table lookup *   - pow() *   - exp()   on some machines this is claimed to be faster than pow() */#define POW20(x) (assert(-Q_MAX2 <= x && x < Q_MAX), pow20[x+Q_MAX2])/*#define POW20(x)  pow(2.0,((double)(x)-210)*.25) *//*#define POW20(x)  exp( ((double)(x)-210)*(.25*LOG2) ) */#define IPOW20(x)  (assert(0 <= x && x < Q_MAX), ipow20[x])/*#define IPOW20(x)  exp( -((double)(x)-210)*.1875*LOG2 ) *//*#define IPOW20(x)  pow(2.0,-((double)(x)-210)*.1875) *//* in case this is used without configure */#ifndef inline# define inline#endif#if defined(_MSC_VER)# undef inline# define inline _inline#elif defined(__SASC) || defined(__GNUC__) || defined(__ICC) || defined(__ECC)/* if __GNUC__ we always want to inline, not only if the user requests it */# undef inline# define inline __inline#endif#if    defined(_MSC_VER)# pragma warning( disable : 4244 )/*# pragma warning( disable : 4305 ) */#endif/* * FLOAT    for variables which require at least 32 bits * FLOAT8   for variables which require at least 64 bits * * On some machines, 64 bit will be faster than 32 bit.  Also, some math * routines require 64 bit float, so setting FLOAT=float will result in a * lot of conversions. */#if ( defined(_MSC_VER) || defined(__BORLANDC__) || defined(__MINGW32__) )# define WIN32_LEAN_AND_MEAN# include <windows.h># include <float.h># define FLOAT_MAX FLT_MAX#else# ifndef FLOATtypedef float   FLOAT;#  ifdef FLT_MAX#   define FLOAT_MAX FLT_MAX#  else#   define FLOAT_MAX 1e37 /* approx */#  endif# endif#endif#ifndef FLOAT8  /* NOTE: RH: 7/00:  if FLOAT8=float, it breaks resampling and VBR code */typedef double  FLOAT8;# ifdef DBL_MAX#  define FLOAT8_MAX DBL_MAX# else#  define FLOAT8_MAX 1e99 /* approx */# endif#else# ifdef FLT_MAX#  define FLOAT8_MAX FLT_MAX# else#  define FLOAT8_MAX 1e37 /* approx */# endif#endif/* sample_t must be floating point, at least 32 bits */typedef FLOAT     sample_t;typedef sample_t  stereo_t [2];#endif/* end of machine.h */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -