00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <lal/LALStdlib.h>
00022 #include <lal/LALPrimer.h>
00023
00024 NRCSID( LALPRIMERC, "$Id: LALPrimer.c,v 1.5 2007/06/08 14:41:53 bema Exp $" );
00025
00026 void
00027 REAL4Invert( LALStatus *stat, REAL4 *output, REAL4 input )
00028
00029 {
00030 INITSTATUS( stat, "REAL4Invert", LALPRIMERC );
00031
00032
00033 ASSERT( output != NULL, stat, LALPRIMERH_ENULL, LALPRIMERH_MSGENULL );
00034
00035
00036 if ( input == 0.0 )
00037 ABORT( stat, LALPRIMERH_EDIV0, LALPRIMERH_MSGEDIV0 );
00038
00039 *output = 1.0/input;
00040 RETURN( stat );
00041 }
00042
00043
00044 void
00045 REAL4Divide( LALStatus *stat, REAL4 *output, REAL4 numer, REAL4 denom )
00046
00047 {
00048 INITSTATUS( stat, "REAL4Divide", LALPRIMERC );
00049 ATTATCHSTATUSPTR( stat );
00050
00051 TRY( REAL4Invert( stat->statusPtr, output, denom ), stat );
00052 *output *= numer;
00053
00054 DETATCHSTATUSPTR( stat );
00055 RETURN( stat );
00056 }
00057