sk_sp<SkSpecialImage> SkXfermodeImageFilter::filterImageGPU(SkSpecialImage* source, sk_sp<SkSpecialImage> background, const SkIPoint& backgroundOffset, sk_sp<SkSpecialImage> foreground, const SkIPoint& foregroundOffset, const SkIRect& bounds) const { SkASSERT(source->isTextureBacked()); GrContext* context = source->getContext(); sk_sp<GrTexture> backgroundTex, foregroundTex; if (background) { backgroundTex = background->asTextureRef(context); } if (foreground) { foregroundTex = foreground->asTextureRef(context); } GrPaint paint; // SRGBTODO: AllowSRGBInputs? SkAutoTUnref<const GrFragmentProcessor> bgFP; if (backgroundTex) { SkMatrix backgroundMatrix; backgroundMatrix.setIDiv(backgroundTex->width(), backgroundTex->height()); backgroundMatrix.preTranslate(SkIntToScalar(-backgroundOffset.fX), SkIntToScalar(-backgroundOffset.fY)); bgFP.reset(GrTextureDomainEffect::Create( backgroundTex.get(), backgroundMatrix, GrTextureDomain::MakeTexelDomain(backgroundTex.get(), background->subset()), GrTextureDomain::kDecal_Mode, GrTextureParams::kNone_FilterMode)); } else { bgFP.reset(GrConstColorProcessor::Create(GrColor_TRANSPARENT_BLACK, GrConstColorProcessor::kIgnore_InputMode)); } if (foregroundTex) { SkMatrix foregroundMatrix; foregroundMatrix.setIDiv(foregroundTex->width(), foregroundTex->height()); foregroundMatrix.preTranslate(SkIntToScalar(-foregroundOffset.fX), SkIntToScalar(-foregroundOffset.fY)); SkAutoTUnref<const GrFragmentProcessor> foregroundFP; foregroundFP.reset(GrTextureDomainEffect::Create( foregroundTex.get(), foregroundMatrix, GrTextureDomain::MakeTexelDomain(foregroundTex.get(), foreground->subset()), GrTextureDomain::kDecal_Mode, GrTextureParams::kNone_FilterMode)); paint.addColorFragmentProcessor(foregroundFP.get()); // A null fMode is interpreted to mean kSrcOver_Mode (to match raster). SkAutoTUnref<SkXfermode> mode(SkSafeRef(fMode.get())); if (!mode) { // It would be awesome to use SkXfermode::Create here but it knows better // than us and won't return a kSrcOver_Mode SkXfermode. That means we // have to get one the hard way. struct ProcCoeff rec; rec.fProc = SkXfermode::GetProc(SkXfermode::kSrcOver_Mode); SkXfermode::ModeAsCoeff(SkXfermode::kSrcOver_Mode, &rec.fSC, &rec.fDC); mode.reset(new SkProcCoeffXfermode(rec, SkXfermode::kSrcOver_Mode)); } sk_sp<const GrFragmentProcessor> xferFP(mode->getFragmentProcessorForImageFilter(bgFP)); // A null 'xferFP' here means kSrc_Mode was used in which case we can just proceed if (xferFP) { paint.addColorFragmentProcessor(xferFP.get()); } } else { paint.addColorFragmentProcessor(bgFP); } paint.setPorterDuffXPFactory(SkXfermode::kSrc_Mode); sk_sp<GrDrawContext> drawContext(context->newDrawContext(GrContext::kLoose_BackingFit, bounds.width(), bounds.height(), kSkia8888_GrPixelConfig)); if (!drawContext) { return nullptr; } SkMatrix matrix; matrix.setTranslate(SkIntToScalar(-bounds.left()), SkIntToScalar(-bounds.top())); drawContext->drawRect(GrClip::WideOpen(), paint, matrix, SkRect::Make(bounds)); return SkSpecialImage::MakeFromGpu(SkIRect::MakeWH(bounds.width(), bounds.height()), kNeedNewImageUniqueID_SpecialImage, drawContext->asTexture()); }
int QLCDNumber::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QFrame::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: overflow(); break; case 1: display((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 2: display((*reinterpret_cast< int(*)>(_a[1]))); break; case 3: display((*reinterpret_cast< double(*)>(_a[1]))); break; case 4: setHexMode(); break; case 5: setDecMode(); break; case 6: setOctMode(); break; case 7: setBinMode(); break; case 8: setSmallDecimalPoint((*reinterpret_cast< bool(*)>(_a[1]))); break; default: ; } _id -= 9; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< bool*>(_v) = smallDecimalPoint(); break; case 1: *reinterpret_cast< int*>(_v) = numDigits(); break; case 2: *reinterpret_cast< int*>(_v) = digitCount(); break; case 3: *reinterpret_cast< Mode*>(_v) = mode(); break; case 4: *reinterpret_cast< SegmentStyle*>(_v) = segmentStyle(); break; case 5: *reinterpret_cast< double*>(_v) = value(); break; case 6: *reinterpret_cast< int*>(_v) = intValue(); break; } _id -= 7; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setSmallDecimalPoint(*reinterpret_cast< bool*>(_v)); break; case 1: setNumDigits(*reinterpret_cast< int*>(_v)); break; case 2: setDigitCount(*reinterpret_cast< int*>(_v)); break; case 3: setMode(*reinterpret_cast< Mode*>(_v)); break; case 4: setSegmentStyle(*reinterpret_cast< SegmentStyle*>(_v)); break; case 5: display(*reinterpret_cast< double*>(_v)); break; case 6: display(*reinterpret_cast< int*>(_v)); break; } _id -= 7; } else if (_c == QMetaObject::ResetProperty) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 7; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 7; } #endif // QT_NO_PROPERTIES return _id; }
void QgsMapToolAddFeature::cadCanvasReleaseEvent( QgsMapMouseEvent* e ) { QgsVectorLayer* vlayer = currentVectorLayer(); if ( !vlayer ) { notifyNotVectorLayer(); return; } QGis::WkbType layerWKBType = vlayer->wkbType(); QgsVectorDataProvider* provider = vlayer->dataProvider(); if ( !( provider->capabilities() & QgsVectorDataProvider::AddFeatures ) ) { emit messageEmitted( tr( "The data provider for this layer does not support the addition of features." ), QgsMessageBar::WARNING ); return; } if ( !vlayer->isEditable() ) { notifyNotEditableLayer(); return; } // POINT CAPTURING if ( mode() == CapturePoint ) { if ( e->button() != Qt::LeftButton ) return; //check we only use this tool for point/multipoint layers if ( vlayer->geometryType() != QGis::Point && mCheckGeometryType ) { emit messageEmitted( tr( "Wrong editing tool, cannot apply the 'capture point' tool on this vector layer" ), QgsMessageBar::WARNING ); return; } QgsPoint savePoint; //point in layer coordinates try { savePoint = toLayerCoordinates( vlayer, e->mapPoint() ); QgsDebugMsg( "savePoint = " + savePoint.toString() ); } catch ( QgsCsException &cse ) { Q_UNUSED( cse ); emit messageEmitted( tr( "Cannot transform the point to the layers coordinate system" ), QgsMessageBar::WARNING ); return; } //only do the rest for provider with feature addition support //note that for the grass provider, this will return false since //grass provider has its own mechanism of feature addition if ( provider->capabilities() & QgsVectorDataProvider::AddFeatures ) { QgsFeature f( vlayer->fields(), 0 ); QgsGeometry *g = 0; if ( layerWKBType == QGis::WKBPoint || layerWKBType == QGis::WKBPoint25D ) { g = QgsGeometry::fromPoint( savePoint ); } else if ( layerWKBType == QGis::WKBMultiPoint || layerWKBType == QGis::WKBMultiPoint25D ) { g = QgsGeometry::fromMultiPoint( QgsMultiPoint() << savePoint ); } else { // if layer supports more types (mCheckGeometryType is false) g = QgsGeometry::fromPoint( savePoint ); } f.setGeometry( g ); f.setValid( true ); addFeature( vlayer, &f, false ); mCanvas->refresh(); } } // LINE AND POLYGON CAPTURING else if ( mode() == CaptureLine || mode() == CapturePolygon ) { //check we only use the line tool for line/multiline layers if ( mode() == CaptureLine && vlayer->geometryType() != QGis::Line && mCheckGeometryType ) { emit messageEmitted( tr( "Wrong editing tool, cannot apply the 'capture line' tool on this vector layer" ), QgsMessageBar::WARNING ); return; } //check we only use the polygon tool for polygon/multipolygon layers if ( mode() == CapturePolygon && vlayer->geometryType() != QGis::Polygon && mCheckGeometryType ) { emit messageEmitted( tr( "Wrong editing tool, cannot apply the 'capture polygon' tool on this vector layer" ), QgsMessageBar::WARNING ); return; } //add point to list and to rubber band if ( e->button() == Qt::LeftButton ) { int error = addVertex( e->mapPoint() ); if ( error == 1 ) { //current layer is not a vector layer return; } else if ( error == 2 ) { //problem with coordinate transformation emit messageEmitted( tr( "Cannot transform the point to the layers coordinate system" ), QgsMessageBar::WARNING ); return; } startCapturing(); } else if ( e->button() == Qt::RightButton ) { // End of string deleteTempRubberBand(); //lines: bail out if there are not at least two vertices if ( mode() == CaptureLine && size() < 2 ) { stopCapturing(); return; } //polygons: bail out if there are not at least two vertices if ( mode() == CapturePolygon && size() < 3 ) { stopCapturing(); return; } if ( mode() == CapturePolygon ) { closePolygon(); } //create QgsFeature with wkb representation QScopedPointer< QgsFeature > f( new QgsFeature( vlayer->fields(), 0 ) ); //does compoundcurve contain circular strings? //does provider support circular strings? bool hasCurvedSegments = captureCurve()->hasCurvedSegments(); bool providerSupportsCurvedSegments = vlayer->dataProvider()->capabilities() & QgsVectorDataProvider::CircularGeometries; QgsCurveV2* curveToAdd = 0; if ( hasCurvedSegments && providerSupportsCurvedSegments ) { curveToAdd = captureCurve()->clone(); } else { curveToAdd = captureCurve()->curveToLine(); } if ( mode() == CaptureLine ) { f->setGeometry( new QgsGeometry( curveToAdd ) ); } else { QgsCurvePolygonV2* poly = 0; if ( hasCurvedSegments && providerSupportsCurvedSegments ) { poly = new QgsCurvePolygonV2(); } else { poly = new QgsPolygonV2(); } poly->setExteriorRing( curveToAdd ); f->setGeometry( new QgsGeometry( poly ) ); int avoidIntersectionsReturn = f->geometry()->avoidIntersections(); if ( avoidIntersectionsReturn == 1 ) { //not a polygon type. Impossible to get there } #if 0 else if ( avoidIntersectionsReturn == 2 ) //MH120131: disable this error message until there is a better way to cope with the single type / multi type problem { //bail out... emit messageEmitted( tr( "The feature could not be added because removing the polygon intersections would change the geometry type" ), QgsMessageBar::CRITICAL ); stopCapturing(); return; } #endif else if ( avoidIntersectionsReturn == 3 ) { emit messageEmitted( tr( "An error was reported during intersection removal" ), QgsMessageBar::CRITICAL ); } if ( !f->constGeometry()->asWkb() ) //avoid intersection might have removed the whole geometry { QString reason; if ( avoidIntersectionsReturn != 2 ) { reason = tr( "The feature cannot be added because it's geometry is empty" ); } else { reason = tr( "The feature cannot be added because it's geometry collapsed due to intersection avoidance" ); } emit messageEmitted( reason, QgsMessageBar::CRITICAL ); stopCapturing(); return; } } f->setValid( true ); if ( addFeature( vlayer, f.data(), false ) ) { //add points to other features to keep topology up-to-date int topologicalEditing = QgsProject::instance()->readNumEntry( "Digitizing", "/TopologicalEditing", 0 ); //use always topological editing for avoidIntersection. //Otherwise, no way to guarantee the geometries don't have a small gap in between. QStringList intersectionLayers = QgsProject::instance()->readListEntry( "Digitizing", "/AvoidIntersectionsList" ); bool avoidIntersection = !intersectionLayers.isEmpty(); if ( avoidIntersection ) //try to add topological points also to background layers { QStringList::const_iterator lIt = intersectionLayers.constBegin(); for ( ; lIt != intersectionLayers.constEnd(); ++lIt ) { QgsMapLayer* ml = QgsMapLayerRegistry::instance()->mapLayer( *lIt ); QgsVectorLayer* vl = qobject_cast<QgsVectorLayer*>( ml ); //can only add topological points if background layer is editable... if ( vl && vl->geometryType() == QGis::Polygon && vl->isEditable() ) { vl->addTopologicalPoints( f->constGeometry() ); } } } else if ( topologicalEditing ) { vlayer->addTopologicalPoints( f->constGeometry() ); } } stopCapturing(); } } }
int main( int argc, char *argv[] ) { #ifdef Q_OS_MACX // Increase file resource limits (i.e., number of allowed open files) // (from code provided by Larry Biehl, Purdue University, USA, from 'MultiSpec' project) // This is generally 256 for the soft limit on Mac // NOTE: setrlimit() must come *before* initialization of stdio strings, // e.g. before any debug messages, or setrlimit() gets ignored // see: http://stackoverflow.com/a/17726104/2865523 struct rlimit rescLimit; if ( getrlimit( RLIMIT_NOFILE, &rescLimit ) == 0 ) { rlim_t oldSoft( rescLimit.rlim_cur ); rlim_t oldHard( rescLimit.rlim_max ); #ifdef OPEN_MAX rlim_t newSoft( OPEN_MAX ); rlim_t newHard( std::min( oldHard, newSoft ) ); #else rlim_t newSoft( 4096 ); rlim_t newHard( std::min(( rlim_t )8192, oldHard ) ); #endif if ( rescLimit.rlim_cur < newSoft ) { rescLimit.rlim_cur = newSoft; rescLimit.rlim_max = newHard; if ( setrlimit( RLIMIT_NOFILE, &rescLimit ) == 0 ) { QgsDebugMsg( QString( "Mac RLIMIT_NOFILE Soft/Hard NEW: %1 / %2" ) .arg( rescLimit.rlim_cur ).arg( rescLimit.rlim_max ) ); } } Q_UNUSED( oldSoft ); //avoid warnings QgsDebugMsg( QString( "Mac RLIMIT_NOFILE Soft/Hard ORIG: %1 / %2" ) .arg( oldSoft ).arg( oldHard ) ); } #endif QgsDebugMsg( QString( "Starting qgis main" ) ); #ifdef WIN32 // Windows #ifdef _MSC_VER _set_fmode( _O_BINARY ); #else //MinGW _fmode = _O_BINARY; #endif // _MSC_VER #endif // WIN32 // Set up the custom qWarning/qDebug custom handler #ifndef ANDROID qInstallMsgHandler( myMessageOutput ); #endif #if (defined(linux) && !defined(ANDROID)) || defined(__FreeBSD__) signal( SIGQUIT, qgisCrash ); signal( SIGILL, qgisCrash ); signal( SIGFPE, qgisCrash ); signal( SIGSEGV, qgisCrash ); signal( SIGBUS, qgisCrash ); signal( SIGSYS, qgisCrash ); signal( SIGTRAP, qgisCrash ); signal( SIGXCPU, qgisCrash ); signal( SIGXFSZ, qgisCrash ); #endif #ifdef Q_OS_WIN SetUnhandledExceptionFilter( QgisApp::qgisCrashDump ); #endif // initialize random number seed qsrand( time( nullptr ) ); ///////////////////////////////////////////////////////////////// // Command line options 'behaviour' flag setup //////////////////////////////////////////////////////////////// // // Parse the command line arguments, looking to see if the user has asked for any // special behaviours. Any remaining non command arguments will be kept aside to // be passed as a list of layers and / or a project that should be loaded. // // This behaviour is used to load the app, snapshot the map, // save the image to disk and then exit QString mySnapshotFileName = ""; int mySnapshotWidth = 800; int mySnapshotHeight = 600; bool myHideSplash = false; bool mySkipVersionCheck = false; #if defined(ANDROID) QgsDebugMsg( QString( "Android: Splash hidden" ) ); myHideSplash = true; #endif bool myRestoreDefaultWindowState = false; bool myRestorePlugins = true; bool myCustomization = true; QString dxfOutputFile; QgsDxfExport::SymbologyExport dxfSymbologyMode = QgsDxfExport::SymbolLayerSymbology; double dxfScaleDenom = 50000.0; QString dxfEncoding = "CP1252"; QString dxfPreset; QgsRectangle dxfExtent; // This behaviour will set initial extent of map canvas, but only if // there are no command line arguments. This gives a usable map // extent when qgis starts with no layers loaded. When layers are // loaded, we let the layers define the initial extent. QString myInitialExtent = ""; if ( argc == 1 ) myInitialExtent = "-1,-1,1,1"; // This behaviour will allow you to force the use of a translation file // which is useful for testing QString myTranslationCode; // The user can specify a path which will override the default path of custom // user settings (~/.qgis) and it will be used for QSettings INI file QString configpath; QString optionpath; QString authdbdirectory; QString pythonfile; QString customizationfile; #if defined(ANDROID) QgsDebugMsg( QString( "Android: All params stripped" ) );// Param %1" ).arg( argv[0] ) ); //put all QGIS settings in the same place configpath = QgsApplication::qgisSettingsDirPath(); QgsDebugMsg( QString( "Android: configpath set to %1" ).arg( configpath ) ); #endif QStringList args; if ( !bundleclicked( argc, argv ) ) { // Build a local QCoreApplication from arguments. This way, arguments are correctly parsed from their native locale // It will use QString::fromLocal8Bit( argv ) under Unix and GetCommandLine() under Windows. QCoreApplication coreApp( argc, argv ); args = QCoreApplication::arguments(); for ( int i = 1; i < args.size(); ++i ) { const QString &arg = args[i]; if ( arg == "--help" || arg == "-?" ) { usage( args[0].toStdString() ); return 2; } else if ( arg == "--nologo" || arg == "-n" ) { myHideSplash = true; } else if ( arg == "--noversioncheck" || arg == "-V" ) { mySkipVersionCheck = true; } else if ( arg == "--noplugins" || arg == "-P" ) { myRestorePlugins = false; } else if ( arg == "--nocustomization" || arg == "-C" ) { myCustomization = false; } else if ( i + 1 < argc && ( arg == "--snapshot" || arg == "-s" ) ) { mySnapshotFileName = QDir::toNativeSeparators( QFileInfo( args[++i] ).absoluteFilePath() ); } else if ( i + 1 < argc && ( arg == "--width" || arg == "-w" ) ) { mySnapshotWidth = QString( args[++i] ).toInt(); } else if ( i + 1 < argc && ( arg == "--height" || arg == "-h" ) ) { mySnapshotHeight = QString( args[++i] ).toInt(); } else if ( i + 1 < argc && ( arg == "--lang" || arg == "-l" ) ) { myTranslationCode = args[++i]; } else if ( i + 1 < argc && ( arg == "--project" || arg == "-p" ) ) { myProjectFileName = QDir::toNativeSeparators( QFileInfo( args[++i] ).absoluteFilePath() ); } else if ( i + 1 < argc && ( arg == "--extent" || arg == "-e" ) ) { myInitialExtent = args[++i]; } else if ( i + 1 < argc && ( arg == "--optionspath" || arg == "-o" ) ) { optionpath = QDir::toNativeSeparators( QDir( args[++i] ).absolutePath() ); } else if ( i + 1 < argc && ( arg == "--configpath" || arg == "-c" ) ) { configpath = QDir::toNativeSeparators( QDir( args[++i] ).absolutePath() ); } else if ( i + 1 < argc && ( arg == "--authdbdirectory" || arg == "-a" ) ) { authdbdirectory = QDir::toNativeSeparators( QDir( args[++i] ).absolutePath() ); } else if ( i + 1 < argc && ( arg == "--code" || arg == "-f" ) ) { pythonfile = QDir::toNativeSeparators( QFileInfo( args[++i] ).absoluteFilePath() ); } else if ( i + 1 < argc && ( arg == "--customizationfile" || arg == "-z" ) ) { customizationfile = QDir::toNativeSeparators( QFileInfo( args[++i] ).absoluteFilePath() ); } else if ( arg == "--defaultui" || arg == "-d" ) { myRestoreDefaultWindowState = true; } else if ( arg == "--dxf-export" ) { dxfOutputFile = args[++i]; } else if ( arg == "--dxf-extent" ) { QgsLocaleNumC l; QString ext( args[++i] ); QStringList coords( ext.split( ',' ) ); if ( coords.size() != 4 ) { std::cerr << "invalid dxf extent " << ext.toStdString() << std::endl; return 2; } for ( int i = 0; i < 4; i++ ) { bool ok; double d; d = coords[i].toDouble( &ok ); if ( !ok ) { std::cerr << "invalid dxf coordinate " << coords[i].toStdString() << " in extent " << ext.toStdString() << std::endl; return 2; } switch ( i ) { case 0: dxfExtent.setXMinimum( d ); break; case 1: dxfExtent.setYMinimum( d ); break; case 2: dxfExtent.setXMaximum( d ); break; case 3: dxfExtent.setYMaximum( d ); break; } } } else if ( arg == "--dxf-symbology-mode" ) { QString mode( args[++i] ); if ( mode == "none" ) { dxfSymbologyMode = QgsDxfExport::NoSymbology; } else if ( mode == "symbollayer" ) { dxfSymbologyMode = QgsDxfExport::SymbolLayerSymbology; } else if ( mode == "feature" ) { dxfSymbologyMode = QgsDxfExport::FeatureSymbology; } else { std::cerr << "invalid dxf symbology mode " << mode.toStdString() << std::endl; return 2; } } else if ( arg == "--dxf-scale-denom" ) { bool ok; QString scale( args[++i] ); dxfScaleDenom = scale.toDouble( &ok ); if ( !ok ) { std::cerr << "invalid dxf scale " << scale.toStdString() << std::endl; return 2; } } else if ( arg == "--dxf-encoding" ) { dxfEncoding = args[++i]; } else if ( arg == "--dxf-preset" ) { dxfPreset = args[++i]; } else if ( arg == "--" ) { for ( i++; i < args.size(); ++i ) myFileList.append( QDir::toNativeSeparators( QFileInfo( args[i] ).absoluteFilePath() ) ); } else { myFileList.append( QDir::toNativeSeparators( QFileInfo( args[i] ).absoluteFilePath() ) ); } } } ///////////////////////////////////////////////////////////////////// // If no --project was specified, parse the args to look for a // // .qgs file and set myProjectFileName to it. This allows loading // // of a project file by clicking on it in various desktop managers // // where an appropriate mime-type has been set up. // ///////////////////////////////////////////////////////////////////// if ( myProjectFileName.isEmpty() ) { // check for a .qgs for ( int i = 0; i < args.size(); i++ ) { QString arg = QDir::toNativeSeparators( QFileInfo( args[i] ).absoluteFilePath() ); if ( arg.contains( ".qgs" ) ) { myProjectFileName = arg; break; } } } ///////////////////////////////////////////////////////////////////// // Now we have the handlers for the different behaviours... //////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// // Initialise the application and the translation stuff ///////////////////////////////////////////////////////////////////// #if defined(Q_OS_UNIX) && !defined(Q_OS_MAC) && !defined(ANDROID) bool myUseGuiFlag = nullptr != getenv( "DISPLAY" ); #else bool myUseGuiFlag = true; #endif if ( !myUseGuiFlag ) { std::cerr << QObject::tr( "QGIS starting in non-interactive mode not supported.\n" "You are seeing this message most likely because you " "have no DISPLAY environment variable set.\n" ).toUtf8().constData(); exit( 1 ); //exit for now until a version of qgis is capabable of running non interactive } if ( !optionpath.isEmpty() || !configpath.isEmpty() ) { // tell QSettings to use INI format and save the file in custom config path QSettings::setDefaultFormat( QSettings::IniFormat ); QSettings::setPath( QSettings::IniFormat, QSettings::UserScope, optionpath.isEmpty() ? configpath : optionpath ); } // GUI customization is enabled according to settings (loaded when instance is created) // we force disabled here if --nocustomization argument is used if ( !myCustomization ) { QgsCustomization::instance()->setEnabled( false ); } QgsApplication myApp( argc, argv, myUseGuiFlag, configpath ); myApp.setWindowIcon( QIcon( QgsApplication::appIconPath() ) ); // // Set up the QSettings environment must be done after qapp is created QCoreApplication::setOrganizationName( QgsApplication::QGIS_ORGANIZATION_NAME ); QCoreApplication::setOrganizationDomain( QgsApplication::QGIS_ORGANIZATION_DOMAIN ); QCoreApplication::setApplicationName( QgsApplication::QGIS_APPLICATION_NAME ); QCoreApplication::setAttribute( Qt::AA_DontShowIconsInMenus, false ); QSettings* customizationsettings; if ( !optionpath.isEmpty() || !configpath.isEmpty() ) { // tell QSettings to use INI format and save the file in custom config path QSettings::setDefaultFormat( QSettings::IniFormat ); QString path = optionpath.isEmpty() ? configpath : optionpath; QSettings::setPath( QSettings::IniFormat, QSettings::UserScope, path ); customizationsettings = new QSettings( QSettings::IniFormat, QSettings::UserScope, "QGIS", "QGISCUSTOMIZATION2" ); } else { customizationsettings = new QSettings( "QGIS", "QGISCUSTOMIZATION2" ); } // Using the customizationfile option always overrides the option and config path options. if ( !customizationfile.isEmpty() ) { customizationsettings = new QSettings( customizationfile, QSettings::IniFormat ); QgsCustomization::instance()->setEnabled( true ); } // Load and set possible default customization, must be done afterQgsApplication init and QSettings ( QCoreApplication ) init QgsCustomization::instance()->setSettings( customizationsettings ); QgsCustomization::instance()->loadDefault(); #ifdef Q_OS_MACX // If the GDAL plugins are bundled with the application and GDAL_DRIVER_PATH // is not already defined, use the GDAL plugins in the application bundle. QString gdalPlugins( QCoreApplication::applicationDirPath().append( "/lib/gdalplugins" ) ); if ( QFile::exists( gdalPlugins ) && !getenv( "GDAL_DRIVER_PATH" ) ) { setenv( "GDAL_DRIVER_PATH", gdalPlugins.toUtf8(), 1 ); } // Point GDAL_DATA at any GDAL share directory embedded in the app bundle if ( !getenv( "GDAL_DATA" ) ) { QStringList gdalShares; QString appResources( QDir::cleanPath( QgsApplication::pkgDataPath() ) ); gdalShares << QCoreApplication::applicationDirPath().append( "/share/gdal" ) << appResources.append( "/share/gdal" ) << appResources.append( "/gdal" ); Q_FOREACH ( const QString& gdalShare, gdalShares ) { if ( QFile::exists( gdalShare ) ) { setenv( "GDAL_DATA", gdalShare.toUtf8().constData(), 1 ); break; } } }
3.1, as published by the Free Software Foundation. You should have received a copy of the GNU General Public License and a copy of the GCC Runtime Library Exception along with this program; see the files COPYING3 and COPYING.RUNTIME respectively. If not, see <http://www.gnu.org/licenses/>. */ #define EXP(fp) (((fp.l) >> 23) & 0xFF) #define EXCESS 126 #define SIGNBIT 0x80000000 #define SIGN(fp) ((fp.l) & SIGNBIT) #define HIDDEN (1 << 23) #define MANT(fp) (((fp.l) & 0x7FFFFF) | HIDDEN) #define FRAC(fp) ((fp.l) & 0x7FFFFF) typedef int DItype_x __attribute__ ((mode (DI))); typedef unsigned int UDItype_x __attribute__ ((mode (DI))); typedef int SItype_x __attribute__ ((mode (SI))); typedef unsigned int USItype_x __attribute__ ((mode (SI))); union float_long { float f; USItype_x l; }; DItype_x __fixsfdi (float a1); /* convert double to int */ DItype_x __fixsfdi (float a1)
/* PR target/70300 */ /* { dg-do compile } */ /* { dg-options "-O2 -mtune=amdfam10 -mavx512f" } */ typedef _Complex A __attribute__ ((mode (SC))); typedef _Complex B __attribute__ ((mode (DC))); typedef _Complex C __attribute__ ((mode (TC))); C foo (A a, B b, C c, A d, B e, C f) { b -= a; d += a; a += f; return a + b + d + e; } __attribute__((target ("avx512vl"))) C bar (A a, B b, C c, A d, B e, C f) { b -= a; d += a; a += f; return a + b + d + e; }
bool KTar::doPrepareWriting(const QString &name, const QString &user, const QString &group, qint64 size, mode_t perm, const QDateTime & /*atime*/, const QDateTime &mtime, const QDateTime & /*ctime*/) { if ( !isOpen() ) { //qWarning() << "You must open the tar file before writing to it\n"; return false; } if ( !(mode() & QIODevice::WriteOnly) ) { //qWarning() << "You must open the tar file for writing\n"; return false; } // In some tar files we can find dir/./file => call cleanPath QString fileName ( QDir::cleanPath( name ) ); /* // Create toplevel dirs // Commented out by David since it's not necessary, and if anybody thinks it is, // he needs to implement a findOrCreate equivalent in writeDir. // But as KTar and the "tar" program both handle tar files without // dir entries, there's really no need for that QString tmp ( fileName ); int i = tmp.lastIndexOf( '/' ); if ( i != -1 ) { QString d = tmp.left( i + 1 ); // contains trailing slash if ( !m_dirList.contains( d ) ) { tmp = tmp.mid( i + 1 ); writeDir( d, user, group ); // WARNING : this one doesn't create its toplevel dirs } } */ char buffer[ 0x201 ]; memset( buffer, 0, 0x200 ); if ( ( mode() & QIODevice::ReadWrite ) == QIODevice::ReadWrite ) device()->seek(d->tarEnd); // Go to end of archive as might have moved with a read // provide converted stuff we need later on const QByteArray encodedFileName = QFile::encodeName(fileName); const QByteArray uname = user.toLocal8Bit(); const QByteArray gname = group.toLocal8Bit(); // If more than 100 chars, we need to use the LongLink trick if ( fileName.length() > 99 ) d->writeLonglink(buffer,encodedFileName,'L',uname.constData(),gname.constData()); // Write (potentially truncated) name strncpy( buffer, encodedFileName.constData(), 99 ); buffer[99] = 0; // zero out the rest (except for what gets filled anyways) memset(buffer+0x9d, 0, 0x200 - 0x9d); QByteArray permstr = QByteArray::number( (unsigned int)perm, 8 ); permstr = permstr.rightJustified(6, '0'); d->fillBuffer(buffer, permstr.constData(), size, mtime, 0x30, uname.constData(), gname.constData()); // Write header return device()->write( buffer, 0x200 ) == 0x200; }
/* { dg-do link } */ /* { dg-options "-O -mgeneral-regs-only -mno-cld -g" } */ #include <stdint.h> extern void link_error (void); typedef unsigned int uword_t __attribute__ ((mode (__word__))); struct interrupt_frame { uword_t ip; uword_t cs; uword_t flags; uword_t sp; uword_t ss; }; __attribute__ ((used, interrupt)) void foo (struct interrupt_frame *frame, uword_t error) { void *ra = __builtin_return_address (0); if ((uintptr_t) ra != (uintptr_t) frame->ip) link_error (); } int main (void) { return 0;
int Irc::Session::qt_metacall(QMetaObject::Call _c, int _id, void **_a) { _id = QObject::qt_metacall(_c, _id, _a); if (_id < 0) return _id; if (_c == QMetaObject::InvokeMetaMethod) { switch (_id) { case 0: connected(); break; case 1: welcomed(); break; case 2: reconnecting(); break; case 3: disconnected(); break; case 4: bufferAdded((*reinterpret_cast< Irc::Buffer*(*)>(_a[1]))); break; case 5: bufferRemoved((*reinterpret_cast< Irc::Buffer*(*)>(_a[1]))); break; case 6: capabilitiesListed((*reinterpret_cast< const QStringList(*)>(_a[1]))); break; case 7: capabilitiesAcked((*reinterpret_cast< const QStringList(*)>(_a[1]))); break; case 8: capabilitiesNotAcked((*reinterpret_cast< const QStringList(*)>(_a[1]))); break; case 9: msgJoined((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 10: msgParted((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 11: msgQuit((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 12: msgNickChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 13: msgModeChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3])),(*reinterpret_cast< const QString(*)>(_a[4]))); break; case 14: msgTopicChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 15: msgInvited((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 16: msgKicked((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3])),(*reinterpret_cast< const QString(*)>(_a[4]))); break; case 17: msgMessageReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 18: msgNoticeReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 19: msgCtcpRequestReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 20: msgCtcpReplyReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 21: msgCtcpActionReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 22: msgNumericMessageReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< uint(*)>(_a[2])),(*reinterpret_cast< const QStringList(*)>(_a[3]))); break; case 23: msgUnknownMessageReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QStringList(*)>(_a[2]))); break; case 24: connectToServer((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< quint16(*)>(_a[2]))); break; case 25: connectToServer((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 26: connectToServer(); break; case 27: reconnectToServer(); break; case 28: disconnectFromServer(); break; case 29: { bool _r = raw((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 30: { bool _r = motd(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 31: { bool _r = join((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 32: { bool _r = join((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 33: { bool _r = part((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 34: { bool _r = part((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 35: { bool _r = quit((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 36: { bool _r = quit(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 37: { bool _r = names((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 38: { bool _r = list((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 39: { bool _r = list(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 40: { bool _r = whois((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 41: { bool _r = whowas((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 42: { bool _r = mode((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 43: { bool _r = mode((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 44: { bool _r = topic((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 45: { bool _r = topic((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 46: { bool _r = invite((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 47: { bool _r = kick((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 48: { bool _r = kick((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 49: { bool _r = message((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 50: { bool _r = notice((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 51: { bool _r = ctcpAction((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 52: { bool _r = ctcpRequest((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 53: { bool _r = ctcpReply((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 54: requestCapabilities((*reinterpret_cast< const QStringList(*)>(_a[1]))); break; case 55: clearCapabilities(); break; case 56: { bool _r = sendRaw((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 57: { bool _r = cmdJoin((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 58: { bool _r = cmdJoin((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 59: { bool _r = cmdPart((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 60: { bool _r = cmdPart((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 61: { bool _r = cmdQuit((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 62: { bool _r = cmdQuit(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 63: { bool _r = cmdNames((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 64: { bool _r = cmdList((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 65: { bool _r = cmdList(); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 66: { bool _r = cmdWhois((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 67: { bool _r = cmdMode((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 68: { bool _r = cmdMode((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 69: { bool _r = cmdTopic((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 70: { bool _r = cmdTopic((*reinterpret_cast< const QString(*)>(_a[1]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 71: { bool _r = cmdInvite((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 72: { bool _r = cmdKick((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 73: { bool _r = cmdKick((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 74: { bool _r = cmdMessage((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 75: { bool _r = cmdNotice((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 76: { bool _r = cmdCtcpAction((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 77: { bool _r = cmdCtcpRequest((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 78: { bool _r = cmdCtcpReply((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); if (_a[0]) *reinterpret_cast< bool*>(_a[0]) = _r; } break; case 79: d_func()->_q_connected(); break; case 80: d_func()->_q_disconnected(); break; case 81: d_func()->_q_reconnect(); break; case 82: d_func()->_q_error(); break; case 83: d_func()->_q_state((*reinterpret_cast< QAbstractSocket::SocketState(*)>(_a[1]))); break; case 84: d_func()->_q_readData(); break; case 85: d_func()->_q_joined((*reinterpret_cast< const QString(*)>(_a[1]))); break; case 86: d_func()->_q_parted((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 87: d_func()->_q_quit((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 88: d_func()->_q_nickChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 89: d_func()->_q_modeChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 90: d_func()->_q_topicChanged((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 91: d_func()->_q_invited((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 92: d_func()->_q_kicked((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2])),(*reinterpret_cast< const QString(*)>(_a[3]))); break; case 93: d_func()->_q_messageReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 94: d_func()->_q_noticeReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 95: d_func()->_q_ctcpRequestReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 96: d_func()->_q_ctcpReplyReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 97: d_func()->_q_ctcpActionReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QString(*)>(_a[2]))); break; case 98: d_func()->_q_numericMessageReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< uint(*)>(_a[2])),(*reinterpret_cast< const QStringList(*)>(_a[3]))); break; case 99: d_func()->_q_unknownMessageReceived((*reinterpret_cast< const QString(*)>(_a[1])),(*reinterpret_cast< const QStringList(*)>(_a[2]))); break; default: ; } _id -= 100; } #ifndef QT_NO_PROPERTIES else if (_c == QMetaObject::ReadProperty) { void *_v = _a[0]; switch (_id) { case 0: *reinterpret_cast< QStringList*>(_v) = autoJoinChannels(); break; case 1: *reinterpret_cast< int*>(_v) = autoReconnectDelay(); break; case 2: *reinterpret_cast< QByteArray*>(_v) = encoding(); break; case 3: *reinterpret_cast< QString*>(_v) = host(); break; case 4: *reinterpret_cast< QString*>(_v) = ident(); break; case 5: *reinterpret_cast< QString*>(_v) = nick(); break; case 6: *reinterpret_cast<int*>(_v) = QFlag(options()); break; case 7: *reinterpret_cast< QString*>(_v) = password(); break; case 8: *reinterpret_cast< quint16*>(_v) = port(); break; case 9: *reinterpret_cast< QString*>(_v) = realName(); break; case 10: *reinterpret_cast< QStringList*>(_v) = supportedCapabilities(); break; case 11: *reinterpret_cast< QStringList*>(_v) = enabledCapabilities(); break; } _id -= 12; } else if (_c == QMetaObject::WriteProperty) { void *_v = _a[0]; switch (_id) { case 0: setAutoJoinChannels(*reinterpret_cast< QStringList*>(_v)); break; case 1: setAutoReconnectDelay(*reinterpret_cast< int*>(_v)); break; case 2: setEncoding(*reinterpret_cast< QByteArray*>(_v)); break; case 3: setHost(*reinterpret_cast< QString*>(_v)); break; case 4: setIdent(*reinterpret_cast< QString*>(_v)); break; case 5: setNick(*reinterpret_cast< QString*>(_v)); break; case 6: setOptions(QFlag(*reinterpret_cast<int*>(_v))); break; case 7: setPassword(*reinterpret_cast< QString*>(_v)); break; case 8: setPort(*reinterpret_cast< quint16*>(_v)); break; case 9: setRealName(*reinterpret_cast< QString*>(_v)); break; } _id -= 12; } else if (_c == QMetaObject::ResetProperty) { _id -= 12; } else if (_c == QMetaObject::QueryPropertyDesignable) { _id -= 12; } else if (_c == QMetaObject::QueryPropertyScriptable) { _id -= 12; } else if (_c == QMetaObject::QueryPropertyStored) { _id -= 12; } else if (_c == QMetaObject::QueryPropertyEditable) { _id -= 12; } else if (_c == QMetaObject::QueryPropertyUser) { _id -= 12; } #endif // QT_NO_PROPERTIES return _id; }
Application::Application(unsigned int width, unsigned int height) : mSettings(true, 0, false, false), mTextures(), mImages(), mFonts(), mStateStack(State::Context(window, mTextures, mImages, mFonts, mLevels, mMusic, mSounds, mSettings, mEffects)), mStatisticsText(), mStatisticsUpdateTime(), mStatisticsNumFrames(0) { if (!mParser.loadFile("settings.ini")) { std::cout << "Error loading settings file!" << std::endl; } int w = width; int h = height; mParser.get("width", w); mParser.get("height", h); mParser.get("fullscreen", mSettings.fullScreen); mParser.get("vSync", mSettings.vSync); float mVolume = 100.f; float sVolume = 100.f; mParser.get("mvolume", mVolume); mParser.get("svolume", sVolume); mMusic.setVolume(mVolume); mSounds.setVolume(sVolume); sf::VideoMode mode(w, h, sf::VideoMode::getFullscreenModes()[0].bitsPerPixel); if (!mode.isValid()) { std::vector<sf::VideoMode> validModes = getValidVideoModes(); auto low = std::lower_bound(validModes.begin(), validModes.end(), mode); low--; mode.bitsPerPixel = low->bitsPerPixel; mode.width = low->width; mode.height = low->height; } sf::Uint32 style = mSettings.fullScreen ? sf::Style::Fullscreen : sf::Style::Close; sf::ContextSettings settings; settings.antialiasingLevel = 8; window.create(mode, "Platformer", style, settings); window.setKeyRepeatEnabled(mSettings.keyRepeat); window.setVerticalSyncEnabled(mSettings.vSync); window.setIcon(icon_image.width, icon_image.height, icon_image.pixel_data); loadResources(); mStatisticsText.setFont(mFonts.get(Fonts::Main)); mStatisticsText.setPosition(5.f, 5.f); mStatisticsText.setCharacterSize(30u); mStatisticsText.setColor(sf::Color::Yellow); mStateStack.registerState<MenuState>(States::Menu); mStateStack.registerState<LevelSelectionState>(States::LevelSelection); mStateStack.registerState<SettingsState>(States::Settings); mStateStack.registerState<GameState>(States::Game); mStateStack.registerState<PauseState>(States::Pause); mStateStack.pushState(States::Menu); }
/* For mips32 */ #ifdef __mips__ #include <types.h> #include <ddk/byteorder.h> typedef int word_type __attribute__ ((mode (__word__))); #ifdef __BIG_ENDIAN struct DWstruct { int high, low; }; #elif defined(__LITTLE_ENDIAN) struct DWstruct { int low, high; }; #else #error I feel sick. #endif typedef union { struct DWstruct s; long long ll; } DWunion; word_type __ucmpdi2(unsigned long long a, unsigned long long b) { const DWunion au = {.ll = a}; const DWunion bu = {.ll = b};
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU C Library. If not, see <http://www.gnu.org/licenses/>. */ #include <stdint.h> #include <shlib-compat.h> #if SHLIB_COMPAT(libc, GLIBC_2_0, GLIBC_2_2_6) symbol_version (__clz_tab_internal, __clz_tab, GLIBC_2.2); typedef unsigned int UQItype __attribute__ ((mode (QI))); const UQItype __clz_tab_internal[] = { 0,1,2,2,3,3,3,3,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5, 6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, 8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8, }; #endif
/* ??? At the moment, lower-subreg.c decomposes the copy of the multiplication result to $2, which prevents the register allocators from storing the multiplication result in $2. */ /* { dg-options "-mips3 -mfix-r4000 -mgp64 -O2 -fno-split-wide-types -dp -EL" } */ typedef unsigned long long uint64_t; typedef unsigned int uint128_t __attribute__((mode(TI))); NOMIPS16 uint128_t foo (uint64_t x, uint64_t y) { return (uint128_t) x * y; } /* { dg-final { scan-assembler "[concat {\tdmultu\t\$[45],\$[45][^\n]+umulditi3_r4000[^\n]+\n\tmflo\t\$2\n\tmfhi\t\$3\n}]" } } */
sk_sp<SkFlattenable> SkXfermodeImageFilter::CreateProc(SkReadBuffer& buffer) { SK_IMAGEFILTER_UNFLATTEN_COMMON(common, 2); sk_sp<SkXfermode> mode(buffer.readXfermode()); return Make(std::move(mode), common.getInput(0), common.getInput(1), &common.cropRect()); }
void reduceData::Loop() { // In a ROOT session, you can do: // Root > .L reduceData.C // Root > reduceData t // Root > t.GetEntry(12); // Fill t data members with entry number 12 // Root > t.Show(); // Show values of entry 12 // Root > t.Show(16); // Read and show values of entry 16 // Root > t.Loop(); // Loop on all entries // // This is the loop skeleton where: // jentry is the global entry number in the chain // ientry is the entry number in the current Tree // Note that the argument to GetEntry must be: // jentry for TChain::GetEntry // ientry for TTree::GetEntry and TBranch::GetEntry // // To read only selected branches, Insert statements like: // METHOD1: // fChain->SetBranchStatus("*",0); // disable all branches // fChain->SetBranchStatus("branchname",1); // activate branchname // METHOD2: replace line // fChain->GetEntry(jentry); //read all branches //by b_branchname->GetEntry(ientry); //read only this branch if (fChain == 0) return; Long64_t nentries = fChain->GetEntriesFast(); Int_t D0flav = 0; Int_t myisWS = 0; Int_t mytag_opp_side = 0; Double_t pi0p3 = 0.; Double_t myd0Lifetime = 0.; Double_t myd0LifetimeErr = 0.; Double_t myrunnumber = 0.; Int_t mytruthIsSignal = 0; Int_t mytruthIsBkg_FakePiSlow = 0; Int_t tag_K = 0; Int_t tag_pi = 0; Int_t tag_e = 0; Int_t tag_mu = 0; //define DalitzSpace for generation EvtPDL pdl; pdl.readPDT("evt.pdl"); EvtDecayMode mode("D0 -> K- pi+ pi0"); EvtDalitzPlot dalitzSpace(mode); TFile *file = new TFile("Data.root","RECREATE"); TTree *reduced = new TTree("ntp3","The data tree"); reduced->Branch("d0Mass",&d0Mass,"d0Mass/D"); reduced->Branch("deltaMass",&deltaMass,"deltaMass/D"); reduced->Branch("d0P_phi",&d0P_phi,"d0P_phi/D"); reduced->Branch("d0P_theta",&d0P_theta,"d0P_theta/D"); reduced->Branch("m2Kpi_d0mass",&m2Kpi_d0mass,"m2Kpi_d0mass/D"); reduced->Branch("m2Kpi0_d0mass",&m2Kpi0_d0mass,"m2Kpi0_d0mass/D"); reduced->Branch("m2pipi0_d0mass",&m2pipi0_d0mass,"m2pipi0_d0mass/D"); reduced->Branch("d0Lifetime",&myd0Lifetime,"d0Lifetime/D"); reduced->Branch("d0LifetimeErr",&myd0LifetimeErr,"d0LifetimeErr/D"); reduced->Branch("D0flav",&D0flav,"D0flav/I"); //reduced->Branch("pi0Pmag",&pi0Pmag,"pi0Pmag/D"); reduced->Branch("isWS",&myisWS,"isWS/I"); reduced->Branch("tag_opp_side",&mytag_opp_side,"tag_opp_side/I"); reduced->Branch("runnumber",&myrunnumber,"runnumber/D"); //reduced->Branch("tag_K",&tag_K,"tag_K/I"); //reduced->Branch("tag_pi",&tag_pi,"tag_pi/I"); //reduced->Branch("tag_e",&tag_e,"tag_e/I"); //reduced->Branch("tag_mu",&tag_mu,"tag_mu/I"); reduced->Branch("truthIsSignal",&mytruthIsSignal,"truthIsSignal/I"); reduced->Branch("truthIsBkg_FakePiSlow",&mytruthIsBkg_FakePiSlow,"truthIsBkg_FakePiSlow/I"); Long64_t nbytes = 0, nb = 0; for (Long64_t jentry=0; jentry<nentries;jentry++) { Long64_t ientry = LoadTree(jentry); if (ientry < 0) break; nb = fChain->GetEntry(jentry); nbytes += nb; // if (Cut(ientry) < 0) continue; if(isAntiD0==0) D0flav = -1; if(isAntiD0==1) D0flav = 1; if(isWS==0) myisWS = 0; if(isWS==1) myisWS = 1; //if(tag_opp_side != 1) continue; mytag_opp_side = tag_opp_side; mytruthIsSignal = truthIsSignal; mytruthIsBkg_FakePiSlow = truthIsBkg_FakePiSlow; myd0Lifetime = d0Lifetime*pow(10.,12.); myd0LifetimeErr = d0LifetimeErr*pow(10.,12.); myrunnumber = (Double_t)runnumber; EvtDalitzPoint *_dalitzPoint = new EvtDalitzPoint(dalitzSpace.mA(),dalitzSpace.mB(),dalitzSpace.mC(),m2Kpi_d0mass,m2pipi0_d0mass,m2Kpi0_d0mass); if(!_dalitzPoint->isValid()) continue; if(tag_k_cms_p > 0.) tag_K = 1; else tag_K = 0; if(tag_spi_pchi2 > 0.001 && tag_spi_dss_pt < 0.08 && tag_spi_dss_pl > -0.080 && tag_spi_dss_pl < 0.075 && tag_spi_dss_p < 0.09 && tag_spi_dss_p > 0.) tag_pi = 1; else tag_pi = 0; if(tag_e_m2 > 0.01 && tag_e_cms_p > 0.) tag_e = 1; else tag_e = 0; if(tag_mu_cms_p > 0.) tag_mu = 1; else tag_mu = 0; if(!(d0pstar > 2.4 && pi0Pmag > 0.35 && dstarChi2Prob > 0.01 && d0Chi2ProbPre > 0.005)) continue; //if(truthIsSignal == 0) continue; reduced->Fill(); } file->cd(); reduced->Write(); file->Close(); }
/* mips*-sde-elf doesn't have 128-bit long doubles. */ /* { dg-do compile { target { ! mips*-sde-elf mips*-mti-elf } } } */ /* { dg-options "-march=mips64r2 -mabi=n32" } */ typedef float TFtype __attribute__((mode(TF))); TFtype __powitf (TFtype x, int m) { unsigned int n = m < 0 ? -m : m; TFtype y = n % 2 ? x : 1; while (n >>= 1) { x = x * x; if (n % 2) y = y * x; } return m < 0 ? 1/y : y; }
uchar *QFSFileEnginePrivate::map(qint64 offset, qint64 size, QFile::MemoryMapFlags flags) { Q_Q(QFSFileEngine); Q_UNUSED(flags); if (openMode == QIODevice::NotOpen) { q->setError(QFile::PermissionsError, qt_error_string(int(EACCES))); return 0; } if (offset < 0 || offset != qint64(QT_OFF_T(offset)) || size < 0 || quint64(size) > quint64(size_t(-1))) { q->setError(QFile::UnspecifiedError, qt_error_string(int(EINVAL))); return 0; } // If we know the mapping will extend beyond EOF, fail early to avoid // undefined behavior. Otherwise, let mmap have its say. if (doStat(QFileSystemMetaData::SizeAttribute) && (QT_OFF_T(size) > metaData.size() - QT_OFF_T(offset))) qWarning("QFSFileEngine::map: Mapping a file beyond its size is not portable"); int access = 0; if (openMode & QIODevice::ReadOnly) access |= PROT_READ; if (openMode & QIODevice::WriteOnly) access |= PROT_WRITE; #if defined(Q_OS_INTEGRITY) int pageSize = sysconf(_SC_PAGESIZE); #else int pageSize = getpagesize(); #endif int extra = offset % pageSize; if (quint64(size + extra) > quint64((size_t)-1)) { q->setError(QFile::UnspecifiedError, qt_error_string(int(EINVAL))); return 0; } size_t realSize = (size_t)size + extra; QT_OFF_T realOffset = QT_OFF_T(offset); realOffset &= ~(QT_OFF_T(pageSize - 1)); #ifdef QT_SYMBIAN_USE_NATIVE_FILEMAP TInt nativeMapError = KErrNone; RFileMap mapping; TUint mode(EFileMapRemovableMedia); TUint64 nativeOffset = offset & ~(mapping.PageSizeInBytes() - 1); //If the file was opened for write or read/write, then open the map for read/write if (openMode & QIODevice::WriteOnly) mode |= EFileMapWrite; if (symbianFile.SubSessionHandle()) { nativeMapError = mapping.Open(symbianFile, nativeOffset, size, mode); } else { //map file by name if we don't have a native handle QString fn = QFileSystemEngine::absoluteName(fileEntry).nativeFilePath(); TUint filemode = EFileShareReadersOrWriters | EFileRead; if (openMode & QIODevice::WriteOnly) filemode |= EFileWrite; nativeMapError = mapping.Open(qt_s60GetRFs(), qt_QString2TPtrC(fn), filemode, nativeOffset, size, mode); } if (nativeMapError == KErrNone) { QScopedResource<RFileMap> ptr(mapping); //will call Close if adding to mapping throws an exception uchar *address = mapping.Base() + (offset - nativeOffset); maps[address] = mapping; ptr.take(); return address; } QFile::FileError reportedError = QFile::UnspecifiedError; switch (nativeMapError) { case KErrAccessDenied: case KErrPermissionDenied: reportedError = QFile::PermissionsError; break; case KErrNoMemory: reportedError = QFile::ResourceError; break; } q->setError(reportedError, QSystemError(nativeMapError, QSystemError::NativeError).toString()); return 0; #else #ifdef Q_OS_SYMBIAN //older phones & emulator don't support native mapping, so need to keep the open C way around for those. void *mapAddress; TRAPD(err, mapAddress = QT_MMAP((void*)0, realSize, access, MAP_SHARED, getMapHandle(), realOffset)); if (err != KErrNone) { qWarning("OpenC bug: leave from mmap %d", err); mapAddress = MAP_FAILED; errno = EINVAL; } #else void *mapAddress = QT_MMAP((void*)0, realSize, access, MAP_SHARED, nativeHandle(), realOffset); #endif if (MAP_FAILED != mapAddress) { uchar *address = extra + static_cast<uchar*>(mapAddress); maps[address] = QPair<int,size_t>(extra, realSize); return address; } switch(errno) { case EBADF: q->setError(QFile::PermissionsError, qt_error_string(int(EACCES))); break; case ENFILE: case ENOMEM: q->setError(QFile::ResourceError, qt_error_string(int(errno))); break; case EINVAL: // size are out of bounds default: q->setError(QFile::UnspecifiedError, qt_error_string(int(errno))); break; } return 0; #endif }
void Minitel::graphicMode() { mode(GRAPHIC_MODE); }
restriction coming from the use of this file. (The General Public License restrictions do apply in other respects; for example, they cover modification of the file, and distribution when not linked into a combine executable.) GCC 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 GCC; see the file COPYING. If not, write to the Free Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. */ typedef int HItype __attribute__ ((mode (HI))); typedef unsigned int UHItype __attribute__ ((mode (HI))); typedef int SItype __attribute__ ((mode (SI))); typedef unsigned int USItype __attribute__ ((mode (SI))); typedef int word_type __attribute__ ((mode (__word__))); USItype udivmodsi4 (USItype num, USItype den, word_type modwanted); SItype __divsi3 (SItype a, SItype b); SItype __modsi3 (SItype a, SItype b); SItype __udivsi3 (SItype a, SItype b); SItype __umodsi3 (SItype a, SItype b); USItype udivmodsi4 (USItype num, USItype den, word_type modwanted) {
void Minitel::textMode() { mode(TEXT_MODE); }
static SkImageFilter* make_image_filter(bool canBeNull = true) { SkImageFilter* filter = 0; // Add a 1 in 3 chance to get a NULL input if (canBeNull && (R(3) == 1)) { return filter; } enum { ALPHA_THRESHOLD, BICUBIC, MERGE, COLOR, BLUR, MAGNIFIER, DOWN_SAMPLE, XFERMODE, OFFSET, MATRIX, MATRIX_CONVOLUTION, COMPOSE, DISTANT_LIGHT, POINT_LIGHT, SPOT_LIGHT, NOISE, DROP_SHADOW, MORPHOLOGY, BITMAP, DISPLACE, TILE, PICTURE, NUM_FILTERS }; switch (R(NUM_FILTERS)) { case ALPHA_THRESHOLD: filter = SkAlphaThresholdFilter::Create(make_region(), make_scalar(), make_scalar()); break; case BICUBIC: // Scale is set to 1 here so that it can fit in the DAG without resizing the output filter = SkBicubicImageFilter::CreateMitchell(SkSize::Make(1, 1), make_image_filter()); break; case MERGE: filter = SkMergeImageFilter::Create(make_image_filter(), make_image_filter(), make_xfermode()); break; case COLOR: { SkAutoTUnref<SkColorFilter> cf((R(2) == 1) ? SkColorFilter::CreateModeFilter(make_color(), make_xfermode()) : SkColorFilter::CreateLightingFilter(make_color(), make_color())); filter = cf.get() ? SkColorFilterImageFilter::Create(cf, make_image_filter()) : 0; } break; case BLUR: filter = SkBlurImageFilter::Create(make_scalar(true), make_scalar(true), make_image_filter()); break; case MAGNIFIER: filter = SkMagnifierImageFilter::Create(make_rect(), make_scalar(true)); break; case DOWN_SAMPLE: filter = SkDownSampleImageFilter::Create(make_scalar()); break; case XFERMODE: { SkAutoTUnref<SkXfermode> mode(SkXfermode::Create(make_xfermode())); filter = SkXfermodeImageFilter::Create(mode, make_image_filter(), make_image_filter()); } break; case OFFSET: filter = SkOffsetImageFilter::Create(make_scalar(), make_scalar(), make_image_filter()); break; case MATRIX: filter = SkMatrixImageFilter::Create(make_matrix(), (SkPaint::FilterLevel)R(4), make_image_filter()); break; case MATRIX_CONVOLUTION: { SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize), SkIntToScalar(kBitmapSize))); SkISize size = SkISize::Make(R(10)+1, R(10)+1); int arraySize = size.width() * size.height(); SkTArray<SkScalar> kernel(arraySize); for (int i = 0; i < arraySize; ++i) { kernel.push_back() = make_scalar(); } SkIPoint kernelOffset = SkIPoint::Make(R(SkIntToScalar(size.width())), R(SkIntToScalar(size.height()))); filter = SkMatrixConvolutionImageFilter::Create(size, kernel.begin(), make_scalar(), make_scalar(), kernelOffset, (SkMatrixConvolutionImageFilter::TileMode)R(3), R(2) == 1, make_image_filter(), &cropR); } break; case COMPOSE: filter = SkComposeImageFilter::Create(make_image_filter(), make_image_filter()); break; case DISTANT_LIGHT: filter = (R(2) == 1) ? SkLightingImageFilter::CreateDistantLitDiffuse(make_point(), make_color(), make_scalar(), make_scalar(), make_image_filter()) : SkLightingImageFilter::CreateDistantLitSpecular(make_point(), make_color(), make_scalar(), make_scalar(), SkIntToScalar(R(10)), make_image_filter()); break; case POINT_LIGHT: filter = (R(2) == 1) ? SkLightingImageFilter::CreatePointLitDiffuse(make_point(), make_color(), make_scalar(), make_scalar(), make_image_filter()) : SkLightingImageFilter::CreatePointLitSpecular(make_point(), make_color(), make_scalar(), make_scalar(), SkIntToScalar(R(10)), make_image_filter()); break; case SPOT_LIGHT: filter = (R(2) == 1) ? SkLightingImageFilter::CreateSpotLitDiffuse(SkPoint3(0, 0, 0), make_point(), make_scalar(), make_scalar(), make_color(), make_scalar(), make_scalar(), make_image_filter()) : SkLightingImageFilter::CreateSpotLitSpecular(SkPoint3(0, 0, 0), make_point(), make_scalar(), make_scalar(), make_color(), make_scalar(), make_scalar(), SkIntToScalar(R(10)), make_image_filter()); break; case NOISE: { SkAutoTUnref<SkShader> shader((R(2) == 1) ? SkPerlinNoiseShader::CreateFractalNoise( make_scalar(true), make_scalar(true), R(10.0f), make_scalar()) : SkPerlinNoiseShader::CreateTurbulence( make_scalar(true), make_scalar(true), R(10.0f), make_scalar())); SkImageFilter::CropRect cropR(SkRect::MakeWH(SkIntToScalar(kBitmapSize), SkIntToScalar(kBitmapSize))); filter = SkRectShaderImageFilter::Create(shader, &cropR); } break; case DROP_SHADOW: filter = SkDropShadowImageFilter::Create(make_scalar(), make_scalar(), make_scalar(true), make_color(), make_image_filter()); break; case MORPHOLOGY: if (R(2) == 1) { filter = SkDilateImageFilter::Create(R(static_cast<float>(kBitmapSize)), R(static_cast<float>(kBitmapSize)), make_image_filter()); } else { filter = SkErodeImageFilter::Create(R(static_cast<float>(kBitmapSize)), R(static_cast<float>(kBitmapSize)), make_image_filter()); } break; case BITMAP: if (R(2) == 1) { filter = SkBitmapSource::Create(make_bitmap(), make_rect(), make_rect()); } else { filter = SkBitmapSource::Create(make_bitmap()); } break; case DISPLACE: filter = SkDisplacementMapEffect::Create(make_channel_selector_type(), make_channel_selector_type(), make_scalar(), make_image_filter(false), make_image_filter()); break; case TILE: filter = SkTileImageFilter::Create(make_rect(), make_rect(), make_image_filter(false)); break; case PICTURE: { SkRTreeFactory factory; SkPictureRecorder recorder; SkCanvas* recordingCanvas = recorder.beginRecording(kBitmapSize, kBitmapSize, &factory, 0); drawSomething(recordingCanvas); SkAutoTUnref<SkPicture> pict(recorder.endRecording()); filter = SkPictureImageFilter::Create(pict.get(), make_rect()); } break; default: break; } return (filter || canBeNull) ? filter : make_image_filter(canBeNull); }
static void constraints() { typedef typename Distribution::value_type value_type; const Distribution& dist = DistributionConcept<Distribution>::get_object(); value_type x = 0; // The result values are ignored in all these checks. check_result<value_type>(cdf(dist, x)); check_result<value_type>(cdf(complement(dist, x))); check_result<value_type>(pdf(dist, x)); check_result<value_type>(quantile(dist, x)); check_result<value_type>(quantile(complement(dist, x))); check_result<value_type>(mean(dist)); check_result<value_type>(mode(dist)); check_result<value_type>(standard_deviation(dist)); check_result<value_type>(variance(dist)); check_result<value_type>(hazard(dist, x)); check_result<value_type>(chf(dist, x)); check_result<value_type>(coefficient_of_variation(dist)); check_result<value_type>(skewness(dist)); check_result<value_type>(kurtosis(dist)); check_result<value_type>(kurtosis_excess(dist)); check_result<value_type>(median(dist)); // // we can't actually test that at std::pair is returned from these // because that would mean including some std lib headers.... // range(dist); support(dist); check_result<value_type>(cdf(dist, f)); check_result<value_type>(cdf(complement(dist, f))); check_result<value_type>(pdf(dist, f)); check_result<value_type>(quantile(dist, f)); check_result<value_type>(quantile(complement(dist, f))); check_result<value_type>(hazard(dist, f)); check_result<value_type>(chf(dist, f)); check_result<value_type>(cdf(dist, d)); check_result<value_type>(cdf(complement(dist, d))); check_result<value_type>(pdf(dist, d)); check_result<value_type>(quantile(dist, d)); check_result<value_type>(quantile(complement(dist, d))); check_result<value_type>(hazard(dist, d)); check_result<value_type>(chf(dist, d)); check_result<value_type>(cdf(dist, l)); check_result<value_type>(cdf(complement(dist, l))); check_result<value_type>(pdf(dist, l)); check_result<value_type>(quantile(dist, l)); check_result<value_type>(quantile(complement(dist, l))); check_result<value_type>(hazard(dist, l)); check_result<value_type>(chf(dist, l)); check_result<value_type>(cdf(dist, i)); check_result<value_type>(cdf(complement(dist, i))); check_result<value_type>(pdf(dist, i)); check_result<value_type>(quantile(dist, i)); check_result<value_type>(quantile(complement(dist, i))); check_result<value_type>(hazard(dist, i)); check_result<value_type>(chf(dist, i)); unsigned long li = 1; check_result<value_type>(cdf(dist, li)); check_result<value_type>(cdf(complement(dist, li))); check_result<value_type>(pdf(dist, li)); check_result<value_type>(quantile(dist, li)); check_result<value_type>(quantile(complement(dist, li))); check_result<value_type>(hazard(dist, li)); check_result<value_type>(chf(dist, li)); }
void MIDIDevice::writeRange(t_value* values, t_channel num) { Q_UNUSED(num); MIDIOut* plugin = static_cast<MIDIOut*> (parent()); Q_ASSERT(plugin != NULL); Q_ASSERT(plugin->alsa() != NULL); Q_ASSERT(m_address != NULL); /* Setup a common event structure for all values */ snd_seq_event_t ev; snd_seq_ev_clear(&ev); snd_seq_ev_set_dest(&ev, m_address->client, m_address->port); snd_seq_ev_set_subs(&ev); snd_seq_ev_set_direct(&ev); /* Since MIDI devices can have only 128 real channels, we don't attempt to write more than that */ for (unsigned char channel = 0; channel < MAX_MIDI_DMX_CHANNELS; channel++) { /* Scale 0-255 to 0-127 */ char scaled = static_cast <char> (SCALE(double(values[channel]), double(0), double(KInputValueMax), double(0), double(127))); /* Since MIDI is so slow, we only send values that are actually changed. */ if (m_values[channel] == scaled) continue; /* Store the changed MIDI value */ m_values[channel] = scaled; if (mode() == Note) { if (scaled == 0) { /* 0 is sent as a note off command */ snd_seq_ev_set_noteoff(&ev, midiChannel(), channel, scaled); } else { /* 1-127 is sent as note on command */ snd_seq_ev_set_noteon(&ev, midiChannel(), channel, scaled); } snd_seq_event_output(plugin->alsa(), &ev); } else { /* Control change */ snd_seq_ev_set_controller(&ev, midiChannel(), channel, scaled); snd_seq_event_output_buffer(plugin->alsa(), &ev); } } /* Make sure that all values go to the MIDI endpoint */ snd_seq_drain_output(plugin->alsa()); }
#ifdef VMS /* * For VMS, gsocket.h can't include sockets-related DEC C header files * when building the runtime (because these files are in a DEC C text library * (DECC$RTLDEF.TLB) not accessable to GCC). So, we generate a separate header * file along with s-oscons.ads and include it here. */ # include "s-oscons.h" /* * We also need the declaration of struct hostent/servent, which s-oscons * can't provide, so we copy it manually here. This needs to be kept in synch * with the definition of that structure in the DEC C headers, which * hopefully won't change frequently. */ typedef char *__netdb_char_ptr __attribute__ (( mode (SI) )); typedef __netdb_char_ptr *__netdb_char_ptr_ptr __attribute__ (( mode (SI) )); struct hostent { __netdb_char_ptr h_name; __netdb_char_ptr_ptr h_aliases; int h_addrtype; int h_length; __netdb_char_ptr_ptr h_addr_list; }; struct servent { __netdb_char_ptr s_name; __netdb_char_ptr_ptr s_aliases; int s_port; __netdb_char_ptr s_proto;
void App::onResize() { sf::VideoMode mode(window.getSize().x, window.getSize().y); validateVideoMode(mode); window.setSize(sf::Vector2u(mode.width, mode.height)); }
/* Spurious uninitialized variable warning, inspired by libgcc2.c. */ /* { dg-do compile } */ /* { dg-options "-O -Wuninitialized" } */ /* Not all platforms support TImode integers. */ #if (defined(__LP64__) && !defined(__hppa__)) || defined(__SPU__) typedef int TItype __attribute__ ((mode (TI))); #else typedef long TItype; #endif TItype __subvdi3 (TItype a, TItype b) { TItype w; w = a - b; return w; }
#include <stdlib.h> // for prototypes of malloc() and free() extern "C" { // ------------------------------------------------------------------------ void* __dso_handle = (void *) &__dso_handle; void __cxa_pure_virtual() { // put error handling here } // ------------------------------------------------------------------------ __extension__ typedef int __guard __attribute__((mode (__DI__))); int __cxa_guard_acquire(__guard *g) { return !*(char *)(g); } void __cxa_guard_release (__guard *g) { *(char *) g = 1; } void __cxa_guard_abort (__guard *)
void Key::debugDump() { printf("Key %d type %d size %d mode=0x%x dir=0x%x ACL %s\n", keyNum, keyType, keySize, mode(), operations(), acl().form('u').c_str()); }
RenderingDialog::RenderingDialog(Project_sV *project, QWidget *parent) : QDialog(parent), ui(new Ui::RenderingDialog), m_project(project) { ui->setupUi(this); // Render section m_sectionGroup = new QButtonGroup(this); m_sectionGroup->addButton(ui->radioFullProject); m_sectionGroup->addButton(ui->radioSection); m_sectionGroup->addButton(ui->radioTagSection); QString mode(m_project->preferences()->renderSectionMode()); if (mode == "full") { ui->radioFullProject->setChecked(true); } else if (mode == "expr") { ui->radioSection->setChecked(true); } else if (mode == "tags") { ui->radioTagSection->setChecked(true); } else { qDebug() << "Unknown render section mode: " << mode; Q_ASSERT(false); } // Optical flow ui->lambda->setValue(m_project->preferences()->flowV3DLambda()); // Motion blur ui->maxSamples->setValue(m_project->motionBlur()->maxSamples()); ui->slowmoSamples->setValue(m_project->motionBlur()->slowmoSamples()); m_blurGroup = new QButtonGroup(this); m_blurGroup->addButton(ui->radioBlurConvolution); m_blurGroup->addButton(ui->radioBlurStacking); m_blurGroup->addButton(ui->radioBlurNearest); if (m_project->preferences()->renderMotionblurType() == MotionblurType_Convolving) { ui->radioBlurConvolution->setChecked(true); } else if (m_project->preferences()->renderMotionblurType() == MotionblurType_Stacking) { ui->radioBlurStacking->setChecked(true); } else { ui->radioBlurNearest->setChecked(true); } fillTagLists(); // Output target type m_targetGroup = new QButtonGroup(this); m_targetGroup->addButton(ui->radioImages); m_targetGroup->addButton(ui->radioVideo); if (m_project->preferences()->renderTarget() == "images") { ui->radioImages->setChecked(true); } else { ui->radioVideo->setChecked(true); } // Output target files ui->imagesOutputDir->setText(m_project->preferences()->imagesOutputDir()); ui->imagesFilenamePattern->setText(m_project->preferences()->imagesFilenamePattern()); ui->videoOutputFile->setText(m_project->preferences()->videoFilename()); ui->vcodec->setText(m_project->preferences()->videoCodec()); // FPS QString fps = QVariant(m_project->preferences()->renderFPS().fps()).toString(); if (ui->cbFps->findText(fps) < 0 && fps.toFloat() > 0) { ui->cbFps->addItem(fps); } ui->cbFps->setCurrentIndex(ui->cbFps->findText(fps)); // Output size ui->cbSize->addItem("Original size", QVariant(FrameSize_Orig)); ui->cbSize->addItem("Small", QVariant(FrameSize_Small)); ui->cbSize->setCurrentIndex(ui->cbSize->findData(QVariant(m_project->preferences()->renderFrameSize()))); // Interpolation type ui->cbInterpolation->addItem(toString(InterpolationType_Forward), QVariant(InterpolationType_Forward)); ui->cbInterpolation->addItem(toString(InterpolationType_ForwardNew), QVariant(InterpolationType_ForwardNew)); ui->cbInterpolation->addItem(toString(InterpolationType_Twoway), QVariant(InterpolationType_Twoway)); ui->cbInterpolation->addItem(toString(InterpolationType_TwowayNew), QVariant(InterpolationType_TwowayNew)); ui->cbInterpolation->addItem(toString(InterpolationType_Bezier), QVariant(InterpolationType_Bezier)); if (ui->cbInterpolation->findData(QVariant(m_project->preferences()->renderInterpolationType())) >= 0) { ui->cbInterpolation->setCurrentIndex(ui->cbInterpolation->findData(QVariant(m_project->preferences()->renderInterpolationType()))); } bool b = true; b &= connect(m_targetGroup, SIGNAL(buttonClicked(int)), this, SLOT(slotUpdateRenderTarget())); b &= connect(m_sectionGroup, SIGNAL(buttonClicked(int)), this, SLOT(slotSectionModeChanged())); b &= connect(ui->timeStart, SIGNAL(textChanged(QString)), this, SLOT(slotValidate())); b &= connect(ui->timeEnd, SIGNAL(textChanged(QString)), this, SLOT(slotValidate())); b &= connect(ui->cbStartTag, SIGNAL(currentIndexChanged(int)), this, SLOT(slotTagIndexChanged())); b &= connect(ui->cbEndTag, SIGNAL(currentIndexChanged(int)), this, SLOT(slotTagIndexChanged())); b &= connect(ui->bAbort, SIGNAL(clicked()), this, SLOT(reject())); b &= connect(ui->bOk, SIGNAL(clicked()), this, SLOT(accept())); b &= connect(ui->bSave, SIGNAL(clicked()), this, SLOT(slotSaveSettings())); b &= connect(ui->cbFps, SIGNAL(editTextChanged(QString)), this, SLOT(slotValidate())); b &= connect(ui->imagesOutputDir, SIGNAL(textChanged(QString)), this, SLOT(slotValidate())); b &= connect(ui->imagesFilenamePattern, SIGNAL(textChanged(QString)), this, SLOT(slotValidate())); b &= connect(ui->videoOutputFile, SIGNAL(textChanged(QString)), this, SLOT(slotValidate())); b &= connect(ui->bImagesBrowseDir, SIGNAL(clicked()), this, SLOT(slotBrowseImagesDir())); b &= connect(ui->bBrowseVideoOutputFile, SIGNAL(clicked()), this, SLOT(slotBrowseVideoFile())); Q_ASSERT(b); // Restore rendering start/end int index; index = ui->cbStartTag->findText(m_project->preferences()->renderStartTag()); if (index >= 0) { ui->cbStartTag->setCurrentIndex(index); } index = ui->cbEndTag->findText(m_project->preferences()->renderEndTag()); if (index >= 0) { ui->cbEndTag->setCurrentIndex(index); } if (m_project->preferences()->renderStartTime().length() > 0) { ui->timeStart->setText(m_project->preferences()->renderStartTime()); } if (m_project->preferences()->renderEndTime().length() > 0) { ui->timeEnd->setText(m_project->preferences()->renderEndTime()); } #if QT_VERSION >= 0x040700 ui->timeStart->setPlaceholderText(QVariant(m_project->nodes()->startTime()).toString()); ui->timeEnd->setPlaceholderText(QVariant(m_project->nodes()->endTime()).toString()); #endif slotUpdateRenderTarget(); slotSectionModeChanged(); }
// --------------------------------------------------------------------------- // CAOGpds::SetAlwaysOnModeL // --------------------------------------------------------------------------- // void CAOGpds::SetAlwaysOnModeL( TAlwaysOnMode aMode ) { LOG_2( _L("CAOGpds::SetAlwaysOnModeL: aMode: %d"), aMode ); if ( IsActive() ) { return; } #ifdef __WINS__ aMode = aMode; iStatus = KRequestPending; SetActive(); TRequestStatus* status = &iStatus; User::RequestComplete( status, KErrNone ); if( !iWait->IsStarted() ) { iWait->Start(); } #else RMmCustomAPI::TSetAlwaysOnMode mode( RMmCustomAPI::EAlwaysModeNeither ); switch ( aMode ) { case EHPLMN: { mode = RMmCustomAPI::EAlwaysModeHPLMN; break; } case EVPLMN: { mode = RMmCustomAPI::EAlwaysModeVPLMN; break; } case EBoth: { mode = RMmCustomAPI::EAlwaysModeBoth; break; } case ENeither: { mode = RMmCustomAPI::EAlwaysModeNeither; break; } default: { mode = RMmCustomAPI::EAlwaysModeNeither; break; } } // Wait here until request has completed iCustomAPI.SetAlwaysOn( iStatus, mode ); LOG_2( _L("iCustomAPI.SetAlwaysOn: mode: %d"), mode ); SetActive(); if( !iWait->IsStarted() ) { iWait->Start(); } LOG_2( _L("iCustomAPI.SetAlwaysOn: iStatus: %d"), iStatus.Int() ); #endif // __WINS__ }