Releases: ia-toki/tcframe
Releases · ia-toki/tcframe
v1.8.0
v1.7.0
v1.6.0
Bugfixes
- Fixed a bug where tcframe crashed when grading spec with multiple test cases mode, which has no sample test cases.
- Fixed a bug where a
LINE()
with only jagged vector contained an extra leading space. - Fixed a bug where a
LINES()
with empty vectors contained extra spaces.
Enhancements
- Disallow specifying
SIZE()
afterLINE()
andRAW_LINE()
instead of silently ignoring it.
v1.5.0
v1.4.0
New features
- Interactive problems are now supported.
- It is now possible for scorers to specify partial points, by outputting
OK\n<points>\n
. - It is now possible to assign points to subtasks.
- It is now possible to specify more than one output formats.
- Local grading now supports additional
--brief
argument to make the output concise.
v1.3.0
v1.2.1
Bugfixes
-
Fixed a regression when I/O format segments do not pick up correct sizes if the sizes contain expressions that contain I/O variables. The value of the variables were evaluated the first time they were read.
For example, if you declare
SIZE(N - 1)
, it would always evaluate toSIZE(-1)
(N
= 0), which is incorrect. It is now fixed.Note that if the expression contains only a single variable (e.g.
SIZE(N)
), it is not affected and has always been correct.
v1.2.0
Bugfixes
- Fixed a regression when the final verdict of local grading of problems without subtasks is always AC.
New features
- It is now possible to write a custom program that checks whether the contestant's output is correct (instead of just comparing it with the official output). This is called custom scorer program.
- It is now possible not to generate test case output (
.out
) files.
v1.1.0
New features
- It is now possible to omit
SIZE()
for aLINES()
segment, as long as it is the last segment in an I/O format. - Brand new segments:
RAW_LINE()
andRAW_LINES()
, which accept strings containing whitespaces.
Enhancements
-
I/O format errors after a vector/matrix now have the last indices reported in the error message. For example,
Before:
Expected: <newline> after 'D'
Now:
Expected: <newline> after 'D[1]'