MeasurementValue.st
author Stefan Vogel <sv@exept.de>
Sat, 14 Jun 2008 19:58:09 +0200
changeset 11058 66c655c1a7cb
parent 10825 332b3ea2f8d6
child 11456 3ab3ea28c8f4
permissions -rw-r--r--
catch and resend #value
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10825
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     1
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     2
 COPYRIGHT (c) 2007 by eXept Software AG
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     3
              All Rights Reserved
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     4
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     5
 This software is furnished under a license and may be used
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     6
 only in accordance with the terms of that license and with the
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     7
 inclusion of the above copyright notice.   This software may not
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     8
 be provided or otherwise made available to, or used by, any
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
     9
 other person.  No title to or ownership of the software is
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    10
 hereby transferred.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    11
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    12
"{ Package: 'stx:libbasic' }"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    13
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    14
Number subclass:#MeasurementValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    15
	instanceVariableNames:'value minValue maxValue'
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    16
	classVariableNames:''
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    17
	poolDictionaries:''
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    18
	category:'Magnitude-Numbers'
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    19
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    20
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    21
!MeasurementValue class methodsFor:'documentation'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    22
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    23
copyright
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    24
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    25
 COPYRIGHT (c) 2007 by eXept Software AG
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    26
              All Rights Reserved
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    27
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    28
 This software is furnished under a license and may be used
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    29
 only in accordance with the terms of that license and with the
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    30
 inclusion of the above copyright notice.   This software may not
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    31
 be provided or otherwise made available to, or used by, any
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    32
 other person.  No title to or ownership of the software is
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    33
 hereby transferred.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    34
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    35
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    36
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    37
documentation
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    38
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    39
    A MeasurementValue is a numeric value with an error, such as returned
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    40
    by measurement devices (Volt-Meter). For example, if a measurement-device has
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    41
    an error of 10%, a measured value of 20 could be any value between 18 and 22.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    42
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    43
    Arithmetic operations keep track of the error; if any operand is a MeasurementValue,
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    44
    the operation returns a MeasurementValue as result.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    45
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    46
    This class is possibly unfinished and needs more arithmetic methods.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    47
    For now, the stuff found here represents our needs and more might be added in the future.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    48
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    49
    [author:]
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    50
        Claus Gittinger
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    51
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    52
    [see also:]
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    53
        Number
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    54
        Float ShortFloat Fraction FixedPoint Integer Complex
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    55
        FloatArray DoubleArray
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    56
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    57
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    58
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    59
examples
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    60
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    61
    |voltage current power|
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    62
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    63
    voltage := MeasurementValue value:10 error:0.05.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    64
    current := MeasurementValue value:2 error:0.1.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    65
    power := voltage * current.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    66
    power
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    67
"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    68
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    69
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    70
!MeasurementValue class methodsFor:'instance creation'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    71
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    72
value:arg1 error:arg2
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    73
    "return a new measurementValue with a given value and an error (fraction)"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    74
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    75
    ^ self new value:arg1 error:arg2
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    76
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    77
    "
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    78
     MeasurementValue value:10 error:0.2 
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    79
    "
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    80
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    81
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    82
value:arg1 minValue:arg2 maxValue:arg3
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    83
    "return a new measurementValue with a given value and an error given as min-max values.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    84
     Use this, if the error is not the same in both directions"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    85
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    86
    ^ self new value:arg1 minValue:arg2 maxValue:arg3
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    87
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    88
    "a power of 10 error:
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    89
     MeasurementValue value:5 minValue:1 maxValue:10   
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    90
    "
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    91
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    92
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    93
!MeasurementValue methodsFor:'accessing'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    94
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    95
maxValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    96
    ^ maxValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    97
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    98
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
    99
minValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   100
    ^ minValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   101
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   102
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   103
value
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   104
    ^ value
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   105
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   106
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   107
value:valueArg error:errorFraction 
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   108
    self 
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   109
        value:valueArg
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   110
        minValue:(valueArg * (1-errorFraction))
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   111
        maxValue:(valueArg * (1+errorFraction)). 
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   112
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   113
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   114
value:valueArg minValue:minValueArg maxValue:maxValueArg 
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   115
    value := valueArg.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   116
    minValue := minValueArg.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   117
    maxValue := maxValueArg.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   118
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   119
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   120
!MeasurementValue methodsFor:'arithmetic'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   121
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   122
* aNumber
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   123
    (aNumber isKindOf:MeasurementValue) ifTrue:[
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   124
        ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   125
            value:(value * aNumber value)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   126
            minValue:(minValue * aNumber minValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   127
            maxValue:(maxValue * aNumber maxValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   128
    ].
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   129
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   130
    ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   131
        value:(value * aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   132
        minValue:(minValue * aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   133
        maxValue:(maxValue * aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   134
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   135
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   136
+ aNumber
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   137
    (aNumber isKindOf:MeasurementValue) ifTrue:[
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   138
        ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   139
            value:(value + aNumber value)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   140
            minValue:(minValue + aNumber minValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   141
            maxValue:(maxValue + aNumber maxValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   142
    ].
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   143
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   144
    ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   145
        value:(value + aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   146
        minValue:(minValue + aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   147
        maxValue:(maxValue + aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   148
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   149
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   150
- aNumber
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   151
    (aNumber isKindOf:MeasurementValue) ifTrue:[
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   152
        ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   153
            value:(value - aNumber value)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   154
            minValue:(minValue - aNumber maxValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   155
            maxValue:(maxValue - aNumber minValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   156
    ].
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   157
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   158
    ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   159
        value:(value - aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   160
        minValue:(minValue - aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   161
        maxValue:(maxValue - aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   162
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   163
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   164
/ aNumber
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   165
    (aNumber isKindOf:MeasurementValue) ifTrue:[
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   166
        ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   167
            value:(value / aNumber value)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   168
            minValue:(minValue / aNumber maxValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   169
            maxValue:(maxValue / aNumber minValue)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   170
    ].
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   171
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   172
    ^ MeasurementValue new
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   173
        value:(value / aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   174
        minValue:(minValue / aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   175
        maxValue:(maxValue / aNumber)
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   176
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   177
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   178
!MeasurementValue methodsFor:'comparing'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   179
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   180
< aNumber
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   181
    ^ maxValue < aNumber
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   182
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   183
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   184
lessFromFloat:aFloat
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   185
    "aFloat < self ?"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   186
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   187
    ^ aFloat < minValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   188
!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   189
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   190
lessFromInteger:anInteger
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   191
    "anInteger < self ?"
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   192
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   193
    ^ anInteger < minValue
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   194
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   195
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   196
!MeasurementValue methodsFor:'printing & storing'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   197
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   198
printOn:aStream
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   199
    value printOn:aStream.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   200
    '(' printOn:aStream.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   201
    minValue printOn:aStream.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   202
    '..' printOn:aStream.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   203
    maxValue printOn:aStream.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   204
    ')' printOn:aStream.
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   205
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   206
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   207
!MeasurementValue methodsFor:'testing'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   208
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   209
between:min and:max
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   210
    minValue < min ifTrue:[^ false].
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   211
    maxValue > max ifTrue:[^ false].
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   212
    ^ true
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   213
! !
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   214
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   215
!MeasurementValue class methodsFor:'documentation'!
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   216
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   217
version
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   218
    ^ '$Header: /cvs/stx/stx/libbasic/MeasurementValue.st,v 1.1 2008-01-07 13:42:05 cg Exp $'
332b3ea2f8d6 initial checkin
Claus Gittinger <cg@exept.de>
parents:
diff changeset
   219
! !