OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [gnu-dev/] [or1k-gcc/] [gcc/] [testsuite/] [go.test/] [test/] [ken/] [slicearray.go] - Blame information for rev 700

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 700 jeremybenn
// $G $D/$F.go && $L $F.$A && ./$A.out
2
 
3
// Copyright 2009 The Go Authors. All rights reserved.
4
// Use of this source code is governed by a BSD-style
5
// license that can be found in the LICENSE file.
6
 
7
package main
8
 
9
var bx [10]byte
10
var by []byte
11
var fx [10]float64
12
var fy []float64
13
var lb, hb int
14
var t int
15
 
16
func main() {
17
        lb = 0
18
        hb = 10
19
        by = bx[0:]
20
        tstb()
21
 
22
        lb = 0
23
        hb = 10
24
        fy = fx[0:]
25
        tstf()
26
 
27
        // width 1 (byte)
28
        lb = 0
29
        hb = 10
30
        by = bx[lb:hb]
31
        tstb()
32
        by = bx[lb:10]
33
        tstb()
34
        by = bx[lb:]
35
        tstb()
36
        by = bx[:hb]
37
        tstb()
38
        by = bx[0:hb]
39
        tstb()
40
        by = bx[0:10]
41
        tstb()
42
        by = bx[0:]
43
        tstb()
44
        by = bx[:10]
45
        tstb()
46
        by = bx[:]
47
        tstb()
48
 
49
        lb = 2
50
        hb = 10
51
        by = bx[lb:hb]
52
        tstb()
53
        by = bx[lb:10]
54
        tstb()
55
        by = bx[lb:]
56
        tstb()
57
        by = bx[2:hb]
58
        tstb()
59
        by = bx[2:10]
60
        tstb()
61
        by = bx[2:]
62
        tstb()
63
 
64
        lb = 0
65
        hb = 8
66
        by = bx[lb:hb]
67
        tstb()
68
        by = bx[lb:8]
69
        tstb()
70
        by = bx[0:hb]
71
        tstb()
72
        by = bx[0:8]
73
        tstb()
74
        by = bx[:8]
75
        tstb()
76
        by = bx[:hb]
77
        tstb()
78
 
79
        lb = 2
80
        hb = 8
81
        by = bx[lb:hb]
82
        tstb()
83
        by = bx[lb:8]
84
        tstb()
85
        by = bx[2:hb]
86
        tstb()
87
        by = bx[2:8]
88
        tstb()
89
 
90
        // width 4 (float64)
91
        lb = 0
92
        hb = 10
93
        fy = fx[lb:hb]
94
        tstf()
95
        fy = fx[lb:10]
96
        tstf()
97
        fy = fx[lb:]
98
        tstf()
99
        fy = fx[:hb]
100
        tstf()
101
        fy = fx[0:hb]
102
        tstf()
103
        fy = fx[0:10]
104
        tstf()
105
        fy = fx[0:]
106
        tstf()
107
        fy = fx[:10]
108
        tstf()
109
        fy = fx[:]
110
        tstf()
111
 
112
        lb = 2
113
        hb = 10
114
        fy = fx[lb:hb]
115
        tstf()
116
        fy = fx[lb:10]
117
        tstf()
118
        fy = fx[lb:]
119
        tstf()
120
        fy = fx[2:hb]
121
        tstf()
122
        fy = fx[2:10]
123
        tstf()
124
        fy = fx[2:]
125
        tstf()
126
 
127
        lb = 0
128
        hb = 8
129
        fy = fx[lb:hb]
130
        tstf()
131
        fy = fx[lb:8]
132
        tstf()
133
        fy = fx[:hb]
134
        tstf()
135
        fy = fx[0:hb]
136
        tstf()
137
        fy = fx[0:8]
138
        tstf()
139
        fy = fx[:8]
140
        tstf()
141
 
142
        lb = 2
143
        hb = 8
144
        fy = fx[lb:hb]
145
        tstf()
146
        fy = fx[lb:8]
147
        tstf()
148
        fy = fx[2:hb]
149
        tstf()
150
        fy = fx[2:8]
151
        tstf()
152
}
153
 
154
func tstb() {
155
        t++
156
        if len(by) != hb-lb {
157
                println("t=", t, "lb=", lb, "hb=", hb,
158
                        "len=", len(by), "hb-lb=", hb-lb)
159
                panic("fail")
160
        }
161
        if cap(by) != len(bx)-lb {
162
                println("t=", t, "lb=", lb, "hb=", hb,
163
                        "cap=", cap(by), "len(bx)-lb=", len(bx)-lb)
164
                panic("fail")
165
        }
166
        for i := lb; i < hb; i++ {
167
                if bx[i] != by[i-lb] {
168
                        println("t=", t, "lb=", lb, "hb=", hb,
169
                                "bx[", i, "]=", bx[i],
170
                                "by[", i-lb, "]=", by[i-lb])
171
                        panic("fail")
172
                }
173
        }
174
        by = nil
175
}
176
 
177
func tstf() {
178
        t++
179
        if len(fy) != hb-lb {
180
                println("t=", t, "lb=", lb, "hb=", hb,
181
                        "len=", len(fy), "hb-lb=", hb-lb)
182
                panic("fail")
183
        }
184
        if cap(fy) != len(fx)-lb {
185
                println("t=", t, "lb=", lb, "hb=", hb,
186
                        "cap=", cap(fy), "len(fx)-lb=", len(fx)-lb)
187
                panic("fail")
188
        }
189
        for i := lb; i < hb; i++ {
190
                if fx[i] != fy[i-lb] {
191
                        println("t=", t, "lb=", lb, "hb=", hb,
192
                                "fx[", i, "]=", fx[i],
193
                                "fy[", i-lb, "]=", fy[i-lb])
194
                        panic("fail")
195
                }
196
        }
197
        fy = nil
198
}
199
 
200
func init() {
201
        for i := 0; i < len(bx); i++ {
202
                bx[i] = byte(i + 20)
203
        }
204
        by = nil
205
 
206
        for i := 0; i < len(fx); i++ {
207
                fx[i] = float64(i + 20)
208
        }
209
        fy = nil
210
}

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.