001/* JOrbis
002 * Copyright (C) 2000 ymnk, JCraft,Inc.
003 *  
004 * Written by: 2000 ymnk<ymnk@jcaft.com>
005 *   
006 * Many thanks to 
007 *   Monty <monty@xiph.org> and 
008 *   The XIPHOPHORUS Company http://www.xiph.org/ .
009 * JOrbis has been based on their awesome works, Vorbis codec.
010 *   
011 * This program is free software; you can redistribute it and/or
012 * modify it under the terms of the GNU Library General Public License
013 * as published by the Free Software Foundation; either version 2 of
014 * the License, or (at your option) any later version.
015   
016 * This program is distributed in the hope that it will be useful,
017 * but WITHOUT ANY WARRANTY; without even the implied warranty of
018 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
019 * GNU Library General Public License for more details.
020 * 
021 * You should have received a copy of the GNU Library General Public
022 * License along with this program; if not, write to the Free Software
023 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
024 */
025
026package com.jcraft.jorbis;
027
028import com.jcraft.jogg.*;
029
030abstract class FuncResidue{
031  public static FuncResidue[] residue_P={new Residue0(),
032                                         new Residue1(),
033                                         new Residue2()};
034
035  abstract void pack(Object vr, Buffer opb);
036  abstract Object unpack(Info vi, Buffer opb);
037  abstract Object look(DspState vd, InfoMode vm, Object vr);
038  abstract void free_info(Object i);
039  abstract void free_look(Object i);
040  abstract int forward(Block vb,Object vl, float[][] in, int ch);
041//  abstract int inverse(Block vb, Object vl, float[][] in, int ch);
042abstract int inverse(Block vb, Object vl, float[][] in, int[] nonzero,int ch);
043}