 [HELP] Understanding the operation of CAS object types - Printable Version +- HP Forums (https://www.hpmuseum.org/forum) +-- Forum: HP Calculators (and very old HP Computers) (/forum-3.html) +--- Forum: HP Prime (/forum-5.html) +--- Thread: [HELP] Understanding the operation of CAS object types (/thread-7364.html) [HELP] Understanding the operation of CAS object types - compsystems - 12-04-2016 08:09 PM HELLO "type" HELP SAYS Quote:Syntax: type(Expr) Returns n in [1..12] that defines the type of the argument Example: type("abc") returns DOM_STRING EVAL(DOM_STRING) returns 12 "TYPE" HELP SAYS Quote:Syntax: TYPE(object) Returns the type # of the object: 0: Real TYPE(π) 1: Integer TYPE(#6h) 2: String TYPE("A+B") 3: Complex TYPE(3+4*i) 4: Matrix TYPE([1,2,3]) 5: Error TYPE(EXAMPLE?) 6: List TYPE({1,2,3}) 8: Function TYPE(x+3) 9: Unit TYPE(5_m) 14.? : CAS object. the fractional part is the CAS type I do not understand 14. # someone knows an example? A program that shows the output of (TYPE versus type) commands, if you know the example for types (3,5,9,...) please inform me type cmd PHP Code: `#cas    types():=     begin        // Nov 5 2016         print;        print( "type cmd" );                print( "❑ Float:    type( 3.14 ) → "    + type( 3.14 ) + " # " + EVAL( type(3.14)) ); // DOM_FLOAT // 1        print( "❑ Integer:    type( #6h )  → "    + type( #6h ) + " # " + EVAL( type(#6h)) ); // DOM_INT // 2        print( "❑ Integer:    type( true ) → "    + type( true ) + " # " + EVAL( type(true)) ); // DOM_INT // 2        print( "❑ 3 " ); // example ?        print( "❑ Complex:type( 3+4*i ) → "  + type( 3+4*i ) + " # " + EVAL( type(3+4*i)) ); // DOM_COMPLEX // 4             print( "❑ 5 " ); // example ?        print( "❑ Identifier: type( x )    → "     + type( x ) + " # " + EVAL( type(x)) ); // DOM_IDENT // 6        print( "❑ Identifier: type( π )    → "     + type( π ) + " # " + EVAL( type(π)) ); // DOM_IDENT // 6        print( "❑ Array:    type( [[1,2],[y,4]] ) → "     + type( [[1,2],[y,4]] ) + " # " + EVAL( type([[1,2],[3,4]] )) ); // DOM_LIST // 7        print( "❑ List:        type( {1,{2,3},[x]} ) → "     + type( {1,{2,3},[x]} ) + " # " + EVAL( type({1,{2,3},} )) ); // DOM_LIST // 7         print( "❑ List:        type( list[1,{2,3},[x]] ) → "     + type( list[1,{2,3},[x]] ) + " # " + EVAL( type( list[1,{2,3},[x]] )) ); // DOM_LIST // 7         print( "❑ Poly:type( poly1[1,-6,11,6] ) → "     + type( poly1[1,-6,11,6] ) + " # " + EVAL( type( poly1[1,-6,11,6])) ); // DOM_LIST // 7         print( "❑ Set:        type( set{1,2,3} ) → "     + type(set[1,2,3]) + " # " + EVAL(type(set[1,2,3])) ); // DOM_LIST // 7         print( "❑ Symbolic:type( 'A+B' ) → "     + type( 'A+B' ) + " # " + EVAL(type('A+B')) ); // DOM_SYMBOLIC // 8        print( "❑ Symbolic: type( 5_m ) → "  + type( 5_m ) + " # " + EVAL(type(5_m)) ); // DOM_SYMBOLIC // 8        print( "❑ 9-11 " ); // examples ?        print( "❑ String:  type( \"A+B\" ) → "  + type( "A+B" ) + " # " + EVAL(type( "A+B" )) ); // DOM_STRING // 12        print( "❑ Function:type( f(x):=x+3) ) →"    + type( f(x):=x+3 ) + " #" + EVAL( type(f(x):=x+3 )) ); // DOM_FUNC // 13        print( "❑ 14... ?" );        print( "❑ SpecialFloat: type( 3°5′6″ ) → "  + type( 3°5′6″ ) + " # " + EVAL(type( 3°5′6″ )) ); // DOM_SPECIALFLOAT // 21        return( "Done" );    end;#end ` TYPE cmd PHP Code: `EXPORT TYPES()BEGIN  // Nov 5 2016   print();  print( "TYPE cmd" );  print( "❑ Real:     TYPE( π )         → "  + TYPE( π ) ); // 0  print( "❑ Real:     TYPE( 3°5′6″ )     → "  + TYPE( 3°5′6″ ) ); // 0  print( "❑ Integer: TYPE( #6h )     → "  + TYPE( #6h ) ); // 1  print( "❑ String:     TYPE( \"A+B\" ) → "    + TYPE( "A+B" ) ); // 2  print( "❑ Complex: TYPE( 3+4*i )     → "  + TYPE( 3+4*i ) ); // 3  print( "❑ Matrix:     TYPE( [[1,2],[3,4]] ) → "    + TYPE( [[1,2],[3,4]] ) ); // 4  //print( "❑ Error: "     + TYPE(?) );  print( "❑ List:      TYPE( {1,{2,3},} ) → "     + TYPE( {1,{2,3},} ) ); // 6    print( "❑ Function: TYPE( 'A+B' )     → "  + TYPE( 'A+B' ) ); // 8  print( "❑ Function: TYPE( CAS( \"f(x):=x+3\" ) )→ "    + TYPE( cas( "f(x):=x+3" )) ); // 8    print( "❑ Function: TYPE( CAS.( f(X):=X+3 ) )→ "    + TYPE( CAS.( f(X):=X+3 )) ); // 8  print( "❑ Function: TYPE( f(X):=X+3 )→ "    + TYPE( f(X):=X+3 ) );  print( "❑ Unit:      TYPE( 5_m )     → "  + TYPE(5_m) ); // 9  return( "Done" );END; ` RE: CAS object (Help with TYPE cmd) - compsystems - 12-04-2016 09:50 PM The sentence inside "TYPES" prg does not work. Why? PHP Code: `print("❑Function: TYPE(f(x):=x+3))-> "+TYPE(CAS::(f:=(x)->x+3))) ` RE: CAS object (Help with TYPE cmd) - Han - 12-05-2016 12:10 AM (12-04-2016 09:50 PM)compsystems Wrote:  The sentence inside "TYPES" prg does not work PHP Code: `print("❑Function: TYPE(f(x):=x+3))-> "+TYPE(CAS::(f:=(x)->x+3))) ` What is CAS::(f:=(x)->x+3) ? There is no such construct in HPPL. The CAS command is invoked with CAS() or CAS.function() and not CAS::(). Use: TYPE(CAS("f:=(x)->x+3")) RE: - compsystems - 12-05-2016 02:29 PM HOME MODE X (defined variable to 0), x -> "Syntax Error" (best undefined variable) case1: Why only capital X is valid as a symbolic variable? If the CAS command tells it to operate as symbolic arg. TYPE CMD & CAS.() CMD TYPE( CAS.( f(X):=X+3 )) [ENTER] returns 8 // X uppercase & TYPE( CAS.( f(x):=x+3 )) -> "Syntax Error" Why? // x lowercase type CMD & CAS.() CMD type( CAS.( f(X):=X+3 )) -> 8 type( CAS.( f(x):=x+3 )) -> "Syntax Error" Why? / ---------------------------------- case2: Within a chain is indifferent X or x TYPE CMD & CAS( "" ) CMD TYPE( CAS( "f(X):=X+3" )) -> 8 // X uppercase TYPE( CAS( "f(x):=x+3" )) -> 8 // x lowercase type CMD & CAS( "" ) CMD type( CAS( "f(X):=X+3" )) -> 8 type( CAS( "f(x):=x+3" )) -> 8 ---------------------------------- case3: TYPE CMD TYPE( f(X):=X+3 ) -> 8 // // X uppercase TYPE( f(x):=x+3 ) -> "Syntax Error" Why? / // x lowercase type CMD type( f(X):=X+3 ) -> 2 ?? type( f(x):=x+3 ) -> "Syntax Error" Why? / CAS MODE TYPE( CAS( "f(X):=X+3" )) -> "Error: Unmatch control word" TYPE( CAS( "f(x):=x+3" )) -> "Error: Unmatch control word" TYPE( CAS.( f(X):=X+3 )) -> 8 TYPE( CAS.( f(x):=x+3 )) -> 8 TYPE( f(X):=X+3 ) -> "Error: Unmatch control word" TYPE( f(x):=x+3 ) -> "Error: Unmatch control word" type( CAS( "f(X):=X+3" )) -> DOM_SYMBOLIC Why? type( CAS( "f(x):=x+3" )) -> DOM_SYMBOLIC Why? type( CAS.( f(X):=X+3 )) -> DOM_IDENT Why? type( CAS.( f(x):=x+3 )) -> DOM_IDENT Why? type( f(X):=X+3 ) -> DOM_FUNC type( f(x):=x+3 ) -> DOM_FUNC ------ CAS:: () only CAS MODE TYPE( CAS.( f(X):=X+3 )) [ENTER] returns 8 [UP] [UP] [COPY] TYPE(CAS::(f:=(X)->X+3)) TYPE(CAS:: (f:=(X)->X+3)) -> 8 type( CAS.( f(X):=X+3 )) [ENTER] returns DOM_IDENT [UP] [UP] [COPY] TYPE(CAS:: (f:=(X)->X+3)) type( CAS:: (f:=(X)->X+3)) -> DOM_IDENT