nb_lc_numeric_misc.h revision 1.5
11.5Sjoerg/* $NetBSD: nb_lc_numeric_misc.h,v 1.5 2013/08/19 09:12:58 joerg Exp $ */ 21.1Stnozaki 31.1Stnozaki/*- 41.1Stnozaki * Copyright (c)2008 Citrus Project, 51.1Stnozaki * All rights reserved. 61.1Stnozaki * 71.1Stnozaki * Redistribution and use in source and binary forms, with or without 81.1Stnozaki * modification, are permitted provided that the following conditions 91.1Stnozaki * are met: 101.1Stnozaki * 1. Redistributions of source code must retain the above copyright 111.1Stnozaki * notice, this list of conditions and the following disclaimer. 121.1Stnozaki * 2. Redistributions in binary form must reproduce the above copyright 131.1Stnozaki * notice, this list of conditions and the following disclaimer in the 141.1Stnozaki * documentation and/or other materials provided with the distribution. 151.1Stnozaki * 161.1Stnozaki * THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND 171.1Stnozaki * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 181.1Stnozaki * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 191.1Stnozaki * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 201.1Stnozaki * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 211.1Stnozaki * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 221.1Stnozaki * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 231.1Stnozaki * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 241.1Stnozaki * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 251.1Stnozaki * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 261.1Stnozaki * SUCH DAMAGE. 271.1Stnozaki */ 281.1Stnozaki 291.1Stnozaki#ifndef _NB_LC_NUMERIC_MISC_H_ 301.1Stnozaki#define _NB_LC_NUMERIC_MISC_H_ 311.1Stnozaki 321.1Stnozaki/* 331.1Stnozaki * macro required by nb_lc_template(_decl).h 341.1Stnozaki */ 351.1Stnozaki#define _CATEGORY_TYPE _NumericLocale 361.1Stnozaki 371.1Stnozakistatic __inline void 381.1Stnozaki_PREFIX(build_cache)(struct _locale_cache_t * __restrict cache, 391.1Stnozaki _NumericLocale * __restrict data) 401.1Stnozaki{ 411.3Stnozaki struct lconv *ldata; 421.3Stnozaki 431.1Stnozaki _DIAGASSERT(cache != NULL); 441.3Stnozaki _DIAGASSERT(cache->ldata != NULL); 451.3Stnozaki _DIAGASSERT(cache->items != NULL); 461.1Stnozaki _DIAGASSERT(data != NULL); 471.1Stnozaki 481.3Stnozaki ldata = cache->ldata; 491.3Stnozaki ldata->decimal_point = __UNCONST(data->decimal_point); 501.3Stnozaki ldata->thousands_sep = __UNCONST(data->thousands_sep); 511.3Stnozaki ldata->grouping = __UNCONST(data->grouping); 521.1Stnozaki 531.1Stnozaki cache->items[(size_t)RADIXCHAR] = data->decimal_point; 541.1Stnozaki cache->items[(size_t)THOUSEP ] = data->thousands_sep; 551.1Stnozaki} 561.1Stnozaki 571.5Sjoerg/* ARGSUSED */ 581.1Stnozakistatic __inline void 591.4Sjoerg_PREFIX(update_global)(_NumericLocale *data) 601.1Stnozaki{ 611.1Stnozaki} 621.1Stnozaki 631.1Stnozaki/* 641.1Stnozaki * macro required by nb_lc_template.h 651.1Stnozaki */ 661.1Stnozaki#define _CATEGORY_ID LC_NUMERIC 671.1Stnozaki#define _CATEGORY_NAME "LC_NUMERIC" 681.1Stnozaki 691.1Stnozaki#endif /*_NB_LC_NUMERIC_MISC_H_*/ 70