File: args.sidl

package info (click to toggle)
babel 0.10.2-1
  • links: PTS
  • area: contrib
  • in suites: sarge
  • size: 43,932 kB
  • ctags: 29,707
  • sloc: java: 74,695; ansic: 73,142; cpp: 40,649; sh: 18,411; f90: 10,062; fortran: 6,727; python: 6,406; makefile: 3,866; xml: 118; perl: 48
file content (113 lines) | stat: -rw-r--r-- 3,832 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
// Copyright (c) 2001, The Regents of the University of Calfornia.
// Produced at the Lawrence Livermore National Laboratory.
// Written by the Components Team <components@llnl.gov>
// UCRL-CODE-2002-054
// All rights reserved.
// 
// This file is part of Babel. For more information, see
// http://www.llnl.gov/CASC/components/. Please read the COPYRIGHT file
// for Our Notice and the LICENSE file for the GNU Lesser General Public
// License.
// 
// This program is free software; you can redistribute it and/or modify it
// under the terms of the GNU Lesser General Public License (as published by
// the Free Software Foundation) version 2.1 dated February 1999.
// 
// This program is distributed in the hope that it will be useful, but
// WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
// conditions of the GNU Lesser General Public License for more details.
// 
// You should have recieved a copy of the GNU Lesser General Public License
// along with this program; if not, write to the Free Software Foundation,
// Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
// For the purposes of this test, all in parameters must be as close to 
// the complex number (pi + pi i) as their precision permits.  
// All out parameters and return values will also be as close to the same
// number.
//        bool == true
//        char == '3'
//        int == 3
//        float == 3.1000
//        double == 3.14000
//               
//
// All inout parameters will be logically negated, negated, or complex conjugated
// as appropriate.  inout chars are made uppercase if lowercase and vice versa
// Inout parameters may not be zero, exception of 'inout bool' which can be either.
// and 'inout char' which has the additional constraint that it must be a letter.
//
// If the input constraints are not met. zero is returned as an error message.
//

package Args version 1.0
{
  // bool char int float double fcomplex dcomplex 
  class Cbool  {
    bool returnback  ( );
    bool passin( in bool b );
    bool passout( out bool b );
    bool passinout( inout bool b );
    bool passeverywhere( in bool b1, out bool b2, inout bool b3 );
  };

  class Cchar  {
    char returnback  ( );
    bool passin( in char c );
    bool passout( out char c );
    bool passinout( inout char c );
    char passeverywhere( in char c1, out char c2, inout char c3 );
  };

  class Cint  {
    int returnback  ( );
    bool passin( in int i );
    bool passout( out int i );
    bool passinout( inout int i );
    int passeverywhere( in int i1, out int i2, inout int i3 );
  };

  class Clong
  {
    long returnback  ( );
    bool passin( in long l );
    bool passout( out long l );
    bool passinout( inout long l );
    long passeverywhere( in long l1, out long l2, inout long l3 );
  };

  class Cfloat  {
    float returnback  ( );
    bool passin( in float f );
    bool passout( out float f );
    bool passinout( inout float f );
    float passeverywhere( in float f1, out float f2, inout float f3 );
  };

  class Cdouble  {
    double returnback  ( );
    bool passin( in double d );
    bool passout( out double d );
    bool passinout( inout double d );
    double passeverywhere( in double d1, out double d2, inout double d3 );
  };

  class Cfcomplex  {
    fcomplex returnback  ( );
    bool passin( in fcomplex c );
    bool passout( out fcomplex c );
    bool passinout( inout fcomplex c );
    fcomplex passeverywhere( in fcomplex c1, out fcomplex c2, inout fcomplex c3 );
  };

  class Cdcomplex  {
    dcomplex returnback  ( );
    bool passin( in dcomplex c );
    bool passout( out dcomplex c );
    bool passinout( inout dcomplex c );
    dcomplex passeverywhere( in dcomplex c1, out dcomplex c2, inout dcomplex c3 );
  };

};