nb_lc_numeric_misc.h revision 1.1
11.1Stnozaki/* $NetBSD: nb_lc_numeric_misc.h,v 1.1 2009/01/02 00:20:20 tnozaki 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.1Stnozaki _DIAGASSERT(cache != NULL); 421.1Stnozaki _DIAGASSERT(data != NULL); 431.1Stnozaki 441.1Stnozaki cache->ldata.decimal_point = __UNCONST(data->decimal_point); 451.1Stnozaki cache->ldata.thousands_sep = __UNCONST(data->thousands_sep); 461.1Stnozaki cache->ldata.grouping = __UNCONST(data->grouping); 471.1Stnozaki 481.1Stnozaki cache->items[(size_t)RADIXCHAR] = data->decimal_point; 491.1Stnozaki cache->items[(size_t)THOUSEP ] = data->thousands_sep; 501.1Stnozaki} 511.1Stnozaki 521.1Stnozakistatic __inline void 531.1Stnozaki_PREFIX(fixup)(_NumericLocale *data) 541.1Stnozaki{ 551.1Stnozaki _DIAGASSERT(data != NULL); 561.1Stnozaki 571.1Stnozaki _CurrentNumericLocale = data; 581.1Stnozaki} 591.1Stnozaki 601.1Stnozaki/* 611.1Stnozaki * macro required by nb_lc_template.h 621.1Stnozaki */ 631.1Stnozaki#define _CATEGORY_ID LC_NUMERIC 641.1Stnozaki#define _CATEGORY_NAME "LC_NUMERIC" 651.1Stnozaki#define _CATEGORY_DEFAULT _DefaultNumericLocale 661.1Stnozaki 671.1Stnozaki#endif /*_NB_LC_NUMERIC_MISC_H_*/ 68