From 54cca48aca19e5564ed7c49ef56e5ad79f962919 Mon Sep 17 00:00:00 2001 From: John Benediktsson Date: Sun, 5 Jan 2014 20:30:38 -0800 Subject: [PATCH] use swapd in a few places. --- basis/math/vectors/simd/intrinsics/intrinsics.factor | 2 +- extra/pair-methods/pair-methods.factor | 2 +- extra/rpn/rpn.factor | 2 +- extra/slots/macros/macros.factor | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/basis/math/vectors/simd/intrinsics/intrinsics.factor b/basis/math/vectors/simd/intrinsics/intrinsics.factor index 97b32fd8e6..03529a0f36 100644 --- a/basis/math/vectors/simd/intrinsics/intrinsics.factor +++ b/basis/math/vectors/simd/intrinsics/intrinsics.factor @@ -287,7 +287,7 @@ SIMD-INTRINSIC: (simd-with) ( n rep -- v ) underlying>> ; SIMD-INTRINSIC: (simd-gather-2) ( m n rep -- v ) [ 2 set-firstn-unsafe ] keep underlying>> ; SIMD-INTRINSIC: (simd-gather-4) ( m n o p rep -- v ) [ 4 set-firstn-unsafe ] keep underlying>> ; -SIMD-INTRINSIC: (simd-select) ( a n rep -- x ) [ swap ] dip byte>rep-array nth-unsafe ; +SIMD-INTRINSIC: (simd-select) ( a n rep -- x ) swapd byte>rep-array nth-unsafe ; SIMD-INTRINSIC: alien-vector ( c-ptr n rep -- value ) [ swap ] dip rep-size memory>byte-array ; diff --git a/extra/pair-methods/pair-methods.factor b/extra/pair-methods/pair-methods.factor index 3d4e6a8fb1..2daa8ebc0c 100644 --- a/extra/pair-methods/pair-methods.factor +++ b/extra/pair-methods/pair-methods.factor @@ -43,7 +43,7 @@ SYNTAX: PAIR-GENERIC: (PAIR-GENERIC:) ; : define-pair-method ( a b pair-generic definition -- ) [ 2array ] 2dip swap - [ "pair-generic-methods" word-prop [ swap ] dip set-at ] + [ "pair-generic-methods" word-prop swapd set-at ] [ make-pair-generic ] bi ; : ?prefix-swap ( quot ? -- quot' ) diff --git a/extra/rpn/rpn.factor b/extra/rpn/rpn.factor index ba697df8d1..fd39ed09a8 100644 --- a/extra/rpn/rpn.factor +++ b/extra/rpn/rpn.factor @@ -10,7 +10,7 @@ TUPLE: push-insn value ; GENERIC: eval-insn ( stack insn -- stack ) : binary-op ( stack quot: ( x y -- z ) -- stack ) - [ uncons uncons [ swap ] dip ] dip dip cons ; inline + [ uncons uncons swapd ] dip dip cons ; inline M: add-insn eval-insn drop [ + ] binary-op ; M: sub-insn eval-insn drop [ - ] binary-op ; diff --git a/extra/slots/macros/macros.factor b/extra/slots/macros/macros.factor index d9f23ac5b8..c3bbda6525 100644 --- a/extra/slots/macros/macros.factor +++ b/extra/slots/macros/macros.factor @@ -34,7 +34,7 @@ MACRO: set-slot ( name -- quot: ( value tuple -- ) ) ! Chainable setters : set-slot* ( tuple value name -- tuple ) - [ swap ] dip '[ _ set-slot ] keep ; inline + swapd '[ _ set-slot ] keep ; inline : change-slot* ( tuple name quot: ( ..a old -- ..b new ) -- ..b tuple ) '[ _ _ change-slot ] keep ; inline @@ -43,6 +43,7 @@ MACRO: set-slot ( name -- quot: ( value tuple -- ) ) MACRO: slots ( names -- quot: ( tuple -- values... ) ) [ '[ _ slot ] ] { } map-as '[ _ cleave ] ; + MACRO: {slots} ( names -- quot: ( tuple -- {values} ) ) dup length '[ _ slots _ narray ] ;