T1 Sam Simulator Trace Tool Broken?

I'm trying to use the SAM simulator and am having difficulty extracting a trace. I followed the readme instructions and everything boots up fine until I get to this point:
stop
mod load analyzer rstracer.so
stop: mod load analyzer rstracer.so
dlopen: ld.so.1: blaze64: fatal: /import/bw-rainbow/raju/softsim_work1/softsim/sam-t1/lib/64/librstzip.so: open failed: No such file or directory
It looks to me like the path for librstzip.so is hardcoded or something. I have my path variable SAM_ROOT and SUN_STUDIO set. The only other thing I can think of is that I'm using bash shell, but again the path is set. Ideas?

It's actually a good idea to recompile the entire T1 SAM tool with the correct/new SAM_ROOT and SUN_STUDIO. Especially SAM_ROOT.
You can do it by running the two script files, $SAM_ROOT/bin/build_sas.sh and then $SAM_ROOT/bin/build_blaze.sh.
Hope it works!
-Kushal

Similar Messages

  • Photoshop: values for type, brush, crop, lasso etc tools broken on Leopard

    I posted this in answer to another thread, but decided that it may be helpful to some Photoshop users if it had its own topic:
    The following is a technote copied from Adobe's forums, regarding the performance of several menus for key tool settings in Photoshop CS3 running in Leopard:
    *Changing values for type, brush, crop, lasso etc tools broken on Leopard*
    *Kirsten Harris - 08:58pm Nov 15, 2007 Pacific*
    Adobe and Apple are working closely to provide a fix to a known issue running Adobe Photoshop CS3 and Photoshop CS3 Extended on Mac OS X Leopard (v10.5.1). Currently, when you enter values in numerical fields to set sizes for the brush, crop, marquee, lasso, type, and other Photoshop CS3 tools, those values revert to previously entered values when you try to apply them.
    # While we have identified workarounds for some of the affected tools, this issue prevents people from working as precisely and intuitively as they expect. Providing a fix to customers is a top priority. Please note the following: The fix will be provided through an update to Mac OS X Leopard. Consequently, it is not part of the Photoshop CS3 (10.0.1) update.
    # Apple is collaborating closely with us to get this fix incorporated into a Mac OS X Leopard update. No public schedule is available at this time, but both companies understand the urgency of this fix.
    # As soon as the appropriate update to Mac OS X Leopard is available, we will immediately alert our Photoshop users.
    Affected Photoshop CS3 tools: Art History tool, Blur tool, Brush tool, Burn tool, Color Replacement tool, Clone tools (all), Crop tool, Dodge tool, Eraser tools (all), Gradient tool, Healing tools (all), History tool, Lasso tools (all), Line tool, Magic Wand tool, Marquee tools (all), Paint Bucket tool, Pencil tool, Polygon tool, Quick Selection tool, Red Eye tool, Rounded Rectangle tool, Sharpen tool, Smudge tool, Sponge tool, Slice tool, Type tool
    Workaround for tools with sliders: Instead of typing in a number, use the sliders to change the value.
    Workaround for tools with pop-up menus: Enter a value for the size but don’t press Return/Enter to apply the value. Instead, choose it from the top of the Size pop-up menu to commit it.
    Workaround for tools which do not have sliders or pop-up menus: For certain tools, such as the Line tool, you may want to set up presets that you can load to set common sizes. Alternatively, you can restart Photoshop CS3 to clear the problem. You will then be able to enter values again. However, the issue typically re-surfaces quickly.
    If additional details come to light, our tech doc Values in numerical fields in Photoshop CS3 revert to the previous value in Mac OS X v10.5.1 (Leopard) will be updated.

    Well, that's interesting! Here I thought the problem with my CS1 was just that it was too old, running in Rosetta and all, and would be fixed when I get my Xmas treat of CS3. Wonder if that means when the fix comes from Apple it will also fix the same problem in CS1? Of course, by then I'll probably have CS3.... Thanks for posting this, I would have been mighty annoyed to have plonked down my 200 bucks only to discover that I had the same bugs.
    Francine
    Francine
    Schwieder

  • Trace tool for MRI scans

    Hi,
    I am trying to trace MRI scans with the Adobe Illustrator trace tool.  I have been experimenting with the presnts in order to get the image I want and I have an example posted on this blog:  http://gdpsychtech.blogspot.com/2012/11/tracing-mris.html
    My goal is to produce easier to follow drawings for audiences who are not used to seeing MRI scans and at the same time avoid any copyright violations by using somebody else's images.
    As you can see it does a fair job of outlining the brain but misses a lot of gray details in the center of the image.
    Does anyone have experience or suggestions to trace these details?  I used to be able to do this by hand, so I think that it is probably possible.
    I am using AI CS4 and Win 7.  For those who have used it is the trace tool in CS6 better?
    Thanks.

    ...but misses a lot of gray details in the center of the image.
    The reason you are having difficulty getting detail in the gray areas is that, while those areas do contain detail, the detail is between only slightly different shades of gray. The key to getting more detail is to maximize the contrast (tonal range) in the areas of interest. This is best done in Photoshop, using the Curves dialog.
    Open the image in Photoshop.
    Open the Curves dialog.
    With the dialog open, "feel around" the areas of interest by clicking those areas with the cursor. When you click, you'll see a dot appear on the curve in the dialog. That tells you where the tones of interest lie. (They will be in the mid tones.) Your goal is to bend the curve so that it becomes steeper in that range. Where the curve is steep, the difference between the tones will be increased; where the curve is flatter, the tones in those ranges will be "compressed" (closer together).
    If the gray ramp bar near the bottom of the dialog has black on the left and white on the right, click it to reverse it (putting white left; black right).
    So what you'll want for more visible differences within the midtones is an ess-shaped curve. Click the curve to add a point somewhere around the quarter tone line. Drag that point slightly downward.
    Click the curve to add a point somewhere around the three-quarter tone line. Drag that point slightly upward.
    Adjust those two added points to get maximum detail from the gray midtones.
    The above assumes the original image is grayscale. If the original is of higher bit-depth than 8 bits, you will likely be able to pull more detail out of it.
    You may want to make two or three adjusted images; one curve-adjusted to add range to the lighter tones; another for the darker tones.
    The more contrast you can adjust into the image, the more successful you will be auto-tracing it. After auto-tracing, you can Expand the autotrace to render the trace as normal paths. You can then use the Select>Same>Fill Color command to select all regions of a given fill color, and apply a different color to further highlight them against adjacent tones.
    The above is very basic. It's difficult to give someone a crash course in curves adjustment in an online forum.
    JET

  • I scanned an image and want to use the image trace tool, but it doesn't pick up all the lines.  Is there a way to darken the lines before using the image trace tool?

    I scanned an image and want to use the image trace tool, but it doesn't pick up all the lines.  Is there a way to darken the lines before using the image trace tool?  Help!

    If the scan is in B&W, then play with the Threshold setting here
    If it's in Color, then you will have to open the scan in a Raster editing software (like Photoshop) and play with the Brightness/Contrast settings to make the lines bolder.

  • PSE 8 for windows, does it have the same smart brush tool than for MAC version?

    Good Morning
    PSE 8 for windows, does it have the same smart brush tool than for MAC version?

    Yes, it does.
    Thanks,

  • Welcome. At the outset, I'm sorry for my English :) Please help with configuration Photoshop CS6 appearance. How to disable the background of the program so you can see the desktop. (same menus and tools) Chiałbym to be the same effect as CS5.

    Welcome.
    At the outset, I'm sorry for my English
    Please help with configuration Photoshop CS6 appearance.
    How to disable the background of the program so you can see the desktop. (same menus and tools)
    i wantto be the same effect as CS5.

    Please try turning off
    Window > Application Frame

  • Does Photoshop Elements have a live trace tool like Illustrator?

    I use Illustrator at school but annoyingly only have Elements at home, and six weeks of school holidays in which I need to use the Live Trace tool... Does anyone know where the equivilent tool would be in either Elements or Photoshop, or if one even exists?

    It doesn't exist in PSE (or any image editing program).  Tracing is a feature of vector editing programs because it creates vector shape(s).
    Ken

  • RSTT (RS Trace Tool) - checkable program objects

    Hello,
    I have read the presentation "Automatic Test of Queries with RS Trace Tool" but I can`t find an answer on this question:
    What is the reason for some navigation steps being "Recorded Program Objects" or "Checkable Program Objects".
    I execute a query via RSRT2 (HTML Display), set some filter, drill down etc..
    This query is saved as a trace at RSTT but it doesn't`t have any checkable program objects and can`t be used for testing.
    So what could be the problem in this case?

    Hi!
    It look like that you missed one little checkbox... Please have a look at slide "User Activation with Transaction RSTT" (slide 12). In step 2, you have to activate the checkbox "Activation for Test Generation". Only with activated checkbox, checkable program objects are added to the trace.
    Please try this checkbox. Let me know, if you still have an issue.
    Enjoy,
       Tobias

  • Verilog test bench error -- all vcd dumpvars must be executed at the same simulation time

    Hi Folks,
    I have ISim version 13.1.
    During simulation of a large module with many sub modules and instances, I want to be able to dump objects to a .vcd file.
    However when I use the construct
    @$dumpvars (0, module_name.sub_module_Name.signal_name);
    where these names are known within the test bench, I get an error message:
    error: Instance: /module_name/: All vcd dumpvars must be executed at same simulation time.
    I do not understand what that means and what to do about it.
    Can some one help ?
    By the way, when I eliminate the signal_name in the above construct, all signals do get dumped to the .vcd file...
    I did not enclose the source code as it is too large...

    On WLS CONSOLE, go to StartupClasses and make sure JAXWS class is target it to the managed server which you are deploying this webservice.
    Kinds,
    Gabriel Abelha

  • BEx Trace Tool (RSTT) - Time units?

    Hello Everyone,
    I have researched SAP documentation on BEx Trace tool.  But I have the following question, which is the time unit for the recorded trace
    When I execute the trace there is also another time that appears, what is the unit for this and how it is different from the one in the recorded trace.
    Thanks in advance for any help provided.

    HI,
    REFER BELOW THREAD
    [http://help.sap.com/saphelp_nw04s/helpdata/en/a4/1be541f321c717e10000000a155106/content.htm]
    tHANKS

  • Unable to compile T1 Architecture and Simulation modelling tool

    Hello,
    I am trying to compile the T1 Simulation and Architecture modelling tool. The whole package is downloaded from opensparc.net
    As a requirement, i am using Solaris 10 on SPARC based machine with Solaris Studio 12.3 as the compiler.
    When i am running the "build_sas.sh full" script, it gives me an error:
    --- Building n1 in strand ---
    /opt/solarisstudio12.3//bin/CC -G -KPIC  -fast -xO5 -DNDEBUG -DRS_INLINE=inline -DRS_MPSAS_COMPATIBLE    -xarch=v9a -DHOST64BIT=1    -DN1_BOOTS10 -DMEMORY_SPARSE -I../../include/strand -I../../include/fw -I../../include/mmu -I../../include/asi -I../../include/core -I../../include/cpu -I../../include/system -I../../include/trap -I../../include/register  -I/scratch//sam-t1/devtools/64/shade/inc  -c -o obj64opt_n1/V9/V9_AsiReg.o V9/V9_AsiReg.cc
    CC: Warning: -xarch=v9a is deprecated, use -m64 -xarch=sparcvis instead
    "../../include/fw/Callee.h", line 98: Error: 'Riesling::operator new(unsigned long, Riesling::CalleeAllocator&)' may not be declared within a namespace.
    1 Error(s) detected.
    *** Error code 2
    make: Fatal error: Command failed for target `obj64opt_n1/V9/V9_AsiReg.o'
    Current working directory /scratch/sam-t1/src/riesling-cm/riesling/src/strand
    *** Error code 1
    make: Fatal error: Command failed for target `strand'
    the Callee.h file has the following declaration for line#97:
    inline void* operator new( size_t size, CalleeAllocator& a )/*{{{*/
    // This new() function is called for code written as
    // new(CalleeAllocator::allocator) Callee0<void>(f);
    // and allocates size bytes from the CalleeAllocator
      return a.alloc(size);
    I did some Google search, and found that, "An allocation function shall be a class member function or a global function; a program is ill-formed if an allocation function is declared in a namespace scope other than global scope or declared static in global scope. [..]" (c++ - operator new inside namespace - Stack Overflow).
    Would appreciate any help or suggestion.

    I tried you last suggestion, by simply moving the "new" function before the namespace, but it gave me the following  Error: The prior declaration for operator new(unsigned long) has no exception specification.
    So, I naively just defined the new as below, just to see what happens:
      41  inline void* operator new( size_t size, CalleeAllocator& a) throw()
        42  {return a.alloc(size);
        43  }
    which, after compilation gives the following error:
    Error: std::bad_alloc is not in the prior exception specification
    The download link to the whole package is here: OpenSPARC T1
    At the end of the page, there is the download link to the OpenSPARC T1 Processor for Architecture and Performance Modeling Tools.
    below is the original Callee.h file: Line 97 is where the operator new is defined which appears to be outside of namespace Riesling.
    * ========== Copyright Header Begin ==========================================
    * OpenSPARC T1 Processor File: Callee.h
    * Copyright (c) 2006 Sun Microsystems, Inc.  All Rights Reserved.
    * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES.
    * The above named program is free software; you can redistribute it and/or
    * modify it under the terms of the GNU General Public
    * License version 2 as published by the Free Software Foundation.
    * The above named program is distributed in the hope that it will be
    * useful, but WITHOUT ANY WARRANTY; without even the implied warranty of
    * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
    * General Public License for more details.
    * You should have received a copy of the GNU General Public
    * License along with this work; if not, write to the Free Software
    * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA.
    * ========== Copyright Header End ============================================
    #ifndef __Callee_h__
    #define __Callee_h__
    **  Copyright (C) 2002, Sun Microsystems, Inc.
    **  Sun considers its source code as an unpublished, proprietary
    **  trade secret and it is available only under strict license provisions.
    **  This copyright notice is placed here only to protect Sun in the event
    **  the source is deemed a published work. Disassembly, decompilation,
    **  or other means of reducing the object code to human readable form
    **  is prohibited by the license agreement under which this code is
    **  provided to the user or company in possession of this copy."
    #include "DataTypes.h"
    namespace Riesling {
    class CalleeAllocator/*{{{*/
    // CalleeAllocator is a helper class for implementing the callee_method() and
    // callee_function() functions that dynamically allocate a Callee object. This
    // class takes the burden of the coder for having to manage those dynamically
    // allocated objects and also avoids many calls to malloc().
      public:
        CalleeAllocator() : page(0), free((void**)1), full(0) {}
        ~CalleeAllocator()
          while (page)
        Page* help = page;
        page = page->next;
        delete help;
        void* alloc( uint_t size )
          void* cell;
          size = (size + sizeof(void*) - 1) / sizeof(void*);
          if ((free + size) > full)
        page = new Page(page);
        free = page->page;
        full = page->page + Page::SIZE;
          cell = free;
          free = free + size;
          return cell;
        static CalleeAllocator allocator;
      private:
        class Page
          public:
        enum { SIZE = 4096 };
        Page( Page* pntr ) : next(pntr) {}
        Page* next;
        void* page[SIZE];
        Page*  page;
        void** free;
        void** full;
    inline void* operator new( size_t size, CalleeAllocator& a )/*{{{*/
    // This new() function is called for code written as
    // new(CalleeAllocator::allocator) Callee0<void>(f);
    // and allocates size bytes from the CalleeAllocator
      return a.alloc(size);
    #ifndef COMPILER_ABI_CHANGED
    inline void* gnu_vtbl_lookup( void* object, void* method )/*{{{*/
      // The GNU compiler makes a virtual method into an integer index into the
      // virtual table. It indicates this through bit 0 of the method being 1. If that
      // bit is set then we get the virtual table and index for the method. If the bit 0
      // is 0 then the method is a pointer to a function already.
    #ifdef __GNU__
      if (int(method) & 1)
        return (*(void***)object)[int(method) / sizeof(void*)];
      else
    #endif
        return method;
    template<class Object, class Return> union MethodToFunction0/*{{{*/
    // The templated union MethodToFunction0 converts a method pointer
    // to a function pointer. The SparcWorks compiler already transforms
    // method pointers to function pointers. For the GNU C++ compiler we
    // need to check for virtual functions and do a virtual table lookup.
      MethodToFunction0<Object,Return>( Object* object, Return (Object::*_method)() )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)();        // The method to convert to a function
      Return (*function)(void*);        // The converted function, the first argument is the this pointer
    template<class Return> class Callee0/*{{{*/
    // The Callee class holds the function pointer or method pointer that
    // represents the callee. The caller is a pointer to the Callee class.
      public:
        typedef Return (*Function)();
        typedef Return (*Method)(void*);
        Callee0<Return>( Function f )
          object(0),
          function(f)
        template<class Object> Callee0<Return>( Object* o, MethodToFunction0<Object,Return> m )
          object(o),
          method(m.function)
        Return call()
          return object ? (*method)(object) : (*function)();
      protected:
        void*      object;        // If object is 0 (NULL) then we have a function to call
        union             // Else a method need to be called.
          Method   method;
          Function function;
    template<class Return> Callee0<Return>* callee_function( Return (*f)() )/*{{{*/
    // callee_function() creates a Callee object of the function. The compiler
    // helps in figuring out the type signature ... hurra for templates:
    // Callee<void>* c = calee_function(f);
      return new(CalleeAllocator::allocator) Callee0<Return>(f);
    template<class Object, class Return> Callee0<Return>* callee_method( Object* o, Return (Object::*m)() )/*{{{*/
    // callee_method() creates a Callee object of the method. The compiler
    // helps in figuring out the type signature. The function requires an
    // object and the template enforces that the object and method are of the
    // same type. Don't cast object pointers. The method must exists, e.g.
    // inherited methods need to be replicated (fat interface). Virtual methods
    // are eradicated.
      return new(CalleeAllocator::allocator) Callee0<Return>(o,MethodToFunction0<Object,Return>(o,m));
    template<class Object, class Return, class Arg1> union MethodToFunction1/*{{{*/
      MethodToFunction1<Object,Return,Arg1>( Object* object, Return (Object::*_method)(Arg1) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1);
      Return (*function)(void*,Arg1);
    template<class Return, class Arg1> class Callee1/*{{{*/
      public:
        typedef Return (*Function)(Arg1);
        typedef Return (*Method)(void*,Arg1);
        Callee1<Return,Arg1>( Function f ) : object(0), function(f) {}
        template<class Object> Callee1<Return,Arg1>( Object* o, MethodToFunction1<Object,Return,Arg1> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1 )
          return object ? (*method)(object,a1) : (*function)(a1);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1> Callee1<Return,Arg1>* callee_function( Return (*f)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee1<Return,Arg1>(f);
    template<class Object, class Return, class Arg1> Callee1<Return,Arg1>* callee_method( Object* o, Return (Object::*m)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee1<Return,Arg1>(o,MethodToFunction1<Object,Return,Arg1>(o,m));
    template<class Object, class Return, class Arg1, class Arg2> union MethodToFunction2/*{{{*/
      MethodToFunction2<Object,Return,Arg1,Arg2>( Object* object, Return (Object::*_method)(Arg1,Arg2) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1,Arg2);
      Return (*function)(void*,Arg1,Arg2);
    template<class Return, class Arg1, class Arg2> class Callee2/*{{{*/
      public:
        typedef Return (*Function)(Arg1,Arg2);
        typedef Return (*Method)(void*,Arg1,Arg2);
        Callee2<Return,Arg1,Arg2>( Function f ) : object(0), function(f) {}
        template<class Object> Callee2<Return,Arg1,Arg2>( Object* o, MethodToFunction2<Object,Return,Arg1,Arg2> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1, Arg2 a2 )
          return object ? (*method)(object,a1,a2) : (*function)(a1,a2);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1, class Arg2> Callee2<Return,Arg1,Arg2>* callee_function( Return (*f)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee2<Return,Arg1,Arg2>(f);
    template<class Object, class Return, class Arg1, class Arg2> Callee2<Return,Arg1,Arg2>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee2<Return,Arg1,Arg2>(o,MethodToFunction2<Object,Return,Arg1,Arg2>(o,m));
    template<class Object, class Return, class Arg1, class Arg2, class Arg3> union MethodToFunction3/*{{{*/
      MethodToFunction3<Object,Return,Arg1,Arg2,Arg3>( Object* object, Return (Object::*_method)(Arg1,Arg2,Arg3) )
        method(_method)
        (void*&)function = gnu_vtbl_lookup(object,(void*)function);
      Return (Object::*method)(Arg1,Arg2,Arg3);
      Return (*function)(void*,Arg1,Arg2,Arg3);
    template<class Return, class Arg1, class Arg2, class Arg3> class Callee3/*{{{*/
      public:
        typedef Return (*Function)(Arg1,Arg2,Arg3);
        typedef Return (*Method)(void*,Arg1,Arg2,Arg3);
        Callee3<Return,Arg1,Arg2,Arg3>( Function f ) : object(0), function(f) {}
        template<class Object> Callee3<Return,Arg1,Arg2,Arg3>( Object* o, MethodToFunction3<Object,Return,Arg1,Arg2,Arg3> m )
          object(o),
          method(m.function)
        Return call( Arg1 a1, Arg2 a2, Arg3 a3 )
          return object ? (*method)(object,a1,a2,a3) : (*function)(a1,a2,a3);
      protected:
        void*    object;
        union
          Method   method;
          Function function;
    template<class Return, class Arg1, class Arg2, class Arg3> Callee3<Return,Arg1,Arg2,Arg3>* callee_function( Return (*f)(Arg1,Arg2,Arg3) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee3<Return,Arg1,Arg2,Arg3>(f);
    template<class Object, class Return, class Arg1, class Arg2, class Arg3> Callee3<Return,Arg1,Arg2,Arg3>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2,Arg3) )/*{{{*/
      return new(CalleeAllocator::allocator) Callee3<Return,Arg1,Arg2,Arg3>(o,MethodToFunction3<Object,Return,Arg1,Arg2,Arg3>(o,m));
    #else
    template<class Return> class Callee0/*{{{*/
      public:
        Callee0<Return>() {}
        virtual ~Callee0() {}
        virtual Return call      () = 0;
    template<class Return> class CalleeFunction0 : public Callee0<Return>/*{{{*/
      public:
        typedef Return (*Function)();
        CalleeFunction0<Return>( Function f ) : Callee0<Return>(), function(f) {}
        Return call      () { return (*function)(); }
      protected:
        Function function;
    template<class Object, class Return> class CalleeMethod0 : public Callee0<Return>/*{{{*/
      public:
        typedef Return (Object::*Method)();
        CalleeMethod0<Object,Return>( Object* o, Method m ) : Callee0<Return>(), object(o), method(m) {}
        Return call      () { return (object->*method)(); }
      protected:
        Object* object;
        Method  method;
    template<class Return> CalleeFunction0<Return>* callee_function( Return (*f)() )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction0<Return>(f);
    template<class Object, class Return> CalleeMethod0<Object,Return>* callee_method( Object* o, Return (Object::*m)() )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod0<Object,Return>(o,m);
    template<class Return, class Arg1> class Callee1/*{{{*/
      public:
        Callee1<Return,Arg1>() {}
        virtual ~Callee1() {}
        virtual Return call      ( Arg1 a1 ) = 0;
    template<class Return, class Arg1> class CalleeFunction1 : public Callee1<Return,Arg1>/*{{{*/
      public:
        typedef Return (*Function)( Arg1 );
        CalleeFunction1<Return,Arg1>( Function f ) : Callee1<Return,Arg1>(), function(f) {}
        Return call      ( Arg1 a1 ) { return (*function)(a1); }
      protected:
        Function function;
    template<class Object, class Return, class Arg1> class CalleeMethod1 : public Callee1<Return,Arg1>/*{{{*/
      public:
        typedef Return (Object::*Method)( Arg1 );
        CalleeMethod1<Object,Return,Arg1>( Object* o, Method m ) : Callee1<Return,Arg1>(), object(o), method(m) {}
        Return call      ( Arg1 a1 ) { return (object->*method)(a1); }
      protected:
        Object* object;
        Method  method;
    template<class Return, class Arg1> CalleeFunction1<Return,Arg1>* callee_function( Return (*f)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction1<Return,Arg1>(f);
    template<class Object, class Return, class Arg1> CalleeMethod1<Object,Return,Arg1>* callee_method( Object* o, Return (Object::*m)(Arg1) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod1<Object,Return,Arg1>(o,m);
    template<class Return, class Arg1, class Arg2> class Callee2/*{{{*/
      public:
        Callee2<Return,Arg1,Arg2>() {}
        virtual ~Callee2() {}
        virtual Return call      ( Arg1 a1, Arg2 a2 ) = 0;
    template<class Return, class Arg1, class Arg2> class CalleeFunction2 : public Callee2<Return,Arg1,Arg2>/*{{{*/
      public:
        typedef Return (*Function)( Arg1, Arg2 );
        CalleeFunction2<Return,Arg1,Arg2>( Function f ) : Callee2<Return,Arg1,Arg2>(), function(f) {}
        Return call      ( Arg1 a1, Arg2 a2 ) { return (*function)(a1,a2); }
      protected:
        Function function;
    template<class Object, class Return, class Arg1, class Arg2> class CalleeMethod2 : public Callee2<Return,Arg1,Arg2>/*{{{*/
      public:
        typedef Return (Object::*Method)( Arg1, Arg2 );
        CalleeMethod2<Object,Return,Arg1,Arg2>( Object* o, Method m ) : Callee2<Return,Arg1,Arg2>(), object(o), method(m) {}
        Return call      ( Arg1 a1, Arg2 a2 ) { return (object->*method)(a1,a2); }
      protected:
        Object* object;
        Method  method;
    template<class Return, class Arg1, class Arg2> CalleeFunction2<Return,Arg1,Arg2>* callee_function( Return (*f)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeFunction2<Return,Arg1,Arg2>(f);
    template<class Object, class Return, class Arg1, class Arg2> CalleeMethod2<Object,Return,Arg1,Arg2>* callee_method( Object* o, Return (Object::*m)(Arg1,Arg2) )/*{{{*/
      return new(CalleeAllocator::allocator) CalleeMethod2<Object,Return,Arg1,Arg2>(o,m);
    #endif
    #endif

  • Trace tool : st12 - not capturing properly

    HI guys,
    I am using st12 transaction for tracing my progarm module wise time consumption.
    my program takes 3000 seconds. for completing the job.
    i would like to know where it takes more time.... i used the tcode st12.
    i am not getting correct result.....from st12.....
    i suspect something wrong with this tool...how can i set it right......
    regards
    girish

    Hi Yuri,
    > > It's not recommended to use the USER scenario anymmore.
    > > Instead use the task & http scenario explained here:
    >
    > by the way, why? I am not aware of this.
    > Used "USER" scenario yesterday in the previous release (01M). Had a problem that the first recorded and collected trace was ofc. from the ST12 itself, but when I went to "collect ext. traces" I was able to find the second ABAP trace from the mode where I was executing my real transaction. As far as I know from Bernd, technically these two options work in the same way.
    Well, simply because it is not as transparent (manual collection and so on). Because it is the user scenario is the same but not as transparent as the task & http (and has additional efforts with manual collection) i think it will disappear (or better put together or replaced with task & http) in the next version (as far as i know). Im my opinion the user mode is kind of obsolete because it is only a subset of the task & http secario without any additional advantage.
    Kind regards,
    Hermann
    Edited by: Hermann Gahm on Jun 16, 2011 10:49 AM

  • Colour Range tool broken

    Hello,
    I have been using photoshop for a few years now and have recently switched from CS5 to Photoshop CC.  Though I am beginning to regret this decision, but that is by the by.
    I have recently discovered that my Select > Colour Range tool is completely broken.  So for example, as a part of my day to day job, I change the skies on photos from grey to blue with fluffy clouds.  When I click the eyedrop tool and select my grey area it simply will not give me that range of colours or any other range of colours, no matter what the fuzziness.  Please see this example:
    Here you see me selecting the desired colour
    And here you see photoshop CC failing to recognise any of the colours I have selected.
    Any help would be much appreciated.
    J290

    You will need to be more specific. What system? What color management? This could be one of those gigazillion issues where hardware acceleration gets in the way and messes with the color sampling. As a test, at least turn it off under Preferences --> Performance. if that resolcves the issue, then you know you need to straighten out your graphics driver and configuration to make it work with acceleration on.
    Mylenium

  • Costco QuickUpload tool broken with Safari 3

    Hi, ever since Safari 3 was installed, the Costco QuickUpload tool to send pictures to Costco for printing is broken. Pictures can be selected, but when Upload is clicked, nothing happens forever. Pictures have to be slow uploaded, selected one at a time, 12 in a group. Anybody find a fix for this? Anybody else having this problem?

    Costco came out with a new plug-in. This works with Safari 3.

  • PSE8 Clone Tool Broken...

    Today, the Clone Tool and Spot Healing Brush fail to work. I can select a spot to clone and the "+" will display when I try to drop the clone, but nothing happens. Mode Normal. Opacity set at 100%. Tried several .JPEG files. Tried PSE7 and it worked!
    Rebooted. Same thing.
    Then it worked!
    What happened?
    BTW, I get a Win 7 message when I launch PSE8 that it failed to load properly and that it will close the app...but it doesn't?

    Well, it didn't work long! Just a few minutes later it stopped working. I noticed that other tools were also not working: Paintbrush, Eraser, etc. But the Text tool and the Rectangle tool worked. ???
    I may try reinstalling?

Maybe you are looking for