How to use in class

Best Quick code snippet using in

AWSMobileClient.swift

Source:AWSMobileClient.swift Github

copy

Full Screen

1//2// Copyright 2017-2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.3//4// Licensed under the Apache License, Version 2.0 (the "License").5// You may not use this file except in compliance with the License.6// A copy of the License is located at7//8// http://aws.amazon.com/apache2.09//10// or in the "license" file accompanying this file. This file is distributed11// on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either12// express or implied. See the License for the specific language governing13// permissions and limitations under the License.14//15//  AWSMobileClientSwift.swift16//  AWSMobileClient17//18import Foundation19/// Indicates the user state.20///21/// - signedIn: The user is signed in through Cognito User Pools or a federation provider like Google, Facebook, etc.22/// - signedOut: The user is signed out and does not have guest access.23/// - signedOutFederatedTokensInvalid: The tokens associated with the federation provider like Google or Facebook have expired and need to re-submitted to `AWSMobileClient`. You can do that by calling the `federatedSignIn` method or by showing the drop in UI. If the end user is unable to sign in, call `releaseSignInWait` method to return an error to the calling API.24/// - signedOutUserPoolsTokenInvalid: The Cognito User Pools tokens have expired and the end-user needs to sign in again. You can complete the sign in process using the `signIn` method or by showing the drop in UI. If the end user is unable to sign in, call `releaseSignInWait` method to return an error to the calling API.25/// - guest: The user is signed out, but has guest access in the app.26/// - unknown: The initial user state before `AWSMobileClient` is initialized.27public enum UserState: String {28    case signedIn, signedOut, signedOutFederatedTokensInvalid, signedOutUserPoolsTokenInvalid, guest, unknown29}30/// Callback type when registered to notifications for change in `UserState`. The dictionary contains information like `provider` which the user signed in with.31public typealias UserStateChangeCallback = (UserState, [String: String]) -> Void32/// Internal type to track what type of federation is active.33enum FederationProvider {34    case none, userPools, oidcFederation35}36/// The options object for drop-in UI which allows changing properties like logo image and background color.37@objc public class SignInUIOptions: NSObject {38    39    /// If true, the end user can cancel the sign-in operation and go back to previous view controller.40    @objc public let canCancel: Bool41    /// The logo image to be displayed on the sign-in screen.42    @objc public let logoImage: UIImage?43    /// The background color of the sign-in screen.44    @objc public let backgroundColor: UIColor?45    46    47    /// Initializer for the drop-in UI configuration.48    ///49    /// - Parameters:50    ///   - canCancel: If set to true, the end user can cancel the sign-in operation and go back to previous view controller.51    ///   - logoImage: The logo image to be displayed on the sign-in screen.52    ///   - backgroundColor: The background color of the sign-in screen.53    @objc public init(canCancel: Bool = false,logoImage: UIImage? = nil, backgroundColor: UIColor? = nil) {54        self.canCancel = canCancel55        self.logoImage = logoImage56        self.backgroundColor = backgroundColor57    }58}59/// `AWSMobileClient` is used for all auth related operations when your app is accessing AWS backend.60public class AWSMobileClient: _AWSMobileClient {61    62    static var _sharedInstance: AWSMobileClient = AWSMobileClient(setDelegate: true)63    64    // MARK: Feature availability variables65    66    /// Determines if there is any Cognito Identity Pool available to federate against it.67    internal var isAuthorizationAvailable: Bool = false68    69    /// Should be set to true if using AWSAuthUI / AWSIdentityManager-AWSSignInManager70    internal var operateInLegacyMode: Bool = false71    72    // MARK: State handler variables73    74    var federationProvider: FederationProvider = .none75    var cachedLoginsMap: [String: String] = [:]76    /// Internal variable used to make sure AWSMobileClient is initialized only once.77    internal var isInitialized: Bool = false78    79    80    // MARK: Execution Helpers (DispatchQueue, OperationQueue, DispatchGroup)81    82    // Internal DispatchQueue which will be used synchronously to initialize the AWSMobileClient.83    internal let initializationQueue = DispatchQueue(label: "awsmobileclient.credentials.fetch")84    85    /// Operation Queue to make sure there is only 1 active API call which is fetching/ waiting for UserPools token.86    lazy var tokenFetchOperationQueue: OperationQueue = {87        var queue = OperationQueue()88        queue.name = "AWSMobileClient.tokenFetchOperationQueue"89        queue.maxConcurrentOperationCount = 190        return queue91    }()92    internal let tokenFetchLock = DispatchGroup()93    94    /// Operation Queue to make sure there is only 1 active API call which is fetching/ waiting for AWS Credentials.95    internal let credentialsFetchOperationQueue: OperationQueue = {96        var queue = OperationQueue()97        queue.name = "AWSMobileClient.credentialsFetchOperationQueue"98        queue.maxConcurrentOperationCount = 199        return queue100    }()101    internal let credentialsFetchLock = DispatchGroup()102    103    // MARK: AWSMobileClient helpers104    105    let ProviderKey: String = "provider"106    let TokenKey: String = "token"107    108    /// The internal Cognito Credentials Provider109    var internalCredentialsProvider: AWSCognitoCredentialsProvider?110    111    internal var pendingAWSCredentialsCompletion: ((AWSCredentials?, Error?) -> Void)? = nil112    113    var keychain: AWSUICKeyChainStore = AWSUICKeyChainStore.init(service: "\(String(describing: Bundle.main.bundleIdentifier)).AWSMobileClient")114    115    /// The registered listeners who want to observe change in `UserState`.116    var listeners: [(AnyObject, UserStateChangeCallback)] = []117    118    119    // MARK: Public API variables120    121    /// Returns the current state of user. If MobileClient is not initialized, it will return `unknown`122    public var currentUserState: UserState = .unknown123    124    125    /// Returns the username of the logged in user, nil otherwise.126    public var username: String? {127        return self.userpoolOpsHelper.currentActiveUser?.username128    }129    130    131    /// The identity id associated with this provider. This value will be fetched from the keychain at startup. If you do not want to reuse the existing identity id, you must call the clearKeychain method. If the identityId is not fetched yet, it will return nil. Use `getIdentityId()` method to force a server fetch when identityId is not available.132    override public var identityId: String? {133        return self.internalCredentialsProvider?.identityId134    }135    136    @objc override public func interceptApplication(_ application: UIApplication, open url: URL, sourceApplication: String?, annotation: Any) -> Bool {137        return _AWSMobileClient.sharedInstance().interceptApplication(application, open: url, sourceApplication: sourceApplication, annotation: annotation)138    }139    140    /// Returns true if there is a user currently signed in.141    @objc public var isSignedIn: Bool {142        get {143            if (operateInLegacyMode) {144                return _AWSMobileClient.sharedInstance().isLoggedIn145            } else {146                return self.cachedLoginsMap.count > 0147            }148        }149    }150    151    152    /// The singleton instance of `AWSMobileClient`.153    ///154    /// - Returns: The singleton `AWSMobileClient` instance.155    @objc override public class func sharedInstance() -> AWSMobileClient {156        return _sharedInstance157    }158    159    160    /// Initializes `AWSMobileClient` and determines the `UserState` for current user using cache.161    ///162    /// - Parameter completionHandler: Callback which describes current user's state.163    public func initialize(_ completionHandler: @escaping (UserState?, Error?) -> Void) {164        // Read awsconfiguration.json and set the credentials provider here165        initializationQueue.sync {166            167            if (operateInLegacyMode) {168                completionHandler(nil, AWSMobileClientError.invalidState(message: "The AWSMobileClient is being used in the legacy mode. To use this initialize method please refer to the documentation."))169                return170            }171            172            if (isInitialized) {173                completionHandler(self.currentUserState, nil)174                return175            }176            177            self.loadLoginsMapFromKeychain()178            if self.cachedLoginsMap.count > 0 {179                if self.userPoolClient?.currentUser()?.isSignedIn == true {180                    self.federationProvider = .userPools181                } else {182                    self.federationProvider = .oidcFederation183                }184            }185            186            let infoObject = AWSInfo.default().defaultServiceInfo("IdentityManager")187            if let credentialsProvider = infoObject?.cognitoCredentialsProvider {188                189                self.isAuthorizationAvailable = true190                self.internalCredentialsProvider = credentialsProvider191                _AWSMobileClient.sharedInstance().update(self)192                self.internalCredentialsProvider?.setIdentityProviderManagerOnce(self)193                _AWSMobileClient.sharedInstance().registerConfigSignInProviders()194                195               if (self.internalCredentialsProvider?.identityId != nil) {196                    if (federationProvider == .none) {197                        currentUserState = .guest198                        completionHandler(.guest, nil)199                    } else {200                        currentUserState = .signedIn201                        completionHandler(.signedIn, nil)202                    }203               } else  if (self.cachedLoginsMap.count > 0) {204                currentUserState = .signedIn205                completionHandler(.signedIn, nil)206               } else {207                    currentUserState = .signedOut208                    completionHandler(.signedOut, nil)209                }210            } else if self.cachedLoginsMap.count > 0 {211                currentUserState = .signedIn212                completionHandler(.signedIn, nil)213            } else {214                currentUserState = .signedOut215                completionHandler(.signedOut, nil)216            }217            isInitialized = true218        }219    }220    221    222    /// Adds a listener who receives notifications on user state change.223    ///224    /// - Parameters:225    ///   - object: The object who intends to receive notification. A strong reference is held to the object and the developer is required to call `removeUserStateListener` to stop getting notifications and release the object.226    ///   - callback: Callback describing the new user state.227    public func addUserStateListener(_ object: AnyObject, _ callback: @escaping UserStateChangeCallback)  {228        listeners.append((object, callback))229    }230    231    232    /// Removes a registered listener. If no listener exists, call is ignored.233    ///234    /// - Parameter object: The object to be de-registered from receiving notifications.235    public func removeUserStateListener(_ object: AnyObject) {236         listeners = listeners.filter { return !($0.0 === object)}237    }238    239    internal func mobileClientStatusChanged(userState: UserState, additionalInfo: [String: String]) {240        self.currentUserState = userState241        for listener in listeners {242            listener.1(userState, additionalInfo)243        }244    }245    246    247    /// Shows a fully managed sign in screen which allows users to sign up and sign in.248    ///249    /// - Parameters:250    ///   - navigationController: The navigation controller which would act as the anchor for this UI.251    ///   - signInUIOptions: The options object which allows changing logo, background color and if the user can cancel the sign in operation.252    ///   - completionHandler: The completion handler to be called when user finishes the sign in action.253    public func showSignIn(navigationController: UINavigationController, signInUIOptions: SignInUIOptions = SignInUIOptions(), _ completionHandler: @escaping(UserState?, Error?) -> Void) {254        255        switch self.currentUserState {256        case .signedIn:257            completionHandler(nil, AWSMobileClientError.invalidState(message: "There is already a user which is signed in. Please log out the user before calling showSignIn."))258            return259        default:260            break261        }262        263        _AWSMobileClient.sharedInstance().showSign(inScreen: navigationController, signInUIConfiguration: signInUIOptions, completionHandler: { providerName, token, error in264            if error == nil {265                if (providerName == "graph.facebook.com") || (providerName == "accounts.googgle.com") {266                    self.federatedSignIn(providerName: providerName!, token: token!, completionHandler: completionHandler)267                } else {268                    self.currentUser?.getSession().continueWith(block: { (task) -> Any? in269                        if let session = task.result {270                            self.performUserPoolSuccessfulSignInTasks(session: session)271                            completionHandler(.signedIn, nil)272                        } else {273                            completionHandler(nil, task.error)274                        }275                        return nil276                    })277                }278            } else {279                if ((error! as NSError).domain == "AWSMobileClientError") {280                    if error!._code == -1 {281                        completionHandler(nil, AWSMobileClientError.invalidState(message: "AWSAuthUI dependency is required to show the signIn screen. Please import the dependency before using this API."))282                        return283                    } else if error!._code == -2 {284                        completionHandler(nil, AWSMobileClientError.userCancelledSignIn(message: "The user cancelled the sign in operation."))285                        return286                    }287                }288                completionHandler(nil, error)289            }290        })291    }292}293// MARK: Inherited methods from AWSCognitoCredentialsProvider294extension AWSMobileClient {295    296    297    /// Asynchronously returns a valid AWS credentials or an error object if it cannot retrieve valid credentials. It should cache valid credentials as much as possible and refresh them when they are invalid.298    ///299    /// - Returns: A valid AWS credentials or an error object describing the error.300    override public func credentials() -> AWSTask<AWSCredentials> {301        let credentialsTaskCompletionSource: AWSTaskCompletionSource<AWSCredentials> = AWSTaskCompletionSource()302        303        self.getAWSCredentials { (credentials, error) in304            if let credentials = credentials {305                credentialsTaskCompletionSource.set(result: credentials)306            } else if let error = error {307                credentialsTaskCompletionSource.set(error: error)308            }309        }310        return credentialsTaskCompletionSource.task311    }312    313    314    /// Invalidates the cached temporary AWS credentials. If the credentials provider does not cache temporary credentials, this operation is a no-op.315    override public func invalidateCachedTemporaryCredentials() {316        self.internalCredentialsProvider?.invalidateCachedTemporaryCredentials()317    }318    319    320    /// Get/retrieve the identity id for this provider. If an identity id is already set on this provider, no remote call is made and the identity will be returned as a result of the AWSTask (the identityId is also available as a property). If no identityId is set on this provider, one will be retrieved from the service.321    ///322    /// - Returns: Asynchronous task which contains the identity id or error.323    override public func getIdentityId() -> AWSTask<NSString> {324        guard self.internalCredentialsProvider != nil else {325            return AWSTask(error: AWSMobileClientError.cognitoIdentityPoolNotConfigured(message: "Cannot get identityId since cognito credentials configuration is not available."))326        }327        let identityFetchTaskCompletionSource: AWSTaskCompletionSource<NSString> = AWSTaskCompletionSource()328        self.internalCredentialsProvider?.getIdentityId().continueWith(block: { (task) -> Any? in329            if let error = task.error {330                if error._domain == AWSCognitoCredentialsProviderHelperErrorDomain331                    && error._code == AWSCognitoCredentialsProviderHelperErrorType.identityIsNil.rawValue {332                    identityFetchTaskCompletionSource.set(error: AWSMobileClientError.identityIdUnavailable(message: "Fetching identity id on another thread failed. Please retry by calling `getIdentityId()` method."))333                } else {334                    identityFetchTaskCompletionSource.set(error: error)335                }336            } else if let result = task.result {337                identityFetchTaskCompletionSource.set(result: result)338            }339            return nil340        })341        342        return identityFetchTaskCompletionSource.task343    }344    345    346    /// Clear the cached AWS credentials for this provider.347    override public func clearCredentials() {348        self.internalCredentialsProvider?.clearCredentials()349    }350    351    352    /// Clear ALL saved values for this provider (identityId, credentials, logins).353    override public func clearKeychain() {354        self.internalCredentialsProvider?.clearKeychain()355    }356    357}358// MARK: Deprecated AWSMobileClient methods359extension AWSMobileClient {360    361    @available(*, deprecated: 2.7, message: "This method will be removed in the next minor version. Please update to use AWSMobileClient using `initialize`. Please visit https://aws-amplify.github.io for the latest iOS documentation.")362    override public func interceptApplication(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [AnyHashable : Any]? = nil) -> Bool {363        return _AWSMobileClient.sharedInstance().interceptApplication(application, didFinishLaunchingWithOptions: launchOptions)364    }365    366    @available(*, deprecated: 2.7, message: "This method will be removed in the next minor version. Please update to use AWSMobileClient using `initialize`. Please visit https://aws-amplify.github.io for the latest iOS documentation.")367    @objc override public func interceptApplication(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [AnyHashable : Any]? = nil, resumeSessionWithCompletionHandler completionHandler: @escaping (Any, Error) -> Void) -> Bool {368        operateInLegacyMode = true369        return _AWSMobileClient.sharedInstance().interceptApplication(application,370                                                                      didFinishLaunchingWithOptions: launchOptions,371                                                                      resumeSessionWithCompletionHandler: completionHandler)372    }373    374    @available(*, deprecated: 2.7, message: "This method will be removed in the next minor version. Please update to use AWSMobileClient in the updated manner. Please visit https://aws-amplify.github.io for the latest iOS documentation")375    @objc override public func setSignInProviders(_ signInProviderConfig: [AWSSignInProviderConfig]?) {376        _AWSMobileClient.sharedInstance().setSignInProviders(signInProviderConfig)377    }378    379    /// Get the credentials provider object which provides `AWSCredentials`.380    ///381    /// - Returns: An object which implements `AWSCredentialsProvider`.382    @available(*, deprecated: 2.7, message: "This method will be removed in the next minor version. AWSMobileClient itself is a credentials provider now and should be passed directly where required. Please visit https://aws-amplify.github.io for the latest iOS documentation.")383    @objc override public func getCredentialsProvider() -> AWSCognitoCredentialsProvider {384        if (operateInLegacyMode) {385            return _AWSMobileClient.sharedInstance().getCredentialsProvider()386        } else {387            return self388        }389    }390    391}...

