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 }