Math.st
author Claus Gittinger <cg@exept.de>
Fri, 21 Feb 2020 20:48:14 +0100
changeset 1231 b7d945ef967a
parent 1090 0b186002fc05
permissions -rw-r--r--
#REFACTORING by exept class: JavaScriptParser changed: #forStatement class: JavaScriptParser class added: #forOfAllowed comment/format in: #forInAllowed
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
     1
"{ Encoding: utf8 }"
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
     2
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
 COPYRIGHT (c) 2008 by eXept Software AG
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
              All Rights Reserved
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 This software is furnished under a license and may be used
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 only in accordance with the terms of that license and with the
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 inclusion of the above copyright notice.   This software may not
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 be provided or otherwise made available to, or used by, any
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
 other person.  No title to or ownership of the software is
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
 hereby transferred.
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
"{ Package: 'stx:libjavascript' }"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
    16
"{ NameSpace: Smalltalk }"
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
    17
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
Object subclass:#Math
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
	instanceVariableNames:''
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
	classVariableNames:''
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
	poolDictionaries:''
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
	category:'Languages-JavaScript-Framework'
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
!Math class methodsFor:'documentation'!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
copyright
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 COPYRIGHT (c) 2008 by eXept Software AG
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
              All Rights Reserved
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 This software is furnished under a license and may be used
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 only in accordance with the terms of that license and with the
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
 inclusion of the above copyright notice.   This software may not
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
 be provided or otherwise made available to, or used by, any
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
 other person.  No title to or ownership of the software is
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
 hereby transferred.
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
documentation
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    Simulates the javascript Math protocol
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
    allows for
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
        Math.sin(foo)
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    or
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
        Math.atan2(a,b)
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
! !
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
!Math class methodsFor:'constants'!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
E
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
    "Eulers constant, the base of the natural logarithm; approx 2.718"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
    ^ Float e
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
        evaluate:'Math.E;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
LN10
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    "natural logarithm of 10, approx 2.302"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
    ^ 10 ln
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
        evaluate:'Math.LN10;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
LN2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    "natural logarithm of 2, approx 0.693"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    ^ Float ln2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
        evaluate:'Math.LN2;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
LOG10E
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    "base 10 logarithm of E; approx. 0.434"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    ^ Float e log
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
        evaluate:'Math.LOG10E;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
LOG2E
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
    "base2 logarithm of E; approx. 1.442"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
    ^ Float e log / 2 log
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
        evaluate:'Math.LOG2E;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   109
NEGATIVE_INFINITY
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   110
    "-inf"
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   111
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   112
    ^ Infinity negative
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   113
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   114
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   115
     JavaScriptParser evaluate:'Math.NEGATIVE_INFINITY;'    
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   116
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   117
!
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   118
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   119
NaN
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   120
    "not a number"
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   121
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   122
    ^ Float NaN
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   123
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   124
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   125
     JavaScriptParser evaluate:'Math.NaN;'    
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   126
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   127
!
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   128
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
PI
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    "pi; approx 3.14159"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
    ^ Float pi
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
        evaluate:'Math.PI;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   140
POSITIVE_INFINITY
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   141
    "+Inf"
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   142
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   143
    ^ Infinity positive
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   144
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   145
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   146
     JavaScriptParser evaluate:'Math.POSITIVE_INFINITY;'    
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   147
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   148
!
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   149
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
SQRT1_2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    "square root of 1/2; approx 0.707"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
    ^ 1 / Float sqrt2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
        evaluate:'Math.SQRT1_2;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
SQRT2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
    "square root of 2; approx. 1.414"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
    ^ Float sqrt2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
        evaluate:'Math.SQRT2;'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
! !
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
!Math class methodsFor:'min & max'!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
max
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   175
    "returns the largest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
    ^ 0
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
        evaluate:'Math.max();'    
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   182
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
        evaluate:'Math.max(1);'    
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   185
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
        evaluate:'Math.max(10,2);'    
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   188
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
        evaluate:'Math.max(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   192
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   193
    "Modified (comment): / 15-12-2018 / 09:49:52 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
max:n1
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   197
    "returns the largest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    ^ n1
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
        evaluate:'Math.max();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
        evaluate:'Math.max(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
        evaluate:'Math.max(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
        evaluate:'Math.max(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   211
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   212
    "Modified (comment): / 15-12-2018 / 09:49:56 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