Full Screen

Full Screen

tempnam_variation4-1.phpt

Source:tempnam_variation4-1.phpt Github

copy

Full Screen

2Test tempnam() function: usage variations - permissions(0351 to 0777) of dir3--SKIPIF--4<?php5if (substr(PHP_OS, 0, 3) == 'WIN') {6    die('skip Not valid for Windows');7}8require __DIR__ . '/../skipif_root.inc';9?>10--FILE--11<?php12/* Trying to create the file in a dir with permissions from 0351 to 0777,13     Allowable permissions: files are expected to be created in the input dir14     Non-allowable permissions: files are expected to be created in '/tmp' dir15*/16echo "*** Testing tempnam() with dir of permissions from 0351 to 0777 ***\n";17$file_path = __DIR__;18$dir_name = $file_path."/tempnam_variation4-1";19$prefix = "tempnamVar4.";20mkdir($dir_name);21for($mode = 0351; $mode <= 0777; $mode++) {22  chmod($dir_name, $mode);23  $file_name = tempnam($dir_name, $prefix);24  if(file_exists($file_name) ) {25    if (dirname($file_name) != $dir_name) {26      /* Either there's a notice or error */27       printf("%o\n", $mode);28      if (realpath(dirname($file_name)) != realpath(sys_get_temp_dir())) {29         echo " created in unexpected dir\n";30      }31    }32    unlink($file_name);33  }34  else {35    print("FAILED: File is not created\n");36  }37}38rmdir($dir_name);39echo "*** Done ***\n";40?>41--EXPECTF--42*** Testing tempnam() with dir of permissions from 0351 to 0777 ***43Notice: tempnam(): file created in the system's temporary directory in %s on line %d4440045Notice: tempnam(): file created in the system's temporary directory in %s on line %d4640147Notice: tempnam(): file created in the system's temporary directory in %s on line %d4840249Notice: tempnam(): file created in the system's temporary directory in %s on line %d5040351Notice: tempnam(): file created in the system's temporary directory in %s on line %d5240453Notice: tempnam(): file created in the system's temporary directory in %s on line %d5440555Notice: tempnam(): file created in the system's temporary directory in %s on line %d5640657Notice: tempnam(): file created in the system's temporary directory in %s on line %d5840759Notice: tempnam(): file created in the system's temporary directory in %s on line %d6041061Notice: tempnam(): file created in the system's temporary directory in %s on line %d6241163Notice: tempnam(): file created in the system's temporary directory in %s on line %d6441265Notice: tempnam(): file created in the system's temporary directory in %s on line %d6641367Notice: tempnam(): file created in the system's temporary directory in %s on line %d6841469Notice: tempnam(): file created in the system's temporary directory in %s on line %d7041571Notice: tempnam(): file created in the system's temporary directory in %s on line %d7241673Notice: tempnam(): file created in the system's temporary directory in %s on line %d7441775Notice: tempnam(): file created in the system's temporary directory in %s on line %d7642077Notice: tempnam(): file created in the system's temporary directory in %s on line %d7842179Notice: tempnam(): file created in the system's temporary directory in %s on line %d8042281Notice: tempnam(): file created in the system's temporary directory in %s on line %d8242383Notice: tempnam(): file created in the system's temporary directory in %s on line %d8442485Notice: tempnam(): file created in the system's temporary directory in %s on line %d8642587Notice: tempnam(): file created in the system's temporary directory in %s on line %d8842689Notice: tempnam(): file created in the system's temporary directory in %s on line %d9042791Notice: tempnam(): file created in the system's temporary directory in %s on line %d9243093Notice: tempnam(): file created in the system's temporary directory in %s on line %d9443195Notice: tempnam(): file created in the system's temporary directory in %s on line %d9643297Notice: tempnam(): file created in the system's temporary directory in %s on line %d9843399Notice: tempnam(): file created in the system's temporary directory in %s on line %d100434101Notice: tempnam(): file created in the system's temporary directory in %s on line %d102435103Notice: tempnam(): file created in the system's temporary directory in %s on line %d104436105Notice: tempnam(): file created in the system's temporary directory in %s on line %d106437107Notice: tempnam(): file created in the system's temporary directory in %s on line %d108440109Notice: tempnam(): file created in the system's temporary directory in %s on line %d110441111Notice: tempnam(): file created in the system's temporary directory in %s on line %d112442113Notice: tempnam(): file created in the system's temporary directory in %s on line %d114443115Notice: tempnam(): file created in the system's temporary directory in %s on line %d116444117Notice: tempnam(): file created in the system's temporary directory in %s on line %d118445119Notice: tempnam(): file created in the system's temporary directory in %s on line %d120446121Notice: tempnam(): file created in the system's temporary directory in %s on line %d122447123Notice: tempnam(): file created in the system's temporary directory in %s on line %d124450125Notice: tempnam(): file created in the system's temporary directory in %s on line %d126451127Notice: tempnam(): file created in the system's temporary directory in %s on line %d128452129Notice: tempnam(): file created in the system's temporary directory in %s on line %d130453131Notice: tempnam(): file created in the system's temporary directory in %s on line %d132454133Notice: tempnam(): file created in the system's temporary directory in %s on line %d134455135Notice: tempnam(): file created in the system's temporary directory in %s on line %d136456137Notice: tempnam(): file created in the system's temporary directory in %s on line %d138457139Notice: tempnam(): file created in the system's temporary directory in %s on line %d140460141Notice: tempnam(): file created in the system's temporary directory in %s on line %d142461143Notice: tempnam(): file created in the system's temporary directory in %s on line %d144462145Notice: tempnam(): file created in the system's temporary directory in %s on line %d146463147Notice: tempnam(): file created in the system's temporary directory in %s on line %d148464149Notice: tempnam(): file created in the system's temporary directory in %s on line %d150465151Notice: tempnam(): file created in the system's temporary directory in %s on line %d152466153Notice: tempnam(): file created in the system's temporary directory in %s on line %d154467155Notice: tempnam(): file created in the system's temporary directory in %s on line %d156470157Notice: tempnam(): file created in the system's temporary directory in %s on line %d158471159Notice: tempnam(): file created in the system's temporary directory in %s on line %d160472161Notice: tempnam(): file created in the system's temporary directory in %s on line %d162473163Notice: tempnam(): file created in the system's temporary directory in %s on line %d164474165Notice: tempnam(): file created in the system's temporary directory in %s on line %d166475167Notice: tempnam(): file created in the system's temporary directory in %s on line %d168476169Notice: tempnam(): file created in the system's temporary directory in %s on line %d170477171Notice: tempnam(): file created in the system's temporary directory in %s on line %d172500173Notice: tempnam(): file created in the system's temporary directory in %s on line %d174501175Notice: tempnam(): file created in the system's temporary directory in %s on line %d176502177Notice: tempnam(): file created in the system's temporary directory in %s on line %d178503179Notice: tempnam(): file created in the system's temporary directory in %s on line %d180504181Notice: tempnam(): file created in the system's temporary directory in %s on line %d182505183Notice: tempnam(): file created in the system's temporary directory in %s on line %d184506185Notice: tempnam(): file created in the system's temporary directory in %s on line %d186507187Notice: tempnam(): file created in the system's temporary directory in %s on line %d188510189Notice: tempnam(): file created in the system's temporary directory in %s on line %d190511191Notice: tempnam(): file created in the system's temporary directory in %s on line %d192512193Notice: tempnam(): file created in the system's temporary directory in %s on line %d194513195Notice: tempnam(): file created in the system's temporary directory in %s on line %d196514197Notice: tempnam(): file created in the system's temporary directory in %s on line %d198515199Notice: tempnam(): file created in the system's temporary directory in %s on line %d200516201Notice: tempnam(): file created in the system's temporary directory in %s on line %d202517203Notice: tempnam(): file created in the system's temporary directory in %s on line %d204520205Notice: tempnam(): file created in the system's temporary directory in %s on line %d206521207Notice: tempnam(): file created in the system's temporary directory in %s on line %d208522209Notice: tempnam(): file created in the system's temporary directory in %s on line %d210523211Notice: tempnam(): file created in the system's temporary directory in %s on line %d212524213Notice: tempnam(): file created in the system's temporary directory in %s on line %d214525215Notice: tempnam(): file created in the system's temporary directory in %s on line %d216526217Notice: tempnam(): file created in the system's temporary directory in %s on line %d218527219Notice: tempnam(): file created in the system's temporary directory in %s on line %d220530221Notice: tempnam(): file created in the system's temporary directory in %s on line %d222531223Notice: tempnam(): file created in the system's temporary directory in %s on line %d224532225Notice: tempnam(): file created in the system's temporary directory in %s on line %d226533227Notice: tempnam(): file created in the system's temporary directory in %s on line %d228534229Notice: tempnam(): file created in the system's temporary directory in %s on line %d230535231Notice: tempnam(): file created in the system's temporary directory in %s on line %d232536233Notice: tempnam(): file created in the system's temporary directory in %s on line %d234537235Notice: tempnam(): file created in the system's temporary directory in %s on line %d236540237Notice: tempnam(): file created in the system's temporary directory in %s on line %d238541239Notice: tempnam(): file created in the system's temporary directory in %s on line %d240542241Notice: tempnam(): file created in the system's temporary directory in %s on line %d242543243Notice: tempnam(): file created in the system's temporary directory in %s on line %d244544245Notice: tempnam(): file created in the system's temporary directory in %s on line %d246545247Notice: tempnam(): file created in the system's temporary directory in %s on line %d248546249Notice: tempnam(): file created in the system's temporary directory in %s on line %d250547251Notice: tempnam(): file created in the system's temporary directory in %s on line %d252550253Notice: tempnam(): file created in the system's temporary directory in %s on line %d254551255Notice: tempnam(): file created in the system's temporary directory in %s on line %d256552257Notice: tempnam(): file created in the system's temporary directory in %s on line %d258553259Notice: tempnam(): file created in the system's temporary directory in %s on line %d260554261Notice: tempnam(): file created in the system's temporary directory in %s on line %d262555263Notice: tempnam(): file created in the system's temporary directory in %s on line %d264556265Notice: tempnam(): file created in the system's temporary directory in %s on line %d266557267Notice: tempnam(): file created in the system's temporary directory in %s on line %d268560269Notice: tempnam(): file created in the system's temporary directory in %s on line %d270561271Notice: tempnam(): file created in the system's temporary directory in %s on line %d272562273Notice: tempnam(): file created in the system's temporary directory in %s on line %d274563275Notice: tempnam(): file created in the system's temporary directory in %s on line %d276564277Notice: tempnam(): file created in the system's temporary directory in %s on line %d278565279Notice: tempnam(): file created in the system's temporary directory in %s on line %d280566281Notice: tempnam(): file created in the system's temporary directory in %s on line %d282567283Notice: tempnam(): file created in the system's temporary directory in %s on line %d284570285Notice: tempnam(): file created in the system's temporary directory in %s on line %d286571287Notice: tempnam(): file created in the system's temporary directory in %s on line %d288572289Notice: tempnam(): file created in the system's temporary directory in %s on line %d290573291Notice: tempnam(): file created in the system's temporary directory in %s on line %d292574293Notice: tempnam(): file created in the system's temporary directory in %s on line %d294575295Notice: tempnam(): file created in the system's temporary directory in %s on line %d296576297Notice: tempnam(): file created in the system's temporary directory in %s on line %d298577299Notice: tempnam(): file created in the system's temporary directory in %s on line %d300600301Notice: tempnam(): file created in the system's temporary directory in %s on line %d302601303Notice: tempnam(): file created in the system's temporary directory in %s on line %d304602305Notice: tempnam(): file created in the system's temporary directory in %s on line %d306603307Notice: tempnam(): file created in the system's temporary directory in %s on line %d308604309Notice: tempnam(): file created in the system's temporary directory in %s on line %d310605311Notice: tempnam(): file created in the system's temporary directory in %s on line %d312606313Notice: tempnam(): file created in the system's temporary directory in %s on line %d314607315Notice: tempnam(): file created in the system's temporary directory in %s on line %d316610317Notice: tempnam(): file created in the system's temporary directory in %s on line %d318611319Notice: tempnam(): file created in the system's temporary directory in %s on line %d320612321Notice: tempnam(): file created in the system's temporary directory in %s on line %d322613323Notice: tempnam(): file created in the system's temporary directory in %s on line %d324614325Notice: tempnam(): file created in the system's temporary directory in %s on line %d326615327Notice: tempnam(): file created in the system's temporary directory in %s on line %d328616329Notice: tempnam(): file created in the system's temporary directory in %s on line %d330617331Notice: tempnam(): file created in the system's temporary directory in %s on line %d332620333Notice: tempnam(): file created in the system's temporary directory in %s on line %d334621335Notice: tempnam(): file created in the system's temporary directory in %s on line %d336622337Notice: tempnam(): file created in the system's temporary directory in %s on line %d338623339Notice: tempnam(): file created in the system's temporary directory in %s on line %d340624341Notice: tempnam(): file created in the system's temporary directory in %s on line %d342625343Notice: tempnam(): file created in the system's temporary directory in %s on line %d344626345Notice: tempnam(): file created in the system's temporary directory in %s on line %d346627347Notice: tempnam(): file created in the system's temporary directory in %s on line %d348630349Notice: tempnam(): file created in the system's temporary directory in %s on line %d350631351Notice: tempnam(): file created in the system's temporary directory in %s on line %d352632353Notice: tempnam(): file created in the system's temporary directory in %s on line %d354633355Notice: tempnam(): file created in the system's temporary directory in %s on line %d356634357Notice: tempnam(): file created in the system's temporary directory in %s on line %d358635359Notice: tempnam(): file created in the system's temporary directory in %s on line %d360636361Notice: tempnam(): file created in the system's temporary directory in %s on line %d362637363Notice: tempnam(): file created in the system's temporary directory in %s on line %d364640365Notice: tempnam(): file created in the system's temporary directory in %s on line %d366641367Notice: tempnam(): file created in the system's temporary directory in %s on line %d368642369Notice: tempnam(): file created in the system's temporary directory in %s on line %d370643371Notice: tempnam(): file created in the system's temporary directory in %s on line %d372644373Notice: tempnam(): file created in the system's temporary directory in %s on line %d374645375Notice: tempnam(): file created in the system's temporary directory in %s on line %d376646377Notice: tempnam(): file created in the system's temporary directory in %s on line %d378647379Notice: tempnam(): file created in the system's temporary directory in %s on line %d380650381Notice: tempnam(): file created in the system's temporary directory in %s on line %d382651383Notice: tempnam(): file created in the system's temporary directory in %s on line %d384652385Notice: tempnam(): file created in the system's temporary directory in %s on line %d386653387Notice: tempnam(): file created in the system's temporary directory in %s on line %d388654389Notice: tempnam(): file created in the system's temporary directory in %s on line %d390655391Notice: tempnam(): file created in the system's temporary directory in %s on line %d392656393Notice: tempnam(): file created in the system's temporary directory in %s on line %d394657395Notice: tempnam(): file created in the system's temporary directory in %s on line %d396660397Notice: tempnam(): file created in the system's temporary directory in %s on line %d398661399Notice: tempnam(): file created in the system's temporary directory in %s on line %d400662401Notice: tempnam(): file created in the system's temporary directory in %s on line %d402663403Notice: tempnam(): file created in the system's temporary directory in %s on line %d404664405Notice: tempnam(): file created in the system's temporary directory in %s on line %d406665407Notice: tempnam(): file created in the system's temporary directory in %s on line %d408666409Notice: tempnam(): file created in the system's temporary directory in %s on line %d410667411Notice: tempnam(): file created in the system's temporary directory in %s on line %d412670413Notice: tempnam(): file created in the system's temporary directory in %s on line %d414671415Notice: tempnam(): file created in the system's temporary directory in %s on line %d416672417Notice: tempnam(): file created in the system's temporary directory in %s on line %d418673419Notice: tempnam(): file created in the system's temporary directory in %s on line %d420674421Notice: tempnam(): file created in the system's temporary directory in %s on line %d422675423Notice: tempnam(): file created in the system's temporary directory in %s on line %d424676425Notice: tempnam(): file created in the system's temporary directory in %s on line %d426677427*** Done ***...

