00001 00005 #include <bpm/bpm_messages.h> 00006 #include <bpm/bpm_process.h> 00007 00008 int get_pos( double Q, double I, double IQphase, double posscale, 00009 double *pos ) { 00010 00011 *pos = -DBL_MAX; 00012 00013 if ( !pos ) { 00014 bpm_error( "Invalid pointer argument in get_pos(...)", 00015 __FILE__, __LINE__ ); 00016 return BPM_FAILURE; 00017 } 00018 00019 *pos = posscale * ( I*cos( IQphase ) + Q*sin( IQphase ) ); 00020 00021 return BPM_SUCCESS; 00022 }