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

📄 myenv.h

📁 Radix-2 Fast Fourier Transform, real or complex sin/cos transform
💻 H
字号:
// This may look like C code, but it is really -*- C++ -*-// ************************************************************************////			A standard environment//			  I am accustomed to//// $Id: myenv.h,v 2.2 1998/12/20 23:34:06 oleg Exp oleg $#ifndef __GNUC__#pragma once#endif#ifndef _myenv_h#define _myenv_h#ifdef __GNUC__#pragma interface#endif#include <stdio.h>//------------------------------------------------------------------------//		    Patches to the standard environment#if 0 // uncomment if the compiler sucks...typedef int bool;#define false 0#define true (!false)//enum bool {false,true};#endif                                // Like strncpy(), but ALWAYS terminates                                // the destination stringchar * xstrncpy(char * dest, const char * src, const int len);inline long int sqr(const int x)		{ return x*x; }double       pow(double, long);double       pow(long, long);		// Works just as a regular getenv:		// searches the process' environment for a string of the form		// name=value and, if the string is		// present, returns a pointer to the 'value' part of the		// string.		// If the string is not present, the default_value is		// returned, unless it is nil.		// If the default_value was nil and the string wasn't found,		// the function prints the message that the name wasn't		// found, and aborts the programconst char * xgetenv(const char * name, const char * default_value);				// Return TRUE if string s1 starts with s2				// i.e., s2 is a prefix of s1				// Case doesn't matterbool does_start_with_ci(const char * s1, const char * s2);		// Obtain the size of an existing file		// If you don't want the function to abort when		// the file wasn't found/couldn't be accessed,		// supply your own default action by subclassing from		// GFS_Default and overriding 'operator ()'extern struct GFS_Default { virtual size_t operator () (const char * file_name); }	GFS_default;size_t get_file_size(const char * file_name,		     GFS_Default& on_error = GFS_default);				// libg++ nifty timing functions				// return_elapsed_time(Last_time) returns				// process time (in secs) since Last_Time				// If Last_time == 0.0, return time since				// the last call to start_timer()#if !defined(__GNUC__) || ((__GNUC__ == 2) && (__GNUC_MINOR__ > 7))double start_timer(void);double return_elapsed_time(const double Last_Time);#endif//------------------------------------------------------------------------//	Assertions, aborts, and related stderr printing				// Print an error message on stderr and				// abort, arguments like those of printf()void _error(const char * message,...);				// Print a message on stderr				// It looks and acts like printf(), only				// prints on stderr (which is unbuffered...)void message(const char * message,...);#ifndef assert#define assert(ex) \        (void)((ex) ? 1 : \              (_error("Failed assertion " #ex " at line %d of `%s'.\n", \               __LINE__, __FILE__), 0))#define assertval(ex) assert(ex)#endif#define assure(expr,message)				\	if	(expr) {;}				\	else _error("%s\n at line %d of '%s'.",message,__LINE__, __FILE__)					// Strings of symbols				// They may be used as a delimiting linesextern const char _Minuses [];extern const char _Asteriscs [];extern const char _Equals [];#endif

⌨️ 快捷键说明

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