File tree 3 files changed +12
-3
lines changed
MessagePack-Squeak-Core.package/MpSqPortableUtil.class/instance 3 files changed +12
-3
lines changed Original file line number Diff line number Diff line change @@ -3,5 +3,5 @@ readTimestamp64: aStream
3
3
| nanosAndSeconds nanos seconds |
4
4
nanosAndSeconds := MpPortableUtil default readUint64From: aStream.
5
5
nanos := nanosAndSeconds >> 34 .
6
- seconds := nanosAndSeconds & 16r00000003ffffffff.
6
+ seconds := nanosAndSeconds bitAnd: 16r00000003ffffffff.
7
7
^ MpPortableUtil default timestampFromSeconds: seconds nanos: nanos
Original file line number Diff line number Diff line change @@ -6,5 +6,5 @@ writeTimestamp: timestamp
6
6
nanos := secondsArray at: 2 .
7
7
(seconds >> 34 ) == 0 ifFalse: [ ^ self writeTimestamp96: seconds nanos: nanos ].
8
8
(nanos == 0 and : [seconds < 4294967296 ]) ifTrue: [ ^ self writeTimestamp32: seconds ].
9
- nanosAndSeconds := (nanos << 34 ) | seconds.
9
+ nanosAndSeconds := (nanos << 34 ) bitOr: seconds.
10
10
^ self writeTimestamp64: nanosAndSeconds
Original file line number Diff line number Diff line change 1
1
actions
2
2
timestampFromSeconds: seconds nanos: nanoSeconds
3
3
| microseconds ts |
4
- microseconds := (seconds * 1000000 ) + (nanoSeconds * 0.001 ).
4
+ microseconds := seconds * 1000000 .
5
+ nanoSeconds isZero ifFalse: [ | microsPart rem |
6
+ rem := nanoSeconds rem: 1000 .
7
+ rem = 0 ifTrue: [
8
+ microsPart := nanoSeconds / 1000 .
9
+ ] ifFalse: [
10
+ microsPart := nanoSeconds * 0.001 .
11
+ ].
12
+ microseconds := microseconds + microsPart.
13
+ ].
5
14
ts := DateAndTime utcMicroseconds: microseconds offset: 0 .
6
15
^ ts
You can’t perform that action at this time.
0 commit comments