Full Screen

Full Screen

tempnam_variation4-0.phpt

Source:tempnam_variation4-0.phpt Github

copy

Full Screen

2Test tempnam() function: usage variations - permissions(0000 to 0350) of dir3--SKIPIF--4<?php5if (substr(PHP_OS, 0, 3) == 'WIN') {6    die('skip Not valid for Windows');7}8require __DIR__ . '/../skipif_root.inc';9?>10--FILE--11<?php12/* Trying to create the file in a dir with permissions from 0000 to 0350,13     Allowable permissions: files are expected to be created in the input dir14     Non-allowable permissions: files are expected to be created in '/tmp' dir15*/16echo "*** Testing tempnam() with dir of permissions from 0000 to 0350 ***\n";17$file_path = __DIR__;18$dir_name = $file_path."/tempnam_variation4-0";19$prefix = "tempnamVar4.";20mkdir($dir_name);21for($mode = 0000; $mode <= 0350; $mode++) {22  chmod($dir_name, $mode);23  $file_name = tempnam($dir_name, $prefix);24  if(file_exists($file_name) ) {25    if (dirname($file_name) != $dir_name) {26      /* Either there's a notice or error */27       printf("%o\n", $mode);28      if (realpath(dirname($file_name)) != realpath(sys_get_temp_dir())) {29         echo " created in unexpected dir\n";30      }31    }32    unlink($file_name);33  }34  else {35    print("FAILED: File is not created\n");36  }37}38rmdir($dir_name);39echo "*** Done ***\n";40?>41--EXPECTF--42*** Testing tempnam() with dir of permissions from 0000 to 0350 ***43Notice: tempnam(): file created in the system's temporary directory in %s on line %d44Notice: tempnam(): file created in the system's temporary directory in %s on line %d45146Notice: tempnam(): file created in the system's temporary directory in %s on line %d47248Notice: tempnam(): file created in the system's temporary directory in %s on line %d49350Notice: tempnam(): file created in the system's temporary directory in %s on line %d51452Notice: tempnam(): file created in the system's temporary directory in %s on line %d53554Notice: tempnam(): file created in the system's temporary directory in %s on line %d55656Notice: tempnam(): file created in the system's temporary directory in %s on line %d57758Notice: tempnam(): file created in the system's temporary directory in %s on line %d591060Notice: tempnam(): file created in the system's temporary directory in %s on line %d611162Notice: tempnam(): file created in the system's temporary directory in %s on line %d631264Notice: tempnam(): file created in the system's temporary directory in %s on line %d651366Notice: tempnam(): file created in the system's temporary directory in %s on line %d671468Notice: tempnam(): file created in the system's temporary directory in %s on line %d691570Notice: tempnam(): file created in the system's temporary directory in %s on line %d711672Notice: tempnam(): file created in the system's temporary directory in %s on line %d731774Notice: tempnam(): file created in the system's temporary directory in %s on line %d752076Notice: tempnam(): file created in the system's temporary directory in %s on line %d772178Notice: tempnam(): file created in the system's temporary directory in %s on line %d792280Notice: tempnam(): file created in the system's temporary directory in %s on line %d812382Notice: tempnam(): file created in the system's temporary directory in %s on line %d832484Notice: tempnam(): file created in the system's temporary directory in %s on line %d852586Notice: tempnam(): file created in the system's temporary directory in %s on line %d872688Notice: tempnam(): file created in the system's temporary directory in %s on line %d892790Notice: tempnam(): file created in the system's temporary directory in %s on line %d913092Notice: tempnam(): file created in the system's temporary directory in %s on line %d933194Notice: tempnam(): file created in the system's temporary directory in %s on line %d953296Notice: tempnam(): file created in the system's temporary directory in %s on line %d973398Notice: tempnam(): file created in the system's temporary directory in %s on line %d9934100Notice: tempnam(): file created in the system's temporary directory in %s on line %d10135102Notice: tempnam(): file created in the system's temporary directory in %s on line %d10336104Notice: tempnam(): file created in the system's temporary directory in %s on line %d10537106Notice: tempnam(): file created in the system's temporary directory in %s on line %d10740108Notice: tempnam(): file created in the system's temporary directory in %s on line %d10941110Notice: tempnam(): file created in the system's temporary directory in %s on line %d11142112Notice: tempnam(): file created in the system's temporary directory in %s on line %d11343114Notice: tempnam(): file created in the system's temporary directory in %s on line %d11544116Notice: tempnam(): file created in the system's temporary directory in %s on line %d11745118Notice: tempnam(): file created in the system's temporary directory in %s on line %d11946120Notice: tempnam(): file created in the system's temporary directory in %s on line %d12147122Notice: tempnam(): file created in the system's temporary directory in %s on line %d12350124Notice: tempnam(): file created in the system's temporary directory in %s on line %d12551126Notice: tempnam(): file created in the system's temporary directory in %s on line %d12752128Notice: tempnam(): file created in the system's temporary directory in %s on line %d12953130Notice: tempnam(): file created in the system's temporary directory in %s on line %d13154132Notice: tempnam(): file created in the system's temporary directory in %s on line %d13355134Notice: tempnam(): file created in the system's temporary directory in %s on line %d13556136Notice: tempnam(): file created in the system's temporary directory in %s on line %d13757138Notice: tempnam(): file created in the system's temporary directory in %s on line %d13960140Notice: tempnam(): file created in the system's temporary directory in %s on line %d14161142Notice: tempnam(): file created in the system's temporary directory in %s on line %d14362144Notice: tempnam(): file created in the system's temporary directory in %s on line %d14563146Notice: tempnam(): file created in the system's temporary directory in %s on line %d14764148Notice: tempnam(): file created in the system's temporary directory in %s on line %d14965150Notice: tempnam(): file created in the system's temporary directory in %s on line %d15166152Notice: tempnam(): file created in the system's temporary directory in %s on line %d15367154Notice: tempnam(): file created in the system's temporary directory in %s on line %d15570156Notice: tempnam(): file created in the system's temporary directory in %s on line %d15771158Notice: tempnam(): file created in the system's temporary directory in %s on line %d15972160Notice: tempnam(): file created in the system's temporary directory in %s on line %d16173162Notice: tempnam(): file created in the system's temporary directory in %s on line %d16374164Notice: tempnam(): file created in the system's temporary directory in %s on line %d16575166Notice: tempnam(): file created in the system's temporary directory in %s on line %d16776168Notice: tempnam(): file created in the system's temporary directory in %s on line %d16977170Notice: tempnam(): file created in the system's temporary directory in %s on line %d171100172Notice: tempnam(): file created in the system's temporary directory in %s on line %d173101174Notice: tempnam(): file created in the system's temporary directory in %s on line %d175102176Notice: tempnam(): file created in the system's temporary directory in %s on line %d177103178Notice: tempnam(): file created in the system's temporary directory in %s on line %d179104180Notice: tempnam(): file created in the system's temporary directory in %s on line %d181105182Notice: tempnam(): file created in the system's temporary directory in %s on line %d183106184Notice: tempnam(): file created in the system's temporary directory in %s on line %d185107186Notice: tempnam(): file created in the system's temporary directory in %s on line %d187110188Notice: tempnam(): file created in the system's temporary directory in %s on line %d189111190Notice: tempnam(): file created in the system's temporary directory in %s on line %d191112192Notice: tempnam(): file created in the system's temporary directory in %s on line %d193113194Notice: tempnam(): file created in the system's temporary directory in %s on line %d195114196Notice: tempnam(): file created in the system's temporary directory in %s on line %d197115198Notice: tempnam(): file created in the system's temporary directory in %s on line %d199116200Notice: tempnam(): file created in the system's temporary directory in %s on line %d201117202Notice: tempnam(): file created in the system's temporary directory in %s on line %d203120204Notice: tempnam(): file created in the system's temporary directory in %s on line %d205121206Notice: tempnam(): file created in the system's temporary directory in %s on line %d207122208Notice: tempnam(): file created in the system's temporary directory in %s on line %d209123210Notice: tempnam(): file created in the system's temporary directory in %s on line %d211124212Notice: tempnam(): file created in the system's temporary directory in %s on line %d213125214Notice: tempnam(): file created in the system's temporary directory in %s on line %d215126216Notice: tempnam(): file created in the system's temporary directory in %s on line %d217127218Notice: tempnam(): file created in the system's temporary directory in %s on line %d219130220Notice: tempnam(): file created in the system's temporary directory in %s on line %d221131222Notice: tempnam(): file created in the system's temporary directory in %s on line %d223132224Notice: tempnam(): file created in the system's temporary directory in %s on line %d225133226Notice: tempnam(): file created in the system's temporary directory in %s on line %d227134228Notice: tempnam(): file created in the system's temporary directory in %s on line %d229135230Notice: tempnam(): file created in the system's temporary directory in %s on line %d231136232Notice: tempnam(): file created in the system's temporary directory in %s on line %d233137234Notice: tempnam(): file created in the system's temporary directory in %s on line %d235140236Notice: tempnam(): file created in the system's temporary directory in %s on line %d237141238Notice: tempnam(): file created in the system's temporary directory in %s on line %d239142240Notice: tempnam(): file created in the system's temporary directory in %s on line %d241143242Notice: tempnam(): file created in the system's temporary directory in %s on line %d243144244Notice: tempnam(): file created in the system's temporary directory in %s on line %d245145246Notice: tempnam(): file created in the system's temporary directory in %s on line %d247146248Notice: tempnam(): file created in the system's temporary directory in %s on line %d249147250Notice: tempnam(): file created in the system's temporary directory in %s on line %d251150252Notice: tempnam(): file created in the system's temporary directory in %s on line %d253151254Notice: tempnam(): file created in the system's temporary directory in %s on line %d255152256Notice: tempnam(): file created in the system's temporary directory in %s on line %d257153258Notice: tempnam(): file created in the system's temporary directory in %s on line %d259154260Notice: tempnam(): file created in the system's temporary directory in %s on line %d261155262Notice: tempnam(): file created in the system's temporary directory in %s on line %d263156264Notice: tempnam(): file created in the system's temporary directory in %s on line %d265157266Notice: tempnam(): file created in the system's temporary directory in %s on line %d267160268Notice: tempnam(): file created in the system's temporary directory in %s on line %d269161270Notice: tempnam(): file created in the system's temporary directory in %s on line %d271162272Notice: tempnam(): file created in the system's temporary directory in %s on line %d273163274Notice: tempnam(): file created in the system's temporary directory in %s on line %d275164276Notice: tempnam(): file created in the system's temporary directory in %s on line %d277165278Notice: tempnam(): file created in the system's temporary directory in %s on line %d279166280Notice: tempnam(): file created in the system's temporary directory in %s on line %d281167282Notice: tempnam(): file created in the system's temporary directory in %s on line %d283170284Notice: tempnam(): file created in the system's temporary directory in %s on line %d285171286Notice: tempnam(): file created in the system's temporary directory in %s on line %d287172288Notice: tempnam(): file created in the system's temporary directory in %s on line %d289173290Notice: tempnam(): file created in the system's temporary directory in %s on line %d291174292Notice: tempnam(): file created in the system's temporary directory in %s on line %d293175294Notice: tempnam(): file created in the system's temporary directory in %s on line %d295176296Notice: tempnam(): file created in the system's temporary directory in %s on line %d297177298Notice: tempnam(): file created in the system's temporary directory in %s on line %d299200300Notice: tempnam(): file created in the system's temporary directory in %s on line %d301201302Notice: tempnam(): file created in the system's temporary directory in %s on line %d303202304Notice: tempnam(): file created in the system's temporary directory in %s on line %d305203306Notice: tempnam(): file created in the system's temporary directory in %s on line %d307204308Notice: tempnam(): file created in the system's temporary directory in %s on line %d309205310Notice: tempnam(): file created in the system's temporary directory in %s on line %d311206312Notice: tempnam(): file created in the system's temporary directory in %s on line %d313207314Notice: tempnam(): file created in the system's temporary directory in %s on line %d315210316Notice: tempnam(): file created in the system's temporary directory in %s on line %d317211318Notice: tempnam(): file created in the system's temporary directory in %s on line %d319212320Notice: tempnam(): file created in the system's temporary directory in %s on line %d321213322Notice: tempnam(): file created in the system's temporary directory in %s on line %d323214324Notice: tempnam(): file created in the system's temporary directory in %s on line %d325215326Notice: tempnam(): file created in the system's temporary directory in %s on line %d327216328Notice: tempnam(): file created in the system's temporary directory in %s on line %d329217330Notice: tempnam(): file created in the system's temporary directory in %s on line %d331220332Notice: tempnam(): file created in the system's temporary directory in %s on line %d333221334Notice: tempnam(): file created in the system's temporary directory in %s on line %d335222336Notice: tempnam(): file created in the system's temporary directory in %s on line %d337223338Notice: tempnam(): file created in the system's temporary directory in %s on line %d339224340Notice: tempnam(): file created in the system's temporary directory in %s on line %d341225342Notice: tempnam(): file created in the system's temporary directory in %s on line %d343226344Notice: tempnam(): file created in the system's temporary directory in %s on line %d345227346Notice: tempnam(): file created in the system's temporary directory in %s on line %d347230348Notice: tempnam(): file created in the system's temporary directory in %s on line %d349231350Notice: tempnam(): file created in the system's temporary directory in %s on line %d351232352Notice: tempnam(): file created in the system's temporary directory in %s on line %d353233354Notice: tempnam(): file created in the system's temporary directory in %s on line %d355234356Notice: tempnam(): file created in the system's temporary directory in %s on line %d357235358Notice: tempnam(): file created in the system's temporary directory in %s on line %d359236360Notice: tempnam(): file created in the system's temporary directory in %s on line %d361237362Notice: tempnam(): file created in the system's temporary directory in %s on line %d363240364Notice: tempnam(): file created in the system's temporary directory in %s on line %d365241366Notice: tempnam(): file created in the system's temporary directory in %s on line %d367242368Notice: tempnam(): file created in the system's temporary directory in %s on line %d369243370Notice: tempnam(): file created in the system's temporary directory in %s on line %d371244372Notice: tempnam(): file created in the system's temporary directory in %s on line %d373245374Notice: tempnam(): file created in the system's temporary directory in %s on line %d375246376Notice: tempnam(): file created in the system's temporary directory in %s on line %d377247378Notice: tempnam(): file created in the system's temporary directory in %s on line %d379250380Notice: tempnam(): file created in the system's temporary directory in %s on line %d381251382Notice: tempnam(): file created in the system's temporary directory in %s on line %d383252384Notice: tempnam(): file created in the system's temporary directory in %s on line %d385253386Notice: tempnam(): file created in the system's temporary directory in %s on line %d387254388Notice: tempnam(): file created in the system's temporary directory in %s on line %d389255390Notice: tempnam(): file created in the system's temporary directory in %s on line %d391256392Notice: tempnam(): file created in the system's temporary directory in %s on line %d393257394Notice: tempnam(): file created in the system's temporary directory in %s on line %d395260396Notice: tempnam(): file created in the system's temporary directory in %s on line %d397261398Notice: tempnam(): file created in the system's temporary directory in %s on line %d399262400Notice: tempnam(): file created in the system's temporary directory in %s on line %d401263402Notice: tempnam(): file created in the system's temporary directory in %s on line %d403264404Notice: tempnam(): file created in the system's temporary directory in %s on line %d405265406Notice: tempnam(): file created in the system's temporary directory in %s on line %d407266408Notice: tempnam(): file created in the system's temporary directory in %s on line %d409267410Notice: tempnam(): file created in the system's temporary directory in %s on line %d411270412Notice: tempnam(): file created in the system's temporary directory in %s on line %d413271414Notice: tempnam(): file created in the system's temporary directory in %s on line %d415272416Notice: tempnam(): file created in the system's temporary directory in %s on line %d417273418Notice: tempnam(): file created in the system's temporary directory in %s on line %d419274420Notice: tempnam(): file created in the system's temporary directory in %s on line %d421275422Notice: tempnam(): file created in the system's temporary directory in %s on line %d423276424Notice: tempnam(): file created in the system's temporary directory in %s on line %d425277426*** Done ***...

