Mercurial > repos > rhope
comparison string.rhope @ 153:d86df83402f3
Small performance optimization in string lib
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Tue, 21 Dec 2010 04:11:29 +0000 |
parents | fc3815b7462f |
children | ed70399a07aa |
comparison
equal
deleted
inserted
replaced
152:e9a8269384bb | 153:d86df83402f3 |
---|---|
444 If[[slicepoint]<=[0]] | 444 If[[slicepoint]<=[0]] |
445 { | 445 { |
446 left <- "" | 446 left <- "" |
447 right <- string | 447 right <- string |
448 }{ | 448 }{ |
449 sliceoffset <- CPOff to BOff[[string]Buffer >>, 0i32, 0i32, slicepoint] | 449 If[[[string]Length] = [[string]Byte Length]] |
450 { sliceoffset <- Val[slicepoint] } | |
451 { sliceoffset <- CPOff to BOff[[string]Buffer >>, 0i32, 0i32, slicepoint] } | |
450 left <- String Slice[string, 0i32, slicepoint, sliceoffset] | 452 left <- String Slice[string, 0i32, slicepoint, sliceoffset] |
451 right <- String Slice[string, sliceoffset, [[string]Length >>]-[slicepoint], [[[string]Buffer >>]Length]-[sliceoffset]] | 453 right <- String Slice[string, sliceoffset, [[string]Length >>]-[slicepoint], [[[string]Buffer >>]Length]-[sliceoffset]] |
452 } | 454 } |
453 } | 455 } |
454 } | 456 } |
648 If[[slicepoint]<=[0]] | 650 If[[slicepoint]<=[0]] |
649 { | 651 { |
650 left <- "" | 652 left <- "" |
651 right <- string | 653 right <- string |
652 }{ | 654 }{ |
653 sliceoffset <- CPOff to BOff[[[string]Source >>]Buffer >>, 0i32, [string]Offset >>, slicepoint] | 655 If[[[string]Length]=[[string]Byte Length]] |
656 { sliceoffset <- [[string]Offset >>]+[slicepoint] } | |
657 { sliceoffset <- CPOff to BOff[[[string]Source >>]Buffer >>, 0i32, [string]Offset >>, slicepoint] } | |
654 left <- String Slice[[string]Source >>, [string]Offset >>, slicepoint, [sliceoffset]-[[string]Offset >>]] | 658 left <- String Slice[[string]Source >>, [string]Offset >>, slicepoint, [sliceoffset]-[[string]Offset >>]] |
655 right <- String Slice[[string]Source >>, sliceoffset, [[string]Length >>]-[slicepoint], [[string]Byte Length]-[[sliceoffset]-[[string]Offset >>]]] | 659 right <- String Slice[[string]Source >>, sliceoffset, [[string]Length >>]-[slicepoint], [[string]Byte Length]-[[sliceoffset]-[[string]Offset >>]]] |
656 } | 660 } |
657 } | 661 } |
658 } | 662 } |