📄 set8700.line
字号:
#### set8700 - dotest line tests for the 8700 set of regress.cal#### Copyright (C) 2006 Ernest Bowen and Landon Curt Noll#### Calc is open software; you can redistribute it and/or modify it under## the terms of the version 2.1 of the GNU Lesser General Public License## as published by the Free Software Foundation.#### Calc 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 GNU Lesser General## Public License for more details.#### A copy of version 2.1 of the GNU Lesser General Public License is## distributed with calc under the filename COPYING-LGPL. You should have## received a copy with calc; if not, write to Free Software Foundation, Inc.## 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA.#### @(#) $Revision: 29.4 $## @(#) $Id: set8700.line,v 29.4 2006/08/20 16:16:11 chongo Exp $## @(#) $Source: /usr/local/src/cmd/calc/cal/RCS/set8700.line,v $#### Under source code control: 2006/05/20 14:10:11## File existed as early as: 2006#### chongo <was here> /\oo/\ http://www.isthe.com/chongo/## Share and enjoy! :-) http://www.isthe.com/chongo/tech/comp/calc/strcpy("", "") == ""strcpy("", "xyz") == ""strcpy("a", "xyz") == "x"strcpy("ab", "xyz") == "xy"strcpy("abc", "xyz") == "xyz"strcpy("abcd", "xyz") == "xyz\0" ## Result will print as "xyz"strcpy("abcde", "xyz") == "xyz\0e"strcpy("abcdef", "xyz") == "xyz\0ef"strcpy("abcdef", "x\0z") == "x\0z\0ef" ## Note z is copiedstrcpy("abc", "") == "\0bc"strncpy("abcdef", "xyz", 0) == "abcdef" ## No characters copiedstrncpy("abcdef", "xyz", 1) == "xbcdef" ## One character copied, no '\0'strncpy("abcdef", "xyz", 2) == "xycdef"strncpy("abcdef", "xyz", 3) == "xyzdef"strncpy("abcdef", "xyz", 4) == "xyz\0ef"strncpy("abcdef", "xyz", 5) == "xyz\0\0f" ## Two nulls as in Cstrncpy("abcdef", "xyz", 6) == "xyz\0\0\0"strncpy("abcdef", "xyz", 7) == "xyz\0\0\0" ## Size of first string unchangedstrncpy("a\0cdef", "\0yz", 4) == "\0yz\0ef"strncpy("ab", "xyz", 3) == "xy"strcmp("", "") == 0strcmp("", "a") == -1strcmp("\n", "\n") == 0strcmp("\0", "") == 1 ## '\0' treated like other charactersstrcmp("ab", "") == 1strcmp("ab", "a") == 1strcmp("ab", "ab") == 0strcmp("ab", "abc") == -1strcmp("abc", "abb") == 1strcmp("abc", "abc") == 0strcmp("abc", "abd") == -1strcmp("abc\0", "abc") == 1strncmp("abc", "xyz", 0) == 0strncmp("abc", "xyz", 1) == -1strncmp("abc", "", 1) == 1strncmp("abc", "a", 1) == 0strncmp("", "", 2) == 0strncmp("a", "a", 2) == 0strncmp("a", "b", 2) == -1strncmp("ab", "ab", 2) == 0strncmp("ab", "ac", 2) == -1strncmp("\0ac", "\0b", 2) == -1strncmp("ab", "abc", 2) == 0strncmp("abc", "abd", 2) == 0strncmp("a", "a\0", 2) == -1strncmp("a", "a", 3) == 0strncmp("abc", "abd", 3) == -1strncmp("\0\0\n", "\0\0\t", 3) == 1str("abc") == "abc"str("ab\0") == "ab"str("a\0c") == "a"str("\0bc") == ""size("") == 0size("a") == 1size("\0") == 1size("a\0") == 2size("a\0b") == 3strlen("\0") == 0strlen("a\0") == 1strlen("a\0b") == 10 * "abc" == ""1 * "abc" == "abc"2 * "abc" == "abcabc"3 * "abc" == "abcabcabc"1 * "" == ""-1 * "abc" == "cba"-2 * "abc" == "cbacba""abc" + "xyz" == "abcxyz""abc" - "xyz" == "abczyx"substr("abcd",0,0) == ""substr("abcd",0,1) == "a"substr("abcd",0,2) == "ab"substr("abcd",1,0) == ""substr("abcd",1,1) == "a"substr("abcd",1,2) == "ab"substr("abcd",2,0) == ""substr("abcd",2,1) == "b"substr("abcd",2,2) == "bc";substr("abcd",2,3) == "bcd";substr("abcd",2,4) == "bcd";substr("abcd",2,5) == "bcd"; ## substr stops at end of stringsubstr("abcd",4,0) == ""substr("abcd",4,1) == "d"substr("abcd",4,2) == "d"substr("abcd",4,3) == "d"substr("abcd",5,0) == ""substr("abcd",5,1) == ""substr("a\0c\0",2,2) == "\0c" ## '\0' treated like other characterssubstr("a\0c\0",2,3) == "\0c\0"#"" == 0 ## # operator counts number of bits#"\0" == 0# "a" == 3 # "ab" == 6 ## white space ignored# "abc" == 10# 27 == 4# 0b1010111011 == 77 # 9 == 2 ## 7 # 9 = abs(7 - 9)3/4 # 2/3 == 1/12a = 5, a #= 2, a == 3a #= 4, a == 1## Binary # operator not defined for stringsprotect(set8700_A) == 0## Testing with one lvalueisnull(protect(set8700_A,65))protect(set8700_A) == 65isnull(protect(set8700_A, -1))protect(set8700_A) == 64protect(set8700_A,-2), protect(set8700_A) == 64protect(set8700_A,5), protect(set8700_A) == 69protect(set8700_A,-4), protect(set8700_A) == 65protect(set8700_A,0), protect(set8700_A) == 0protect(set8700_A,1234), protect(set8700_A) == 1234protect(set8700_A,-1234), protect(set8700_A) == 0protect(set8700_A,65535), protect(set8700_A) == 65535protect(set8700_A,-65535), protect(set8700_A) == 0## Simple assignmentsset8700_A = 42, protect(set8700_A,1024), set8700_B = set8700_A, protect(set8700_B) == 1024set8700_A = 6 * 7, protect(set8700_A) == 1024set8700_A == set8700_B## Testing matrix protectioonset8700_A = mat [3] = {1, 2, list(3,4)}; 1protect(set8700_A, 65, 1), protect(set8700_A) == 1089protect(set8700_A[0]) == 65protect(set8700_A[2]) == 65protect(set8700_A[2][1]) == 0protect(set8700_A, 65, 2), protect(set8700_A[2][1]) == 65protect(set8700_A,-1024), protect(set8700_A) == 65protect(set8700_A, -1, 1), protect(set8700_A) == 64protect(set8700_A[1]) == 64protect(set8700_A[2]) == 64protect(set8700_A[2][0]) == 65protect(set8700_A,0), protect(set8700_A) == 0protect(set8700_A[1]) == 64protect(set8700_A, 0, 2), protect(set8700_A) == 0protect(set8700_A[1]) == 0protect(set8700_A[2][1]) == 0protect(set8700_A,1024, 2), protect(set8700_A) == 1024protect(set8700_A[2]) == 1024protect(set8700_A[2][0], 512), protect(set8700_A[2][0]) == 1536## Testing simple assignment of matrixset8700_B = set8700_A, protect(set8700_B) == 1024 ## protect(set8700_A) copiedprotect(set8700_B[2]) == 1024 ## protect(set8700_A[2]) copiedprotect(set8700_B[2][0]) == 1536 ## protect(set8700_A[2][0]) copied## copying matrix to listset8700_B = list(5,6,7), protect(set8700_B) == 1024protect(set8700_B[0]) == 0protect(set8700_B[2]) == 0protect(set8700_A,0), protect(set8700_A) == 0copy(set8700_A,set8700_B), set8700_B[0] == 1 && set8700_B[1] == 2set8700_B[2] == list(3,4)protect(set8700_B) == 1024 ## protect(set8700_A) not copiedprotect(set8700_B[0]) == 1024 ## protect(set8700_A[0]) copiedprotect(set8700_B[2][0]) == 1536 ## protect(set8700_A[2][0]) copied## copying matrix to matrixset8700_B = mat[3], protect(set8700_B) == 1024protect(set8700_B[2]) == 0copy(set8700_A,set8700_B), set8700_B[0] == 1 && set8700_B[1] == 2set8700_B[2] == list(3,4)protect(set8700_B) == 1024 ## protect(set8700_A) not copiedprotect(set8700_B[0]) == 1024 ## protect(set8700_A[0]) copiedprotect(set8700_B[2][0]) == 1536 ## protect(set8700_A[2][0]) copied## Testing list protectionset8700_A = list(1, 2, list(3,4)), 1protect(set8700_A,1024, 2), protect(set8700_A) == 1024protect(set8700_A[2]) == 1024
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -