File: ZeroVector.tst

package info (click to toggle)
gap 4.15.1-1
  • links: PTS
  • area: main
  • in suites: forky, sid
  • size: 110,212 kB
  • sloc: ansic: 97,261; xml: 48,343; cpp: 13,946; sh: 4,900; perl: 1,650; javascript: 255; makefile: 252; ruby: 9
file content (116 lines) | stat: -rw-r--r-- 3,357 bytes parent folder | download | duplicates (3)
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
114
115
116
gap> START_TEST("ZeroVector.tst");
gap> ReadGapRoot("tst/testinstall/MatrixObj/testmatobj.g");

#
# IsGF2VectorRep
#
gap> TestZeroVector(IsGF2VectorRep, GF(2), 3);
<a GF2 vector of length 3>
gap> TestZeroVector(IsGF2VectorRep, GF(2), 0);
<a GF2 vector of length 0>

# test error handling
gap> TestZeroVector(IsGF2VectorRep, GF(2), -1);
Error, ZeroVector: length must be non-negative
gap> TestZeroVector(IsGF2VectorRep, GF(3), 3);
Error, IsGF2VectorRep only supported over GF(2)

#
# Is8BitVectorRep
#
gap> TestZeroVector(Is8BitVectorRep, GF(3), 3);
[ 0*Z(3), 0*Z(3), 0*Z(3) ]
gap> TestZeroVector(Is8BitVectorRep, GF(3), 0);
< mutable compressed vector length 0 over GF(3) >

#
gap> TestZeroVector(Is8BitVectorRep, GF(251), 3);
[ 0*Z(251), 0*Z(251), 0*Z(251) ]
gap> TestZeroVector(Is8BitVectorRep, GF(251), 0);
< mutable compressed vector length 0 over GF(251) >

# test error handling
gap> TestZeroVector(Is8BitVectorRep, GF(3), -1);
Error, ZeroVector: length must be non-negative
gap> TestZeroVector(Is8BitVectorRep, GF(2), 3);
Error, Is8BitVectorRep only supports base fields with 3 to 256 elements
gap> TestZeroVector(Is8BitVectorRep, GF(257), 3);
Error, Is8BitVectorRep only supports base fields with 3 to 256 elements

#
# IsPlistVectorRep
#
gap> TestZeroVector(IsPlistVectorRep, GF(2), 3);
<plist vector over GF(2) of length 3>
gap> TestZeroVector(IsPlistVectorRep, GF(2), 0);
<plist vector over GF(2) of length 0>

#
gap> TestZeroVector(IsPlistVectorRep, Integers, 3);
<plist vector over Integers of length 3>
gap> TestZeroVector(IsPlistVectorRep, Integers, 0);
<plist vector over Integers of length 0>

#
gap> TestZeroVector(IsPlistVectorRep, Rationals, 3);
<plist vector over Rationals of length 3>
gap> TestZeroVector(IsPlistVectorRep, Rationals, 0);
<plist vector over Rationals of length 0>

#
gap> TestZeroVector(IsPlistVectorRep, Integers mod 4, 3);
<plist vector over (Integers mod 4) of length 3>
gap> TestZeroVector(IsPlistVectorRep, Integers mod 4, 0);
<plist vector over (Integers mod 4) of length 0>

# test error handling
gap> TestZeroVector(IsPlistVectorRep, Rationals, -1);
Error, ZeroVector: length must be non-negative

#
# Test ZeroVector variant which "guesses" a suitable representation, i.e.:
#    ZeroVector( <R>, <m> )
#

#
gap> ZeroVector(Integers, 2);
<plist vector over Integers of length 2>
gap> ZeroVector(Integers, 0);
<plist vector over Integers of length 0>
gap> ZeroVector(Integers, -1);
Error, ZeroVector: length must be non-negative

#
gap> ZeroVector(Integers mod 4, 2);
<plist vector over (Integers mod 4) of length 2>
gap> ZeroVector(Integers mod 4, 0);
<plist vector over (Integers mod 4) of length 0>
gap> ZeroVector(Integers mod 4, -1);
Error, ZeroVector: length must be non-negative

#
gap> ZeroVector(GF(2), 2);
<a GF2 vector of length 2>
gap> ZeroVector(GF(2), 0);
<a GF2 vector of length 0>
gap> ZeroVector(GF(2), -1);
Error, ZeroVector: length must be non-negative

#
gap> ZeroVector(GF(3), 2);
[ 0*Z(3), 0*Z(3) ]
gap> ZeroVector(GF(3), 0);
< mutable compressed vector length 0 over GF(3) >
gap> ZeroVector(GF(3), -1);
Error, ZeroVector: length must be non-negative

#
gap> ZeroVector(GF(4), 2);
[ 0*Z(2), 0*Z(2) ]
gap> ZeroVector(GF(4), 0);
< mutable compressed vector length 0 over GF(4) >
gap> ZeroVector(GF(4), -1);
Error, ZeroVector: length must be non-negative

#
gap> STOP_TEST("ZeroVector.tst");