Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
pugs
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
code
pugs
Merge requests
!71
Feature/language tiny matrices
Code
Review changes
Check out branch
Download
Patches
Plain diff
Merged
Feature/language tiny matrices
feature/language-tiny-matrices
into
develop
Overview
0
Commits
25
Pipelines
0
Changes
1
Merged
Stéphane Del Pino
requested to merge
feature/language-tiny-matrices
into
develop
4 years ago
Overview
0
Commits
25
Pipelines
0
Changes
1
Expand
0
0
Merge request reports
Viewing commit
65f6955e
Prev
Next
Show latest version
1 file
+
66
−
0
Inline
Compare changes
Side-by-side
Inline
Show whitespace changes
Show one file at a time
65f6955e
Add missing tests for ArraySubscriptProcessor in the R^dxd case
· 65f6955e
Stéphane Del Pino
authored
4 years ago
tests/test_ArraySubscriptProcessor.cpp
+
66
−
0
Options
@@ -108,6 +108,55 @@ let x2 : R, x2 = x[2];
CHECK_EVALUATION_RESULT
(
data
,
"x2"
,
double
{
3
});
}
SECTION
(
"R^1x1 component access"
)
{
std
::
string_view
data
=
R"(
let x : R^1x1, x = 1;
let x00: R, x00 = x[0,0];
)"
;
CHECK_EVALUATION_RESULT
(
data
,
"x00"
,
double
{
1
});
}
SECTION
(
"R^2x2 component access"
)
{
std
::
string_view
data
=
R"(
let x : R^2x2, x = (1,2,3,4);
let x00: R, x00 = x[0,0];
let x01: R, x01 = x[0,1];
let x10: R, x10 = x[1,0];
let x11: R, x11 = x[1,1];
)"
;
CHECK_EVALUATION_RESULT
(
data
,
"x00"
,
double
{
1
});
CHECK_EVALUATION_RESULT
(
data
,
"x01"
,
double
{
2
});
CHECK_EVALUATION_RESULT
(
data
,
"x10"
,
double
{
3
});
CHECK_EVALUATION_RESULT
(
data
,
"x11"
,
double
{
4
});
}
SECTION
(
"R^3x3 component access"
)
{
std
::
string_view
data
=
R"(
let x : R^3x3, x = (1,2,3,4,5,6,7,8,9);
let x00 : R, x00 = x[0,0];
let x01 : R, x01 = x[0,1];
let x02 : R, x02 = x[0,2];
let x10 : R, x10 = x[1,0];
let x11 : R, x11 = x[1,1];
let x12 : R, x12 = x[1,2];
let x20 : R, x20 = x[2,0];
let x21 : R, x21 = x[2,1];
let x22 : R, x22 = x[2,2];
)"
;
CHECK_EVALUATION_RESULT
(
data
,
"x00"
,
double
{
1
});
CHECK_EVALUATION_RESULT
(
data
,
"x01"
,
double
{
2
});
CHECK_EVALUATION_RESULT
(
data
,
"x02"
,
double
{
3
});
CHECK_EVALUATION_RESULT
(
data
,
"x10"
,
double
{
4
});
CHECK_EVALUATION_RESULT
(
data
,
"x11"
,
double
{
5
});
CHECK_EVALUATION_RESULT
(
data
,
"x12"
,
double
{
6
});
CHECK_EVALUATION_RESULT
(
data
,
"x20"
,
double
{
7
});
CHECK_EVALUATION_RESULT
(
data
,
"x21"
,
double
{
8
});
CHECK_EVALUATION_RESULT
(
data
,
"x22"
,
double
{
9
});
}
SECTION
(
"R^d component access from integer expression"
)
{
std
::
string_view
data
=
R"(
@@ -125,6 +174,23 @@ let z0: R, z0 = z[(2-2)*1];
CHECK_EVALUATION_RESULT
(
data
,
"z0"
,
double
{
8
});
}
SECTION
(
"R^dxd component access from integer expression"
)
{
std
::
string_view
data
=
R"(
let x : R^3x3, x = (1,2,3,4,5,6,7,8,9);
let x01: R, x01 = x[3-2-1,2+3-4];
let y : R^2x2, y = (2,7,6,-2);
let y11: R, y11 = y[2/2, 3/1-2];
let z : R^1x1, z = 8;
let z00: R, z00 = z[(2-2)*1, (3-1)*2-4];
)"
;
CHECK_EVALUATION_RESULT
(
data
,
"x01"
,
double
{
2
});
CHECK_EVALUATION_RESULT
(
data
,
"y11"
,
double
{
-
2
});
CHECK_EVALUATION_RESULT
(
data
,
"z00"
,
double
{
8
});
}
SECTION
(
"error invalid index type"
)
{
SECTION
(
"R index type"
)
Loading