/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

module idlc
{
module test
{
    const long l = 1;
    const long add = 1 + 2;
    const long sub = 3 - 2;
    const hyper h = 123456789;
    const float f7 = 3.4123;
    const float f2 = 3.4123 + 10e-12;
    const boolean bt = True;
    const boolean bf = False;
    const boolean and = bt & bf;

    /// SHORT_MAX + 1;
    const short shortMax = -0x8000;
    /// LONG_MAX + 1;
    const unsigned long longMax = 0x80000000;


constants USER
{
    /// = 1
    const long FLAG1 = 0x00000001;
    /// = 2
    const long FLAG2 = 0x00000002;
    /// = 4
    const long FLAG3 = 0x00000004;
    /// = 8
    const long FLAG4 = 0x00000008;
    /// = 16
    const long FLAG5 = 0x00000010;
    /// = 0
    const long FLAG6 = FLAG1 & FLAG2;
    /// = 3
    const long FLAG7 = FLAG1 | FLAG2;
    /// = 2
    const long FLAG8 = (FLAG1 | FLAG2) & FLAG2;
    /// = 4
    const long FLAG9 = FLAG1 << 2;
    /// = 32
    const long FLAG10 = (FLAG5 >> 1) << 2;
    /// = 1
    const long FLAG11 = 33 % 4;
    /// = 4
    const long FLAG12 = FLAG10 / 8;
};

};
};

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