Full Screen

Full Screen

Shape.swift

Source:Shape.swift Github

copy

Full Screen

1postfix operator ′ // unicode character "Prime": U+20322public postfix func ′<Element : MatrixElement>(vector : Vector<Element>) -> Matrix<Element> {3    return Matrix(row: vector.map { x in x.adjoint })4}5public postfix func ′<Element : MatrixElement>(matrix : Matrix<Element>) -> Matrix<Element> {6    return matrix.adjoint7}8public typealias BlockMatrix<Element : MatrixElement> = Matrix<Matrix<Element>>9public extension Matrix {10    11    internal mutating func transposeInPlace() {12        if _rows > 1 && _columns > 1 {13            var transposedElements = elements14            asPointer(elements) { elements in15                asMutablePointer(&transposedElements) { transposedElements in16                    for r in 0 ..< _rows {17                        for c in 0 ..< _columns {18                            let sourceIndex = c * _rows + r19                            let targetIndex = r * _columns + c20                            transposedElements[targetIndex] = elements[sourceIndex]21                        }22                    }23                }24            }25            elements = transposedElements26        }27        swap(&_rows, &_columns)28    }29    30    var transpose : Matrix {31        var m = self32        m.transposeInPlace()33        return m34    }35        36    internal mutating func adjointInPlace() {37        var transposedElements = elements38        asPointer(elements) { elements in39            asMutablePointer(&transposedElements) { transposedElements in40                for r in 0 ..< _rows {41                    for c in 0 ..< _columns {42                        let sourceIndex = c * _rows + r43                        let targetIndex = r * _columns + c44                        transposedElements[targetIndex] = elements[sourceIndex].adjoint45                    }46                }47            }48        }49        elements = transposedElements50        swap(&_rows, &_columns)51    }52    53    var adjoint: Matrix {54        var m = self55        m.adjointInPlace()56        return m57    }58    func column(_ c : Int) -> Matrix {59        precondition(c >= 0 && c < _columns)60        let start = c * _rows61        return Matrix(Array(elements[start ..< start + _rows]))62    }63    64    func row(_ r : Int) -> Matrix {65        precondition(r >= 0 && r < _rows)66        let elems = (0 ..< _columns).map { c in self[r, c] }67        return Matrix(row: elems)68    }69    70    mutating func reshape(rows : Int, columns : Int) {71        precondition(rows * columns == count)72        self._rows = rows73        self._columns = columns74    }75    76    func reshaped(rows : Int, columns : Int) -> Matrix {77        var A = self78        A.reshape(rows: rows, columns: columns)79        return A80    }81    82    mutating func extend(rows : Int, columns : Int, with : Element = .zero) {83        guard rows > _rows || columns > _columns else { return }84        var result = Matrix(repeating: with, rows: max(_rows, rows), columns: max(_columns, columns))85        result[0 ..< _rows, 0 ..< _columns] = self86        self = result87    }88    89    mutating func extend(rows : Int, with : Element = .zero) {90        extend(rows: rows, columns: columns, with: with)91    }92    93    mutating func extend(columns : Int, with : Element = .zero) {94        extend(rows: rows, columns: columns, with: with)95    }96    97    /// - todo: This is a naive implementation, needs to be optimized.98    subscript <R : Collection, C : Collection>(rowIndices : R, columnIndices : C) -> Matrix where R.Element == Int, C.Element == Int {99        get {100            var elems : [Element] = []101            for c in columnIndices {102                for r in rowIndices {103                    elems.append(self[r, c])104                }105            }106            return Matrix(rows: rowIndices.count, columns: columnIndices.count, elements: elems)107        }108        set {109            precondition(newValue.rows == rowIndices.count && newValue.columns == columnIndices.count)110            var index = 0111            let elems = newValue.elements112            for c in columnIndices {113                for r in rowIndices {114                    self[r, c] = elems[index]115                    index += 1116                }117            }118        }119    }120    121    init(columns : [Vector<Element>]) {122        var matrix = BlockMatrix<Element>(rows : 1, columns : columns.count)123        for (i, column) in columns.enumerated() {124            matrix[0, i] = Matrix(column)125        }126        self = flatten(matrix)127    }128    init(rows : [Vector<Element>]) {129        var matrix = BlockMatrix<Element>(rows : rows.count, columns : 1)130        for (i, row) in rows.enumerated() {131            matrix[i, 0] = Matrix(row: row)132        }133        self = flatten(matrix)134    }135    init(stackHorizontally stack: [Matrix<Element>]) {136        var matrix = BlockMatrix<Element>(rows : 1, columns : stack.count)137        for (i, m) in stack.enumerated() {138            matrix[0, i] = m139        }140        self = flatten(matrix)141    }142    init(stackVertically stack: [Matrix<Element>]) {143        var matrix = BlockMatrix<Element>(rows : stack.count, columns : 1)144        for (i, m) in stack.enumerated() {145            matrix[i, 0] = m146        }147        self = flatten(matrix)148    }149    150    var isQuasiUpperTriangle : Bool {151        let n = rows152        for c in 0 ..< columns {153            var r = c + 2154            while r < n {155                if self[r, c] != .zero { return false }156                r += 1157            }158        }159        return true160    }161    var isUpperTriangle : Bool {162        let n = rows163        for c in 0 ..< columns {164            var r = c + 1165            while r < n {166                if self[r, c] != .zero { return false }167                r += 1168            }169        }170        return true171    }172    173}174public func flatten<E : MatrixElement>(_ matrix : BlockMatrix<E>) -> Matrix<E> {175    var rowHeights = [Int](repeating: 0, count: matrix.rows)176    var columnWidths = [Int](repeating: 0, count: matrix.columns)177    var totalRows = 0178    var totalColumns = 0179    for r in 0 ..< matrix.rows {180        var height = 0181        for c in 0 ..< matrix.columns {182            height = max(height, matrix[r, c].rows)183        }184        rowHeights[r] = height185        totalRows += height186    }187    for c in 0 ..< matrix.columns {188        var width = 0189        for r in 0 ..< matrix.rows {190            width = max(width, matrix[r, c].columns)191        }192        columnWidths[c] = width193        totalColumns += width194    }195    var result = Matrix<E>(rows: totalRows, columns: totalColumns)196    var targetColumn = 0197    for c in 0 ..< matrix.columns {198        var targetRow = 0199        for r in 0 ..< matrix.rows {200            let m = matrix[r, c]201            result[targetRow ..< targetRow + m.rows, targetColumn ..< targetColumn + m.columns] = m202            targetRow += rowHeights[r]203        }204        targetColumn += columnWidths[c]205    }206    return result207}...

