which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@976 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			68 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/* f4double.c (c)Copyright Sequiter Software Inc., 1990-1994.  All rights reserved. */
 | 
						|
 | 
						|
/* Returns the value of the corresponding field as a double.
 | 
						|
   Only defined for 'Numeric' fields and 'Character' fields
 | 
						|
   containing numeric data.
 | 
						|
   */
 | 
						|
 | 
						|
#include "d4all.h"
 | 
						|
#ifndef S4UNIX
 | 
						|
#ifdef __TURBOC__
 | 
						|
#pragma hdrstop
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
 | 
						|
#ifndef S4OFF_WRITE
 | 
						|
void S4FUNCTION f4assign_double( FIELD4 *field, double d_value )
 | 
						|
{
 | 
						|
#ifdef S4VBASIC
 | 
						|
  if ( c4parm_check ( field, 3, E4_F4ASSIGN_DBL ) )
 | 
						|
    return ;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef S4DEBUG
 | 
						|
  if ( field == 0 )
 | 
						|
    e4severe( e4parm, E4_F4ASSIGN_DBL ) ;
 | 
						|
#endif
 | 
						|
 | 
						|
  if ( field->data->code_base->error_code < 0 )
 | 
						|
    return ;
 | 
						|
 | 
						|
  if ( field->type == 'D' )
 | 
						|
    date4assign( f4assign_ptr( field ), (long)d_value ) ;
 | 
						|
  else
 | 
						|
    /* Convert the 'double' to ASCII and then copy it into the record buffer. */
 | 
						|
    c4dtoa45( d_value, f4assign_ptr( field ), field->len, field->dec ) ;
 | 
						|
}
 | 
						|
#endif
 | 
						|
 | 
						|
double S4FUNCTION f4double( FIELD4 *field )
 | 
						|
{
 | 
						|
#ifdef S4VBASIC
 | 
						|
  if ( c4parm_check( field, 3, E4_F4DOUBLE ) )
 | 
						|
    return 0 ;
 | 
						|
#endif
 | 
						|
 | 
						|
#ifdef S4DEBUG
 | 
						|
  if ( field == 0 )
 | 
						|
    e4severe( e4parm, E4_F4DOUBLE ) ;
 | 
						|
#endif
 | 
						|
 | 
						|
  if ( field->type == 'D' )
 | 
						|
    return (double)date4long( f4ptr( field ) ) ;
 | 
						|
 | 
						|
  /* Convert the field data into a 'double' */
 | 
						|
  return( c4atod( f4ptr( field ), field->len ) ) ;
 | 
						|
}
 | 
						|
 | 
						|
int S4FUNCTION f4double2( FIELD4 *field, double *result )
 | 
						|
{
 | 
						|
#ifdef S4DEBUG
 | 
						|
  if ( field == 0 )
 | 
						|
    e4severe( e4parm, E4_F4DOUBLE2 ) ;
 | 
						|
#endif
 | 
						|
 | 
						|
  *result = f4double( field ) ;
 | 
						|
  return 0 ;
 | 
						|
}
 |