/*------------------------------------------------------------------------------

    File    :	FastFT_float_asm.h

    Author  :	Stéphane TAVENARD (modified by Henryk Richter)

    $VER:   FastFT_float_asm.h  0.1  (17/09/1997)

    (C) Copyright 1995-1995 Stéphane TAVENARD
	All Rights Reserved

    #Rev|   Date   |			  Comment
    ----|----------|--------------------------------------------------------
    0   |23/04/1995| Initial revision
    1   |17/09/1997| changed callup parameters for own FFT (Henryk)
    ------------------------------------------------------------------------

    Definition of Routines for FFT of floating points values

------------------------------------------------------------------------------*/

#ifndef FastFT_FLOAT_ASM_H
#define FastFT_FLOAT_ASM_H

#ifndef ASM
#ifdef __SASC
#define ASM_A0 register __a0
#define ASM_A1 register __a1
#define ASM_A2 register __a2
#define ASM_A3 register __a3
#define ASM_A4 register __a4
#define ASM_A5 register __a5
#define ASM_A6 register __a6
#define ASM_D0 register __d0
#define ASM_D1 register __d1
#define ASM_D2 register __d2
#define ASM_D3 register __d3
#define ASM_D4 register __d4
#define ASM_D5 register __d5
#define ASM_D6 register __d6
#define ASM_D7 register __d7
#define ASM __asm
#else
#define ASM_A0 __A0
#define ASM_A1 __A1
#define ASM_A2 __A2
#define ASM_A3 __A3
#define ASM_A4 __A4
#define ASM_A5 __A5
#define ASM_A6 __A6
#define ASM_D0 __D0
#define ASM_D1 __D1
#define ASM_D2 __D2
#define ASM_D3 __D3
#define ASM_D4 __D4
#define ASM_D5 __D5
#define ASM_D6 __D6
#define ASM_D7 __D7
#define ASM
#endif
#endif

void ASM ASM_FastFT_main_loop( ASM_A0 float *x_real, ASM_A1 float *x_imag,
			    ASM_D0 int power );

void ASM ASM_FastFT_energy_phi( ASM_A0 float *x_real, ASM_A1 float *x_imag,
			     ASM_A2 float *energy,  ASM_A3 float *phi,
			     ASM_D0 int n );

#endif
