/* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ /* ** Copyright UCAR (c) 1990 - 2016 */ /* ** University Corporation for Atmospheric Research (UCAR) */ /* ** National Center for Atmospheric Research (NCAR) */ /* ** Boulder, Colorado, USA */ /* ** BSD licence applies - redistribution and use in source and binary */ /* ** forms, with or without modification, are permitted provided that */ /* ** the following conditions are met: */ /* ** 1) If the software is modified to produce derivative works, */ /* ** such modified software should be clearly marked, so as not */ /* ** to confuse it with the version available from UCAR. */ /* ** 2) Redistributions of source code must retain the above copyright */ /* ** notice, this list of conditions and the following disclaimer. */ /* ** 3) Redistributions in binary form must reproduce the above copyright */ /* ** notice, this list of conditions and the following disclaimer in the */ /* ** documentation and/or other materials provided with the distribution. */ /* ** 4) Neither the name of UCAR nor the names of its contributors, */ /* ** if any, may be used to endorse or promote products derived from */ /* ** this software without specific prior written permission. */ /* ** DISCLAIMER: THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS */ /* ** OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED */ /* ** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. */ /* *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=* */ #include #include "metar_private.h" /********************************************************************/ /* */ /* Title: fracPart */ /* Organization: W/OSO242 - GRAPHICS AND DISPLAY SECTION */ /* Date: 13 Jun 1995 */ /* Programmer: CARL MCCALLA */ /* Language: C/370 */ /* */ /* Abstract: Convert a character string fraction into a */ /* decimal (floating point) number. */ /* */ /* External Functions Called: */ /* None. */ /* */ /* Input: string - a pointer to a character string frac- */ /* tion. */ /* Output: A decimal (floating point) number. */ /* */ /* Modification History: */ /* None. */ /* */ /********************************************************************/ float fracPart( char *string ) { /***************************/ /* DECLARE LOCAL VARIABLES */ /***************************/ char buf[ 6 ], *slash; float numerator, denominator; /*************************/ /* START BODY OF ROUTINE */ /*************************/ slash = strchr(string, '/'); memset(buf , '\0', 6); strncpy( buf, string, slash-string); numerator = (float) atoi(buf); memset(buf , '\0', 6); strcpy( buf, slash+1); denominator = (float) atoi(buf); return (numerator/denominator); }