max:n1 _:n2
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   216
    "returns the largest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    ^ n1 max:n2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   220
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   221
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   222
        evaluate:'Math.max();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   223
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   224
        evaluate:'Math.max(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   225
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   226
        evaluate:'Math.max(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   227
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   228
        evaluate:'Math.max(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   229
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   230
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   231
    "Modified (comment): / 15-12-2018 / 09:49:58 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   232
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   233
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   234
max:n1 _:n2 _:n3
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   235
    "returns the largest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   236
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   237
    ^ (n1 max:n2) max:n3
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   238
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   239
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   240
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   241
        evaluate:'Math.max();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   242
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   243
        evaluate:'Math.max(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   244
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   245
        evaluate:'Math.max(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   246
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   247
        evaluate:'Math.max(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   248
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   249
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   250
    "Modified (comment): / 15-12-2018 / 09:50:01 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   251
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   252
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   253
max:n1 _:n2 _:n3 _:n4
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   254
    "returns the largest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   255
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   256
    ^ (n1 max:n2) max:(n3 max:n4)
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   257
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   258
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   259
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   260
        evaluate:'Math.max(10,5,20,3);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   261
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   262
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   263
    "Modified (comment): / 15-12-2018 / 09:50:04 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   264
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   265
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   266
max:n1 _:n2 _:n3 _:n4 _:n5
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   267
    "returns the largest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   268
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   269
    ^ ((n1 max:n2) max:(n3 max:n4)) max:n5
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   270
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   271
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   272
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   273
        evaluate:'Math.max(10,5,20,3,17);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   274
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   275
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   276
    "Modified (comment): / 15-12-2018 / 09:50:06 / Claus Gittinger"
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   277
!
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   278
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   279
max:n1 _:n2 _:n3 _:n4 _:n5 _:n6
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   280
    "returns the largest of 0 to 6 args"
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   281
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   282
    ^ ((n1 max:n2) max:(n3 max:n4)) max:(n5 max:n6)
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   283
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   284
    "
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   285
     JavaScriptParser evaluate:'Math.max(10,5,20,3,17,1);'    
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   286
    "
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   287
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   288
    "Created: / 15-12-2018 / 09:47:27 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   289
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   290
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   291
min
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   292
    "returns the smallest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   293
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   294
    ^ 0
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   295
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   296
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   297
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   298
        evaluate:'Math.min();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   299
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   300
        evaluate:'Math.min(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   301
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   302
        evaluate:'Math.min(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   303
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   304
        evaluate:'Math.min(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   305
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   306
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   307
    "Modified (comment): / 15-12-2018 / 09:49:36 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   308
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   309
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   310
min:n1
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   311
    "returns the smallest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   312
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   313
    ^ n1
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   314
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   315
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   316
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   317
        evaluate:'Math.min();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   318
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   319
        evaluate:'Math.min(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   320
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   321
        evaluate:'Math.min(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   322
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   323
        evaluate:'Math.min(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   324
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   325
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   326
    "Modified (comment): / 15-12-2018 / 09:50:17 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   327
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   328
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   329
min:n1 _:n2
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   330
    "returns the smallest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   331
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   332
    ^ n1 min:n2
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   333
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   334
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   335
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   336
        evaluate:'Math.min();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   337
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   338
        evaluate:'Math.min(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   339
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   340
        evaluate:'Math.min(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   341
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   342
        evaluate:'Math.min(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   343
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   344
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   345
    "Modified (comment): / 15-12-2018 / 09:50:19 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   346
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   347
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   348
min:n1 _:n2 _:n3
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   349
    "returns the smallest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   350
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   351
    ^ (n1 min:n2) min:n3
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   352
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   353
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   354
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   355
        evaluate:'Math.min();'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   356
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   357
        evaluate:'Math.min(1);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   358
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   359
        evaluate:'Math.min(10,2);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   360
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   361
        evaluate:'Math.min(10,5,20);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   362
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   363
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   364
    "Modified (comment): / 15-12-2018 / 09:50:22 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   365
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   366
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   367
min:n1 _:n2 _:n3 _:n4
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   368
    "returns the smallest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   369
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   370
    ^ (n1 min:n2) min:(n3 min:n4)
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   371
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   372
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   373
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   374
        evaluate:'Math.min(10,5,20,3);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   375
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   376
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   377
    "Modified (comment): / 15-12-2018 / 09:50:24 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   378
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   379
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   380
min:n1 _:n2 _:n3 _:n4 _:n5
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   381
    "returns the smallest of 0 to 6 args"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   382
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   383
    ^ ((n1 min:n2) min:(n3 min:n4)) min:n5
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   384
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   385
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   386
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   387
        evaluate:'Math.min(10,5,20,3,17);'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   388
    "