Full Screen

Full Screen

TimingMode.swift

Source:TimingMode.swift Github

copy

Full Screen

1//2//  TimingMode.swift3//  Animo4//5//  Copyright © 2016 eureka, Inc.6//7//  Permission is hereby granted, free of charge, to any person obtaining a copy8//  of this software and associated documentation files (the "Software"), to deal9//  in the Software without restriction, including without limitation the rights10//  to use, copy, modify, merge, publish, distribute, sublicense, and/or sell11//  copies of the Software, and to permit persons to whom the Software is12//  furnished to do so, subject to the following conditions:13//14//  The above copyright notice and this permission notice shall be included in all15//  copies or substantial portions of the Software.16//17//  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR18//  IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,19//  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE20//  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER21//  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,22//  OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE23//  SOFTWARE.24//25import QuartzCore26// MARK: - TimingMode27public enum TimingMode {28    29    30    // MARK: Public31    32    case linear33    case easeIn, easeOut, easeInOut34    case spring(damping: CGFloat)35    case discrete36    37    // http://easings.net/38    case easeInSine, easeOutSine, easeInOutSine39    case easeInQuad, easeOutQuad, easeInOutQuad40    case easeInCubic, easeOutCubic, easeInOutCubic41    case easeInQuart, easeOutQuart, easeInOutQuart42    case easeInQuint, easeOutQuint, easeInOutQuint43    case easeInExpo, easeOutExpo, easeInOutExpo44    case easeInCirc, easeOutCirc, easeInOutCirc45    case easeInBack, easeOutBack, easeInOutBack46    47    case custom(c1x: Float, c1y: Float, c2x: Float, c2y: Float)48    49    50    // MARK: Internal51    52    internal var timingFunction: CAMediaTimingFunction {53        54        switch self {55            56        case .linear:       return CAMediaTimingFunction(name: kCAMediaTimingFunctionLinear)57        case .easeIn:       return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseIn)58        case .easeOut:      return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseOut)59        case .easeInOut:    return CAMediaTimingFunction(name: kCAMediaTimingFunctionEaseInEaseOut)60        case .spring(let damping):    return CAMediaTimingFunction(controlPoints: 0.5, 1.1 + (Float(damping) / 3.0), 1, 1)61        case .discrete:       return CAMediaTimingFunction(controlPoints: 1, 0, 1, 1)62            63            // http://easings.net/64        case .easeInSine:       return CAMediaTimingFunction(controlPoints: 0.47, 0, 0.745, 0.715)65        case .easeOutSine:      return CAMediaTimingFunction(controlPoints: 0.39, 0.575, 0.565, 1)66        case .easeInOutSine:    return CAMediaTimingFunction(controlPoints: 0.445, 0.05, 0.55, 0.95)67        case .easeInQuad:       return CAMediaTimingFunction(controlPoints: 0.55, 0.085, 0.68, 0.53)68        case .easeOutQuad:      return CAMediaTimingFunction(controlPoints: 0.25, 0.46, 0.45, 0.94)69        case .easeInOutQuad:    return CAMediaTimingFunction(controlPoints: 0.455, 0.03, 0.515, 0.955)70        case .easeInCubic:      return CAMediaTimingFunction(controlPoints: 0.55, 0.055, 0.675, 0.19)71        case .easeOutCubic:     return CAMediaTimingFunction(controlPoints: 0.215, 0.61, 0.355, 1)72        case .easeInOutCubic:   return CAMediaTimingFunction(controlPoints: 0.645, 0.045, 0.355, 1)73        case .easeInQuart:      return CAMediaTimingFunction(controlPoints: 0.895, 0.03, 0.685, 0.22)74        case .easeOutQuart:     return CAMediaTimingFunction(controlPoints: 0.165, 0.84, 0.44, 1)75        case .easeInOutQuart:   return CAMediaTimingFunction(controlPoints: 0.77, 0, 0.175, 1)76        case .easeInQuint:      return CAMediaTimingFunction(controlPoints: 0.755, 0.05, 0.855, 0.06)77        case .easeOutQuint:     return CAMediaTimingFunction(controlPoints: 0.23, 1, 0.32, 1)78        case .easeInOutQuint:   return CAMediaTimingFunction(controlPoints: 0.86, 0, 0.07, 1)79        case .easeInExpo:       return CAMediaTimingFunction(controlPoints: 0.95, 0.05, 0.795, 0.035)80        case .easeOutExpo:      return CAMediaTimingFunction(controlPoints: 0.19, 1, 0.22, 1)81        case .easeInOutExpo:    return CAMediaTimingFunction(controlPoints: 1, 0, 0, 1)82        case .easeInCirc:       return CAMediaTimingFunction(controlPoints: 0.6, 0.04, 0.98, 0.335)83        case .easeOutCirc:      return CAMediaTimingFunction(controlPoints: 0.075, 0.82, 0.165, 1)84        case .easeInOutCirc:    return CAMediaTimingFunction(controlPoints: 0.785, 0.135, 0.15, 0.86)85        case .easeInBack:       return CAMediaTimingFunction(controlPoints: 0.6, -0.28, 0.735, 0.045)86        case .easeOutBack:      return CAMediaTimingFunction(controlPoints: 0.175, 0.885, 0.32, 1.275)87        case .easeInOutBack:    return CAMediaTimingFunction(controlPoints: 0.68, -0.55, 0.265, 1.55)88            89        case .custom(let c1x, let c1y, let c2x, let c2y):90            return CAMediaTimingFunction(controlPoints: c1x, c1y, c2x, c2y)91        }92    }93}...

Full Screen

Full Screen

ReflectionClass_getDefaultProperties_001.phpt

Source:ReflectionClass_getDefaultProperties_001.phpt Github

copy

Full Screen

1--TEST--2ReflectionClass::getDefaultProperties(), ReflectionClass::getStaticProperties()3--CREDITS--4Robin Fernandes <robinf@php.net>5Steve Seear <stevseea@php.net>6--FILE--7<?php8class A {9    static public $statPubC = "stat pubC in A";10    static protected $statProtC = "stat protC in A";11    static private $statPrivC = "stat privC in A";12    static public $statPubA = "stat pubA in A";13    static protected $statProtA = "stat protA in A";14    static private $statPrivA = "stat privA in A";15    public $pubC = "pubC in A";16    protected $protC = "protC in A";17    private $privC = "privC in A";18    public $pubA = "pubA in A";19    protected $protA = "protA in A";20    private $privA = "privA in A";21}22class B extends A {23    static public $statPubC = "stat pubC in B";24    static protected $statProtC = "stat protC in B";25    static private $statPrivC = "stat privC in B";26    static public $statPubB = "stat pubB in B";27    static protected $statProtB = "stat protB in B";28    static private $statPrivB = "stat privB in B";29    public $pubC = "pubC in B";30    protected $protC = "protC in B";31    private $privC = "privC in B";32    public $pubB = "pubB in B";33    protected $protB = "protB in B";34    private $privB = "privB in B";35}36class C extends B {37    static public $statPubC = "stat pubC in C";38    static protected $statProtC = "stat protC in C";39    static private $statPrivC = "stat privC in C";40    public $pubC = "pubC in C";41    protected $protC = "protC in C";42    private $privC = "privC in C";43}44class X {45    static public $statPubC = "stat pubC in X";46    static protected $statProtC = "stat protC in X";47    static private $statPrivC = "stat privC in X";48    public $pubC = "pubC in X";49    protected $protC = "protC in X";50    private $privC = "privC in X";51}52$classes = array('A', 'B', 'C', 'X');53foreach ($classes as $class) {54    $rc = new ReflectionClass($class);55    echo "\n\n---- Static properties in $class ----\n";56    print_r($rc->getStaticProperties());57    echo "\n\n---- Default properties in $class ----\n";58    print_r($rc->getDefaultProperties());59}60?>61--EXPECT--62---- Static properties in A ----63Array64(65    [statPubC] => stat pubC in A66    [statProtC] => stat protC in A67    [statPrivC] => stat privC in A68    [statPubA] => stat pubA in A69    [statProtA] => stat protA in A70    [statPrivA] => stat privA in A71)72---- Default properties in A ----73Array74(75    [statPubC] => stat pubC in A76    [statProtC] => stat protC in A77    [statPrivC] => stat privC in A78    [statPubA] => stat pubA in A79    [statProtA] => stat protA in A80    [statPrivA] => stat privA in A81    [pubC] => pubC in A82    [protC] => protC in A83    [privC] => privC in A84    [pubA] => pubA in A85    [protA] => protA in A86    [privA] => privA in A87)88---- Static properties in B ----89Array90(91    [statPubC] => stat pubC in B92    [statProtC] => stat protC in B93    [statPrivC] => stat privC in B94    [statPubB] => stat pubB in B95    [statProtB] => stat protB in B96    [statPrivB] => stat privB in B97    [statPubA] => stat pubA in A98    [statProtA] => stat protA in A99)100---- Default properties in B ----101Array102(103    [statPubC] => stat pubC in B104    [statProtC] => stat protC in B105    [statPrivC] => stat privC in B106    [statPubB] => stat pubB in B107    [statProtB] => stat protB in B108    [statPrivB] => stat privB in B109    [statPubA] => stat pubA in A110    [statProtA] => stat protA in A111    [pubC] => pubC in B112    [protC] => protC in B113    [privC] => privC in B114    [pubB] => pubB in B115    [protB] => protB in B116    [privB] => privB in B117    [pubA] => pubA in A118    [protA] => protA in A119)120---- Static properties in C ----121Array122(123    [statPubC] => stat pubC in C124    [statProtC] => stat protC in C125    [statPrivC] => stat privC in C126    [statPubB] => stat pubB in B127    [statProtB] => stat protB in B128    [statPubA] => stat pubA in A129    [statProtA] => stat protA in A130)131---- Default properties in C ----132Array133(134    [statPubC] => stat pubC in C135    [statProtC] => stat protC in C136    [statPrivC] => stat privC in C137    [statPubB] => stat pubB in B138    [statProtB] => stat protB in B139    [statPubA] => stat pubA in A140    [statProtA] => stat protA in A141    [pubC] => pubC in C142    [protC] => protC in C143    [privC] => privC in C144    [pubB] => pubB in B145    [protB] => protB in B146    [pubA] => pubA in A147    [protA] => protA in A148)149---- Static properties in X ----150Array151(152    [statPubC] => stat pubC in X153    [statProtC] => stat protC in X154    [statPrivC] => stat privC in X155)156---- Default properties in X ----157Array158(159    [statPubC] => stat pubC in X160    [statProtC] => stat protC in X161    [statPrivC] => stat privC in X162    [pubC] => pubC in X163    [protC] => protC in X164    [privC] => privC in X165)...

Full Screen

Full Screen

in

Using AI Code Generation

copy

Full Screen

1import Foundation2class QuickSort{3    func partition<T: Comparable>(_ array: inout [T], low: Int, high: Int) -> Int {4        for j in low..<high {5            if array[j] <= pivot {6                (array[i], array[j]) = (array[j], array[i])7            }8        }9        (array[i], array[high]) = (array[high], array[i])10    }11    func quickSort<T: Comparable>(_ array: inout [T], low: Int, high: Int) {12        if low < high {13            let pi = partition(&array, low: low, high: high)14            quickSort(&array, low: low, high: pi - 1)15            quickSort(&array, low: pi + 1, high: high)16        }17    }18}19var obj = QuickSort()20obj.quickSort(&arr, low: 0, high: n - 1)21print ("Sorted array is:")22for i in 0..<n {23    print("%d ", arr[i])24}25import Foundation26class QuickSort{27    func partition<T: Comparable>(_ array: inout [T], low: Int, high: Int) -> Int {28        for j in low..<high {29            if array[j] <= pivot {30                (array[i], array[j]) = (array[j], array[i])31            }32        }33        (array[i], array[high]) = (array[high], array[i])34    }35    func quickSort<T: Comparable>(_ array: inout [T], low: Int, high: Int) {36        if low < high {37            let pi = partition(&array, low: low, high: high)38            quickSort(&array, low: low, high: pi - 1)39            quickSort(&array, low: pi + 1, high: high)40        }41    }42}

