https://github.com/Microsoft/CNTK
Raw File
Tip revision: 2c696260cf8ccb4353fac6f89d838a2830b740ed authored by liqfu on 12 December 2018, 00:57:54 UTC
update with code review
Tip revision: 2c69626
RNGHandle.h
//
// Copyright (c) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.md file in the project root for full license information.
//
// RNGHandle.h: An abstraction around a random number generator
//

#pragma once

#include "CommonMatrix.h"
#include <memory>

namespace Microsoft { namespace MSR { namespace CNTK {

class MATH_API RNGHandle
{
public:
    static std::shared_ptr<RNGHandle> Create(DEVICEID_TYPE deviceId, uint64_t seed, uint64_t offset = 0);
    
    virtual ~RNGHandle() {}

    DEVICEID_TYPE DeviceId() const
    {
        return m_deviceId;
    }

protected:
    RNGHandle(DEVICEID_TYPE deviceId)
        : m_deviceId(deviceId)
    {}

private:

    DEVICEID_TYPE m_deviceId;
};

}}}
back to top