1046
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   389
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   390
    "Modified (comment): / 15-12-2018 / 09:50:27 / Claus Gittinger"
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   391
!
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   392
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   393
min:n1 _:n2 _:n3 _:n4 _:n5 _:n6
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   394
    "returns the smallest of 0 to 6 args"
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   395
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   396
    ^ ((n1 min:n2) min:(n3 min:n4)) min:(n5 min:n6)
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   397
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   398
    "
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   399
     JavaScriptParser evaluate:'Math.min(10,5,20,3,17,1);'    
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   400
    "
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   401
fd37f61cbfc0 #DOCUMENTATION by cg
Claus Gittinger <cg@exept.de>
parents: 961
diff changeset
   402
    "Created: / 15-12-2018 / 09:46:45 / Claus Gittinger"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   403
! !
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   404
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   405
!Math class methodsFor:'misc math'!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   406
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   407
abs:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   408
    "returns the absolute value of a number"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   409
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   410
    ^ aNumber abs
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   411
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   412
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   413
     JavaScriptParser evaluate:'Math.abs(-10);'    
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   414
    "
540
67ad3168e0d2 changed: #abs:
Claus Gittinger <cg@exept.de>
parents: 314
diff changeset
   415
67ad3168e0d2 changed: #abs:
Claus Gittinger <cg@exept.de>
parents: 314
diff changeset
   416
    "Modified (comment): / 21-08-2012 / 19:54:00 / cg"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   417
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   418
305
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   419
binco:n _:k
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   420
    "returns the binomialcoefficient C(n,k) (n over k, choose k from n)"
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   421
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   422
    ^ n binomialCoefficient:k
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   423
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   424
    " Lotto:
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   425
     JavaScriptParser 
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   426
        evaluate:'Math.binco(49, 6);'               
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   427
    "
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   428
!
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   429
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   430
ceil:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   431
    "returns the smallest integer greater than or equal to aNumber"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   432
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   433
    ^ aNumber ceiling
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   434
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   435
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   436
     JavaScriptParser evaluate:'Math.ceil(9.5);'    
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   437
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   438
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   439
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   440
exp:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   441
    "returns E^aNumber"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   442
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   443
    ^ aNumber exp
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   444
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   445
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   446
     JavaScriptParser evaluate:'Math.exp(1);'    
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   447
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   448
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   449
        evaluate:'Math.log(Math.exp(1));'    
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   450
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   451
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   452
305
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   453
fac:aNumber
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   454
    "returns the factorial of aNumber"
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   455
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   456
    ^ aNumber factorial
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   457
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   458
    "
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   459
     JavaScriptParser 
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   460
        evaluate:'Math.fac(10);'               
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   461
    "
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   462
!
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   463
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   464
floor:aNumber
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   465
    "returns the largest integer less than or equal to aNumber"
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   466
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   467
    ^ aNumber floor
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   468
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   469
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   470
     JavaScriptParser evaluate:'Math.floor(9.5);'               
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   471
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   472
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   473
305
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   474
gcd:a _:b
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   475
    "returns the greatest common divisor of a and b"
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   476
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   477
    ^ a gcd:b
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   478
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   479
    " 
305
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   480
     JavaScriptParser 
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   481
        evaluate:'Math.gcd(33, 6);'               
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   482
    "
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   483
!
e80531ee7d6e added Math
Claus Gittinger <cg@exept.de>
parents: 303
diff changeset
   484
1090
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   485
ln:aNumber
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   486
    "returns the natural logarithm of aNumber."
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   487
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   488
    ^ aNumber ln
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   489
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   490
    "
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   491
     JavaScriptParser 
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   492
        evaluate:'Math.ln(10);'   
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   493
        
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   494
     JavaScriptParser 
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   495
        evaluate:'Math.exp(Math.ln(10));'   
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   496
    "
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   497
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   498
    "Created: / 10-06-2019 / 17:11:37 / Claus Gittinger"
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   499
!
0b186002fc05 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 1046
diff changeset
   500
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   501
log10:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   502
    "returns the log base 10 of aNumber."
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   503
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   504
    ^ aNumber log10
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   505
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   506
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   507
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   508
        evaluate:'Math.log10(10);'              
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   509
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   510
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   511
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   512
log:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   513
    "returns the log base E of aNumber.
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   514
     ATTENTION: 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   515
        JS log is a base E log
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   516
        ST log is a base 10 log (use ln for base E)
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   517
     in JS, better use log10 to make things explicit.
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   518
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   519
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   520
    ^ aNumber ln
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   521
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   522
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   523
     JavaScriptParser evaluate:'Math.log(Math.exp(1));'              
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   524
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   525
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   526
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   527
pow:base _:exp
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   528
    "returns base^exp"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   529
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   530
    ^ base raisedTo:exp
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   531
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   532
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   533
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   534
        evaluate:'Math.pow(10,2);'              
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   535
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   536
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   537
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   538
random
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   539
    "returns a pseudo random number between 0 and 1"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   540
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   541
    ^ Random nextBetween:0.0 and:1.0
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   542
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   543
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   544
     JavaScriptParser 
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   545
        evaluate:'Math.random();'              
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   546
    "
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   547
!
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   548
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   549
random:min _:max
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   550
    "returns a pseudo random number between min and max"
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   551
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   552
    ^ Random nextBetween:min and:max
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   553
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   554
    "
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   555
     JavaScriptParser 
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   556
        evaluate:'Math.random(5, 7);'              
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   557
    "
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   558
!
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   559
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   560
randomInteger:min _:max
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   561
    "returns a pseudo random number between min and max"
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   562
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   563
    ^ Random nextIntegerBetween:min and:max
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   564
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   565
    "dice:
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   566
     JavaScriptParser 
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   567
        evaluate:'Math.randomInteger(1, 6);'              
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   568
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   569
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   570
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   571
round:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   572
    "returns the value of aNumber rounded to the nearest integer"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   573
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   574
    ^ aNumber rounded
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   575
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   576
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   577
     JavaScriptParser 