Full Screen

Full Screen

in

Using AI Code Generation

copy

Full Screen

1import Foundation2func swapElements(_ array: inout [Int],_ i: Int, _ j: Int) {3}4func quickSort(_ array: inout [Int],_ low: Int,_ high: Int) {5    if low < high {6        let pivot = partition(&array, low, high)7        quickSort(&array, low, pivot - 1)8        quickSort(&array, pivot + 1, high)9    }10}11func partition(_ array: inout [Int],_ low: Int,_ high: Int) -> Int {12    for j in low..<high {13        if array[j] <= pivot {14            swapElements(&array, i, j)15        }16    }17    swapElements(&array, i, high)18}19quickSort(&array, 0, array.count - 1)20print(array)21import Foundation22func merge(_ array: inout [Int],_ left: Int,_ middle: Int,_ right: Int) {23    var leftArray = [Int](repeating: 0, count: n1)24    var rightArray = [Int](repeating: 0, count: n2)25    for i in 0..<n1 {26    }27    for j in 0..<n2 {28    }29    while i < n1 && j < n2 {30        if leftArray[i] <= rightArray[j] {31        } else {32        }33    }34    while i < n1 {

Full Screen

Full Screen

in

Using AI Code Generation

copy

Full Screen

1import Foundation2func partition(_ array: inout [Int], _ low: Int, _ high: Int) -> Int {3    for j in low..<high {4        if array[j] < pivot {5            array.swapAt(i, j)6        }7    }8    array.swapAt(i + 1, high)9}10func quickSort(_ array: inout [Int], _ low: Int, _ high: Int) {11    if low < high {12        let pivot = partition(&array, low, high)13        quickSort(&array, low, pivot - 1)14        quickSort(&array, pivot + 1, high)15    }16}17quickSort(&array, 0, array.count - 1)18print(array)19import Foundation20func partition(_ array: inout [Int], _ low: Int, _ high: Int) -> Int {21    for j in low..<high {22        if array[j] < pivot {23            array.swapAt(i, j)24        }25    }26    array.swapAt(i + 1, high)27}28func quickSort(_ array: inout [Int], _ low: Int, _ high: Int) {29    if low < high {30        let pivot = partition(&array, low, high)31        quickSort(&array, low, pivot - 1)32        quickSort(&array, pivot + 1, high)33    }34}35quickSort(&array, 0, array.count - 1)36print(array)

Full Screen

Full Screen

in

Using AI Code Generation

copy

Full Screen

1import UIKit2func quickSort(inout array: [Int], left: Int, right: Int) {3    let pivot = array[(left + right) / 2]4    while i <= j {5        while array[i] < pivot {6        }7        while array[j] > pivot {8        }9        if i <= j {10        }11    }12    if left < j {13        quickSort(&array, left: left, right: j)14    }15    if i < right {16        quickSort(&array, left: i, right: right)17    }18}19quickSort(&array, left: 0, right: array.count - 1)20println(array)21import UIKit22func mergeSort(inout array: [Int], left: Int, right: Int) {23    if left >= right {24    }25    let middle = (left + right) / 226    mergeSort(&array, left: left, right: middle)27    mergeSort(&array, left: middle + 1, right: right)28    var tmp = [Int](count: right - left + 1, repeatedValue: 0)29    while i <= middle && j <= right {30        if array[i] < array[j] {31        } else {32        }33    }34    while i <= middle {35    }36    while j <= right {37    }38    for var l = 0; l < k; l++ {

Full Screen

Full Screen

in

Using AI Code Generation

copy

Full Screen

1func partition<T: Comparable>(array: inout [T], low: Int, high: Int) -> Int {2    for j in low..<high {3        if array[j] < pivot {4            array.swapAt(i, j)5        }6    }7    array.swapAt(i + 1, high)8}9func quickSort<T: Comparable>(array: inout [T], low: Int, high: Int) {10    if low < high {11        let partitionIndex = partition(array: &array, low: low, high: high)12        quickSort(array: &array, low: low, high: partitionIndex - 1)13        quickSort(array: &array, low: partitionIndex + 1, high: high)14    }15}16quickSort(array: &array, low: 0, high: array.count - 1)17print(array)18func partition<T: Comparable>(array: inout [T], low: Int, high: Int) -> Int {19    for j in low..<high {20        if array[j] < pivot {21            array.swapAt(i, j)22        }23    }24    array.swapAt(i + 1, high)25}26func quickSort<T: Comparable>(array: inout [T], low: Int, high: Int) {27    if low < high {28        let partitionIndex = partition(array: &array, low: low, high: high)29        quickSort(array: &array,

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Quick automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful