meschach_utils.h

来自「JPEG2000实现的源码」· C头文件 代码 · 共 59 行

H
59
字号
/**************************************************************************
**
** Copyright (C) 1993 David E. Steward & Zbigniew Leyk, all rights reserved.
**
**			     Meschach Library
** 
** This Meschach Library is provided "as is" without any express 
** or implied warranty of any kind with respect to this software. 
** In particular the authors shall not be liable for any direct, 
** indirect, special, incidental or consequential damages arising 
** in any way from use of the software.
** 
** Everyone is granted permission to copy, modify and redistribute this
** Meschach Library, provided:
**  1.  All copies contain this copyright notice.
**  2.  All modified copies shall carry a notice stating who
**      made the last modification and the date of such modification.
**  3.  No charge is made for this software or works derived from it.  
**      This clause shall not be construed as constraining other software
**      distributed on the same medium as this software, nor is a
**      distribution fee considered a charge.
**
***************************************************************************/

/*****************************************************************************/
/* File: "meschach_utils.h"                                                  */
/* Description: Eigenvector and eigenvalue analysis code.  Modified from     */
/*              original distribution to be stand-alone, compact, and to     */
/*              conform to JPEG2000 VM coding policies.                      */
/* Author: Austin Lan                                                        */
/* Affiliation: Eastman Kodak Company                                        */
/* Version: VM5.2                                                            */
/* Last Revised: Feb., 2000                                                  */
/*****************************************************************************/

#ifndef MESCHACH_UTILS_H
#define MESCHACH_UTILS_H

/* vector definition */
typedef	struct	{
      int dim, max_dim;
      double *ve;
} VEC;

/* matrix definition */
typedef	struct	{
      int m, n;
      int max_m, max_n, max_size;
      double **me, *base;	/* base is base of alloc'd mem */
} MAT;

MAT *m_get(int m, int n);
int m_free(MAT *mat);
VEC *v_get(int size);
int v_free(VEC *vec);
VEC *symmeig(MAT *A, MAT *Q, VEC *out);

#endif

⌨️ 快捷键说明

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