314
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   578
        evaluate:'Math.round(9.2);'
8d73eb4ede8f *** empty log message ***
Claus Gittinger <cg@exept.de>
parents: 305
diff changeset
   579
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   580
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   581
        evaluate:'Math.round(9.7);'               
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   582
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   583
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   584
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   585
sqrt:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   586
    "returns the square root of aNumber"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   587
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   588
    ^ aNumber sqrt
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   589
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   590
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   591
     JavaScriptParser 
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   592
        evaluate:'Math.sqrt(2);'               
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   593
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   594
! !
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   595
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   596
!Math class methodsFor:'queries'!
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   597
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   598
isUtilityClass
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   599
    ^ true
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   600
! !
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   601
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   602
!Math class methodsFor:'trigonometric'!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   603
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   604
acos:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   605
    "returns the arccosine (in radians) of a number"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   606
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   607
    ^ aNumber arcCos
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   608
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   609
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   610
     JavaScriptParser evaluate:'Math.acos(1);'    
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   611
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   612
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   613
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   614
asin:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   615
    "returns the arcsine (in radians) of a number"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   616
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   617
    ^ aNumber arcSin
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   618
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   619
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   620
     JavaScriptParser evaluate:'Math.asin(1);'         
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   621
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   622
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   623
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   624
atan2:x _:y
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   625
    "returns the arctangent of the quotient of its arguments (in radians)"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   626
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   627
    ^ x arcTan2:y
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   628
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   629
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   630
     JavaScriptParser evaluate:'Math.atan2(1,10);'         
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   631
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   632
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   633
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   634
atan:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   635
    "returns the arctangent (in radians) of a number"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   636
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   637
    ^ aNumber arcTan
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   638
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   639
    "
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   640
     JavaScriptParser evaluate:'Math.atan(1);'         
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   641
    "
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   642
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   643
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   644
cos:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   645
    "returns the cosine of a number (given in radians)"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   646
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   647
    ^ aNumber cos
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   648
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   649
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   650
     JavaScriptParser evaluate:'Math.cos(3.14159);'    
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   651
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   652
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   653
961
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   654
degreesToRadians:aNumber
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   655
    "converts degrees to radians"
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   656
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   657
    ^ aNumber degreesToRadians
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   658
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   659
    "
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   660
     JavaScriptParser evaluate:'Math.degreesToRadians(45);'    
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   661
    "
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   662
!
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   663
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   664
radiansToDegrees:aNumber
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   665
    "converts radians to degrees"
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   666
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   667
    ^ aNumber radiansToDegrees
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   668
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   669
    "
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   670
     JavaScriptParser evaluate:'Math.radiansToDegrees(Math.degreesToRadians(45));'    
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   671
    "
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   672
!
66e3c2db4080 #FEATURE by cg
Claus Gittinger <cg@exept.de>
parents: 893
diff changeset
   673
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   674
sin:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   675
    "returns the sine of a number (given in radians)"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   676
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   677
    ^ aNumber sin
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   678
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   679
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   680
     JavaScriptParser evaluate:'Math.sin(3.14159);'          
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   681
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   682
!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   683
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   684
tan:aNumber
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   685
    "returns the tangent of a number (given in radians)"
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   686
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   687
    ^ aNumber tan
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   688
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   689
    "
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   690
     JavaScriptParser evaluate:'Math.tan(3.14159);'    
303
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   691
    "
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   692
! !
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   693
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   694
!Math class methodsFor:'documentation'!
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   695
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   696
version
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   697
    ^ '$Header$'
55636cc126a7 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   698
! !
893
e036bb0ba6b8 #FEATURE
Claus Gittinger <cg@exept.de>
parents: 540
diff changeset
   699