📄 factor.h
字号:
/*
FILE : FACTOR.H
Functions to factor a polyphase matrix into lifting steps.
(C) C. Valens
Created : 20/09/1999
Last update : 24/09/1999
*/
#ifndef __FACTOR_H__
#define __FACTOR_H__
#include "zpoly.h"
#include "polyphas.h"
#define PRIMAL 0
#define PRIMAL1 1
#define PRIMAL2 2
#define DUAL 3
#define DUAL1 4
#define DUAL2 5
/*
* This is an element of a combined tree/list to hold a lifted matrix, ie.
* a matrix AND a lifting step.
*/
typedef struct __factor_list {
polyphase_matrix P;
polyphase_matrix F;
struct __factor_list *prev;
struct __factor_list *next;
struct __factor_list *lift;
int tag;
} factor_list;
/*
* Holds the number of factorizations found.
*/
extern int factorizations;
/*
* Create a factor list.
*/
factor_list *factor_list_create(void);
/*
* Destroy a factor list.
*/
void factor_list_destroy(factor_list *fl);
/*
* Create a copy of a factor list.
*/
factor_list *factor_list_copy(factor_list *fl);
/*
* Extracts lifting steps.
* If type==PRIMAL the factoring is started by trying to extract a primal
* lifting step. If type==DUAL the factoring is started by trying to
* extract a dual lifting step.
*/
factor_list *factor_extract_lifting_steps(factor_list *fl,int type);
/*
* Collects the lifting steps found into a double linked list.
*/
factor_list *factor_collect(factor_list *fl);
/*
* Write a factor list to the output stream.
*/
void factor_list_write(factor_list *fl);
/*
* Write a factor tree to the output stream.
*/
void factor_list_write_tree(factor_list *fl);
/*
* Takes a (wavelet) filter pair as input and returns a list of all
* possible factorizations in lifting steps.
*/
factor_list *factor_this_baby_now(zpoly_pair filters);
/*
* Dumps all lifting steps to the output stream.
*/
void gimme_my_lifting_steps(factor_list *fl);
#endif /* __FACTOR_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -