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

📄 pset.h

📁 牛顿插值方法求解多项式的系数
💻 H
字号:
/* * (c) Copyright 1992, 1993 by Panagiotis Tsirigotis * All rights reserved.  The file named COPYRIGHT specifies the terms  * and conditions for redistribution. */#ifndef __PSET_H#define __PSET_H/* * $Id: pset.h,v 1.2 2003/03/09 19:27:08 steveg Exp $ */#include <stdlib.h>typedef void *__pset_pointer ;struct __pset{   unsigned alloc_step ;   __pset_pointer *ptrs ;   /* void Pointer to a Pointer */   unsigned max ;   unsigned count ;} ;/* * INTERFACE */typedef struct __pset *pset_h ;pset_h pset_create( unsigned alloc_start, unsigned alloc_step );void pset_destroy( pset_h pset );void pset_delete( pset_h pset, const __pset_pointer ptr );__pset_pointer pset_add( pset_h pset, const __pset_pointer ptr );/* These 2 are in ops.c   */void pset_compact( pset_h pset );void pset_apply( pset_h pset, void (*func)(), void *arg );/* * Macros */#define pset_remove( pset, ptr )   pset_delete( pset, (__pset_pointer)(ptr) )#define pset_remove_index( pset, i )                          \      {                                                       \         if ( ((unsigned)i) < (pset)->count )                 \             pset_delete(pset, (pset)->ptrs[ (unsigned)(i) ]);  \      }#define pset_clear( pset )           (pset)->count = 0#define pset_count( pset )           (pset)->count#define pset_pointer( pset, i )      (pset)->ptrs[ (unsigned)(i) ]#define pset_sort( pset, compfunc )                         \      (void) qsort( (char *) &pset_pointer( pset, 0 ),      \            pset_count( pset ), sizeof( __pset_pointer ), compfunc )/* * PSET iterators * * Note that the iterators do NOT use any knowledge about the internals * of pset's. */struct __pset_iterator{   pset_h pset ;   unsigned current ;   int step ;} ;typedef struct __pset_iterator *psi_h ;void psi_remove( psi_h iter );#define __psi_current( iter )                             \   ( (iter)->current < pset_count( (iter)->pset )         \      ? pset_pointer( (iter)->pset, (iter)->current )     \      : NULL )#define psi_start( iter )                                 \      ( (iter)->current = 0, (iter)->step = 1,            \               __psi_current( iter ) )#define psi_next( iter )                   \      ( (iter)->current += (iter)->step, (iter)->step = 1,   \               __psi_current( iter ) )#define psi_destroy( iter )          free( (char *) iter )psi_h psi_create( pset_h pset );#endif   /* __PSET_H */

⌨️ 快捷键说明

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