/* Copyright (C) 1993, 1998 by Thomas Glen Smith. All Rights Reserved. */ /* aplmsg APL2 V1.0.1 ************************************************** * Called by funcsusp. Given an APL error message number, aplmsg will * * return a pointer to the error message. * ***********************************************************************/ #define INCLUDES 0 #include "includes.h" char *aplmsg(no) int no; { switch (no) { case 1: return( "1 - non empty variables of dissimilar type are invalid to dyadic."); case 2: return( "2 - arguments to catenate aren't conformable."); case 3: return( "3 - invalid axis."); case 4: return( "4 - invalid left argument to compress/expand derived function."); case 5: return( "5 - arguments to mdivide must have ranks <= 2."); case 6: return( "6 - # rows m/b >= # columns in right argument to mdivide and matinv."); case 7: return( "7 - row dimension must match in the two arguments to mdivide."); case 8: return( "8 - right argument to mdivide or matinv isn't invertible."); case 9: return( "9 - invalid axis value"); case 10: return( "10 - left argument to reshape must be of rank 0 or 1."); case 11: return( "11 - can't reshape something from nothing."); case 12: return( "12 - invalid constant."); case 13: return( "13 - an empty vector and undefined identity in reduce."); case 14: return( "14 - the arguments to format must be numeric."); case 15: return( "15 - the left argument to take or drop can't have rank > 1."); case 16: return( "16 - in take or drop, the left's count must equal right's rank."); case 17: return( "17 - dyadic function arguments are not conformable."); case 18: return( "18 - character-to-real conversion isn't supported."); case 19: return( "19 - character-to-integer conversion isn't supported."); case 20: return( "20 - an arithmetic (+-/) or math (sin, cos) function failed."); case 21: return( "21 - conversion from numeric to character is not supported."); case 22: return( "22 - ivalue has been passed an empty variable."); case 23: return( "23 - value has been passed an empty variable."); case 24: return( "24 - Dimensions must conform in inner product and decode."); case 25: return( "25 - the left argument to dyadic format has the wrong rank."); case 26: return( "26 - the left argument to format has incorrect length."); case 27: return( "27 - out of main storage."); case 28: return( "28 - a width is too large in format."); case 29: return( "29 - a width is too small in format."); case 30: return( "30 - no match, count of nonzero left items and right's axis in expand."); case 31: return( "31 - no match, left count and right's axis in expand."); case 32: return( "32 - no match, left count and right's rank in transpose."); case 33: return( "33 - left is missing a positive integer from 0 to n in transpose."); case 34: return( "34 - index out of range."); case 35: return( "35 - bad number of replacements in indexv."); case 36: return( "36 - invalid argument to factorial."); case 37: return( "37 - argument to iroll is less than 0."); case 38: return( "38 - integer division by 0."); case 39: return( "39 - real division by 0."); case 40: return( "40 - unsupported values to binom function."); case 41: return( "41 - arguments to deal must be 1 item long."); case 42: return( "42 - arguments to deal must be positive integers."); case 43: return( "43 - left must be <= right in deal."); case 44: return( "44 - null argument to quadout or execdyam."); case 45: return( "45 - argument to indexgen must be a positive integer."); case 46: return( "46 - Error."); case 47: return( "47 - argument to grade can't be character"); case 48: return( "48 - right argument to rotate has bad shape."); case 49: return( "49 - shapes of left and right excluding axis must match in rotate."); case 50: return( "50 - shapes of left and right must match in laminate."); case 51: return( "51 - axis must be positive in laminate."); case 52: return( "52 - axis too large in laminate."); case 53: return( "53 - wrong number of indices to indexm"); case 54: return( "54 - index out of range in indexm."); case 55: return( "55 - error in assign."); case 56: return( "56 - argument to execute has rank greater than one."); case 57: return( "57 - argument to execute must be character."); case 58: return( "58 - syntax error."); case 59: return( "59 - argument not found where expected during execute."); case 60: return( "60 - missing result during execute."); case 61: return( "61 - stack not empty at end of expression in execute."); case 62: return( "62 - invalid result from execute."); case 63: return( "63 - missing operator/function during execute processing."); case 64: return( "64 - unexpected bracketed value."); case 65: return( "65 - unknown function found during dyadic execute processing."); case 66: return( "66 - left argument to assignment must be a variable name."); case 67: return( "67 - missing monadic argument during execute processing."); case 68: return( "68 - scalar can't be indexed."); case 69: return( "69 - unknown argument type during execute."); case 70: return( "70 - missing right argument during execute."); case 71: return( "71 - null argument during monadic processing in module execmonb."); case 72: return( "72 - invalid scalar function used with reduce or scan."); case 73: return( "73 - unknown monadic function."); case 74: return( "74 - unexpected function operand to dot product."); case 75: return( "75 - only equal/not equal can be applied to character data."); case 76: return( "76 - Scan does not accept a left argument."); case 77: return( "77 - Apl null (jot) must be succeeded by a period."); case 78: return( "78 - null output from dot product."); case 79: return( "79 - missing scalar function to the left of reduce/scan operator."); case 80: return( "80 - left bracket not found when expected in execute."); case 81: return( "81 - semicolon not found when expected in execute."); case 82: return( "82 - token expected to the left of left bracket."); case 83: return( "83 - axis must be a one-element vector or scalar."); case 84: return( "84 - artanh argument > 1."); case 85: return( "85 - left value to circular function must be integer -12 thru 12."); case 86: return( "86 - denominator of exponent must be odd if left negative to power."); case 87: return( "87 - exponent must approximate rational number if left negative to power."); case 88: return( "88 - system variable not yet implemented."); case 89: return( "89 - axis indicated where it's not accepted."); case 90: return( "90 - input to quad fx m/b character matrix, or nested vector."); case 91: return( "91 - can't assign to a label."); case 92: return( "92 - variable size is too big for this implementation."); case 93: return( "93 - invalid syntax in function header."); case 94: return( "94 - user function without result must stand alone."); case 95: return( "95 - invalid syntax = right arrow then cap_null in function."); case 96: return( "96 - a local name can't be repeated in a function header."); case 97: return( "97 - local variable names and labels can't be synonyms in a function."); case 98: return( "98 - no returned value from user function when exected."); case 99: return( "99 - unknown command."); case 100: return( "100 - file doesn't exist."); case 101: return( "101 - file can't be created."); case 102: return( "102 - file can't be opened."); case 103: return( "103 - file can't be written to."); case 104: return( "104 - file can't be closed."); case 105: return( "105 - file can't be read from."); case 106: return( "106 - workspace version not supported."); case 107: return( "107 - )save specifies an existing workspace which is not the current."); case 108: return( "108 - )save where?."); case 109: return( "109 - input to quadcr m/b a non-empty character vector."); case 110: return( "110 - input to quadcx or quadnc m/b character vector or matrix."); case 111: return( "111 - left argument to quadnl m/b character vector."); case 112: return( "112 - bad number of replacement values in indexm."); case 113: return( "113 - left argument to reshape must be zero or positive."); case 114: return( "114 - del editor expected a function name."); case 115: return( "115 - del editor found function name already in use."); case 116: return( "116 - del editor didn't find named function to edit."); case 117: return( "117 - quad nl accepts only values 1, 2, and 3 in the right argument."); case 118: return( "118 - not grouped, name in use.."); case 119: return( "119 - group name is undefined."); case 120: return( "120 - no function is currently suspended to branch in."); case 121: return( "121 - left argument to replicate may contain only positive values."); case 122: return( "122 - Ranks differ in disclose."); case 123: return( "123 - Invalid axes."); case 124: return( "124 - Arguments inconsistent in pick."); case 125: return( "125 - Nested variable is argument to integer()."); case 126: return( "126 - bad left argument to n-wise."); case 127: return( "127 - item out of place."); case 128: return( "128 - length error."); case 129: return( "129 - rank error."); case 130: return( "130 - argument of complex gamma function too close to a pole."); case 131: return( "131 - Invalid data type for format by example."); case 132: return( "132 - Invalid model for format by example."); case 133: return( "133 - Domain error."); case 134: return( "134 - Items of right to form m/b simple numeric scalar or character vector."); case 135: return( "135 - Partition needs left to be simple vector of nonnegative integers."); case 136: return( "136 - Real argument to acosh must not be less than 1."); case 995: return( "995 - Matrix divide of complex numbers not yet supported."); case 996: return( "996 - Non-integer powers of complex numbers not yet supported."); case 997: return( "997 - clearing state indicator to last suspended function."); case 998: return( "998 - end of apl processing."); default: return( "999 - internal error"); } }