Wednesday, July 6, 2022

Recent Questions - Stack Overflow

Recent Questions - Stack Overflow

Recent Questions - Stack Overflow


Weird Play Store testing bug related to features not used by my FLutter app

Posted: 06 Jul 2022 02:11 PM PDT

I am trying to publish a flutter app to Google Play store. Google internal testing is posting this ANR crash only on "AQUOS sense2 SH-01L - DOCOMO" device (sdk 28).

Error message mentions quicksearchbox, LOGIN_ACCOUNTS_CHANGED, TikTok, which is weird as my app does not use any social media, accounts/logins, or search. Watching the video, the app is working, I do not see it crash.

It is also weird that I would get this only on one of many devices they test with. If I did something wrong on code, this would affect all devices (unless due to low memory or small screen or something like that which this does not seem to be the case here).

How can I troubleshoot this?

ANR in com.google.android.googlequicksearchbox:search;PID: 15056;Broadcast of Intent { act=android.accounts.LOGIN_ACCOUNTS_CHANGED flg=0x5000010 cmp=com.google.android.googlequicksearchbox/com.google.apps.tiktok.account.data.device.DeviceAccountsChangedReceiver_Receiver };  

Showing Tiktok followers in javascript

Posted: 06 Jul 2022 02:11 PM PDT

Does anyone know how to get tiktok followers of any user using JavaScript, how can i do this? i tried a npm module called tiktok-app-api, but it did not work.

How to utilize Burp with the Android Emulator without a user certificate or modifying the application?

Posted: 06 Jul 2022 02:10 PM PDT

In order to perform some Android Penetration Testing, I'd like to setup Burp to intercept traffic from the Android Emulator. Unfortunately, with later versions of Android, this requires modifying the manifest in order to include interception by a proxy with a user supplied certificate. Surely, there is a better / easier way?

SwiftUI, Core Data, and PhotoKit: Views not updating when state changes (state management hell)

Posted: 06 Jul 2022 02:10 PM PDT

I'm learning Swift/SwiftUI by building a photo organizer app. It displays a user's photo library in a grid like the built-in photos app, and there's a detail view where you can do things like favorite a photo or add it to the trash.

My app loads all the data and displays it fine, but the UI doesn't update when things change. I've debugged enough to confirm that my edits are applied to the underlying PHAssets and Core Data assets. It feels like the problem is that my views aren't re-rendering.

I used Dave DeLong's approach to create an abstraction layer that separates Core Data from SwiftUI. I have a singleton environment object called DataStore that handles all interaction with Core Data and the PHPhotoLibrary. When the app runs, the DataStore is created. It makes an AssetFetcher that grabs all assets from the photo library (and implements PHPhotoLibraryChangeObserver). DataStore iterates over the assets to create an index in Core Data. My views' viewmodels query core data for the index items and display them using the @Query property wrapper from Dave's post.

App.swift

@main  struct LbPhotos2App: App {      var body: some Scene {          WindowGroup {              ContentView()                  .environment(\.dataStore, DataStore.shared)          }      }  }  

PhotoGridView.swift (this is what contentview presents)

struct PhotoGridView: View {      @Environment(\.dataStore) private var dataStore : DataStore      @Query(.all) var indexAssets: QueryResults<IndexAsset>      @StateObject var vm = PhotoGridViewModel()             func updateVm() {          vm.createIndex(indexAssets)      }            var body: some View {          GeometryReader { geo in              VStack {                  HStack {                      Text("\(indexAssets.count) assets")                      Spacer()                      TrashView()                  }.padding(EdgeInsets(top: 4, leading: 16, bottom: 4, trailing: 16))                  ScrollView {                      ForEach(vm.sortedKeys, id: \.self) { key in                          let indexAssets = vm.index[key]                          let date = indexAssets?.first?.creationDate                          GridSectionView(titleDate:date, indexAssets:indexAssets!, geoSize: geo.size)                      }                  }.onTapGesture {                      updateVm()                  }              }.onAppear {                  updateVm()              }              .navigationDestination(for: IndexAsset.self) { indexAsset in                  AssetDetailView(indexAsset: indexAsset)              }          }      }        }  

PhotoGridViewModel.swift

class PhotoGridViewModel: ObservableObject {      @Published var index: [String:[IndexAsset]] = [:]      var indexAssets: QueryResults<IndexAsset>?                func createIndex() {          guard let assets = self.indexAssets else {return}          self.createIndex(assets)      }            func createIndex(_ queryResults: QueryResults<IndexAsset>) {          indexAssets = queryResults          if queryResults.count > 0 {              var lastDate = Date.distantFuture                            for i in 0..<queryResults.count {                  let item = queryResults[i]                  let isSameDay = isSameDay(firstDate: lastDate, secondDate: item.creationDate!)                  if isSameDay {                      self.index[item.creationDateKey!]?.append(item)                  } else {                      self.index[item.creationDateKey!] = [item]                  }                  lastDate = item.creationDate!              }          }          self.objectWillChange.send()                }            var sortedKeys: [String] {          return index.keys.sorted().reversed()      }            private func isSameDay(firstDate:Date, secondDate:Date) -> Bool {          return Calendar.current.isDate(              firstDate,              equalTo: secondDate,              toGranularity: .day          )      }     }  

Here's where I actually display the asset in GridSectionView.swift

LazyVGrid(columns: gridLayout, spacing: 2) {                  let size = geoSize.width/4                    ForEach(indexAssets, id:\.self) { indexAsset in                      NavigationLink(                          value: indexAsset,                          label: {                              AssetCellView(indexAsset: indexAsset, geoSize:geoSize)                          }                      ).frame(width: size, height: size)                          .buttonStyle(.borderless)                  }              }  

AssetCellView.swift

struct AssetCellView: View {      @StateObject var vm : AssetCellViewModel      var indexAsset : IndexAsset      var geoSize : CGSize            init(indexAsset: IndexAsset, geoSize: CGSize) {          self.indexAsset = indexAsset          self.geoSize = geoSize          _vm = StateObject(wrappedValue: AssetCellViewModel(indexAsset: indexAsset, geoSize: geoSize))      }                  var body: some View {          ZStack(alignment: .bottomTrailing) {              if (vm.indexAsset != nil && vm.image != nil) {                  vm.image?                      .resizable()                      .aspectRatio(contentMode: .fit)                      .border(.blue, width: vm.indexAsset!.isSelected ? 4 : 0)              }              if (vm.indexAsset != nil && vm.indexAsset!.isFavorite) {                  Image(systemName:"heart.fill")                      .resizable()                      .frame(width: 20, height: 20)                      .foregroundStyle(.ultraThickMaterial)                      .shadow(color: .black, radius: 12)                      .offset(x:-8, y:-8)              }          }                }  }    AssetCellViewModel.swift  class AssetCellViewModel: ObservableObject{      @Environment(\.dataStore) private var dataStore      @Published var image : Image?      var indexAsset : IndexAsset?      var geoSize : CGSize            init(indexAsset: IndexAsset? = nil, geoSize:CGSize) {          self.indexAsset = indexAsset          self.geoSize = geoSize          self.requestImage(targetSize: CGSize(width: geoSize.width/4, height: geoSize.width/4))      }            func setIndexAsset(_ indexAsset:IndexAsset, targetSize: CGSize) {          self.indexAsset = indexAsset          self.requestImage(targetSize: targetSize)      }            func requestImage(targetSize: CGSize? = nil) {          if (self.indexAsset != nil) {              dataStore.fetchImageForLocalIdentifier(                  id: indexAsset!.localIdentifier!,                  targetSize: targetSize,                  completionHandler: { image in                      withAnimation(Animation.easeInOut (duration:0.15)) {                          self.image = image                      }                  }              )          }      }  }  

some of DataStore.swift

public class DataStore : ObservableObject {      static let shared = DataStore()            let persistenceController = PersistenceController.shared      @ObservedObject var assetFetcher = AssetFetcher()             let dateFormatter = DateFormatter()      var imageManager = PHCachingImageManager()      let id = UUID().uuidString              init() {          print("🔶 init dataStore: \(self.id)")                  dateFormatter.dateFormat = "yyyy-MM-dd"          assetFetcher.iterateResults{ asset in              do {                  try self.registerAsset(                      localIdentifier: asset.localIdentifier,                      creationDate: asset.creationDate!,                      isFavorite: asset.isFavorite                  )              } catch {                  print("Error registering asset \(asset)")              }          }      }        func registerAsset(localIdentifier:String, creationDate:Date, isFavorite:Bool) throws {          let alreadyExists = indexAssetEntityWithLocalIdentifier(localIdentifier)          if alreadyExists != nil {  //            print("🔶 Asset already registered: \(localIdentifier)")  //            print(alreadyExists![0])              return          }                    let iae = IndexAssetEntity(context: self.viewContext)          iae.localIdentifier = localIdentifier          iae.creationDate = creationDate          iae.creationDateKey = dateFormatter.string(from: creationDate)          iae.isFavorite = isFavorite          iae.isSelected = false          iae.isTrashed = false                    self.viewContext.insert(iae)          try self.viewContext.save()          print("🔶 Registered asset: \(localIdentifier)")      }  

And AssetFetcher.swift

class AssetFetcher:NSObject, PHPhotoLibraryChangeObserver, ObservableObject {      @Published var fetchResults : PHFetchResult<PHAsset>? = nil       let id = UUID().uuidString        override init() {          super.init()          print("🔶 init assetfetcher: \(id)")          self.startFetchingAllPhotos()      }                deinit {          PHPhotoLibrary.shared().unregisterChangeObserver(self)      }               func startFetchingAllPhotos() {          getPermissionIfNecessary(completionHandler: {result in              print(result)          })          let fetchOptions = PHFetchOptions()          var datecomponents = DateComponents()          datecomponents.month = -3                    //TODO: request assets dynamically          let threeMonthsAgo = Calendar.current.date(byAdding: datecomponents, to:Date())                    fetchOptions.predicate = NSPredicate(format: "creationDate > %@ AND creationDate < %@", threeMonthsAgo! as NSDate, Date() as NSDate)          fetchOptions.sortDescriptors = [NSSortDescriptor(key: "creationDate", ascending: false)]          fetchOptions.wantsIncrementalChangeDetails = true          //        fetchOptions.fetchLimit = 1000          let results = PHAsset.fetchAssets(with: .image, options: fetchOptions)          PHPhotoLibrary.shared().register(self)          print("🔶 \(PHPhotoLibrary.shared())")          self.fetchResults = results      }            func iterateResults(_ callback:(_ asset: PHAsset) -> Void) {          print("iterateResults")          guard let unwrapped = self.fetchResults else {              return          }          for i in 0..<unwrapped.count {              callback(unwrapped.object(at: i))          }      }              func photoLibraryDidChange(_ changeInstance: PHChange) {          print("🔶 photoLibraryDidChange")          DispatchQueue.main.async {              if let changeResults = changeInstance.changeDetails(for: self.fetchResults!) {                  self.fetchResults = changeResults.fetchResultAfterChanges  //                self.dataStore.photoLibraryDidChange(changeInstance)  //                self.updateImages()                  self.objectWillChange.send()              }          }      }        }  

Is it possible to get week number automatically from datepicker based on user input in Flask form?

Posted: 06 Jul 2022 02:09 PM PDT

I'm totally new in Flask and I really have no idea how to pass only the week number from user input datepicker (year-month-day) into date = request.form.get ("week_number")). I've spent hours looking for a solution, and I doubt if it is even possible.

How do I allow Cognito users access to private content on my AWS static S3 bucket?

Posted: 06 Jul 2022 02:09 PM PDT

I have spent weeks going in circles over this. I have a static S3 website with several 'folders'. I would like to allow public access to the 'root' and 'public' (css, javascript, etc.) folders, but want to restrict access to a 'user' folder. I set up a User Pool & Group in Cognito that works well for my users (JWTs for customer usernames), but I am having one heck of a time connecting the dots! I have tried using the IAM policy (below), but I know I'm doing something wrong. Would love any suggestions on where to go from here... Anyone see errors on my policy language? Will a policy similar to this work despite having "Block All Public Access" enabled?

    "Version": "2012-10-17",      "Statement": [          {              "Sid": "AllowAccessToMyBucket",              "Effect": "Allow",              "Action": "s3:GetObject",              "Resource": "arn:aws:s3:::mybucket",              "Condition": {                  "StringEquals": {                      "s3:prefix": [ "", "public/*" ],                      "s3:delimiter": [ "/" ]                  }              }          },          {              "Sid": "AllowAccessToUserFolder",              "Effect": "Allow",              "Action": [ "s3:GetObject" ],              "Resource": [ "arn:aws:s3:::mybucket/user" ],              "Condition": {                  "StringLike": {                      "s3:prefix": [ "${aws:username}/*" ],                      "s3:delimiter": [ "/" ]                  }              }          }      ]  }  

What would happen if I were to drop this CREDENTIAL in my Azure DB

Posted: 06 Jul 2022 02:09 PM PDT

My main goal is to get Cross-Database queries working between two Azure Databases. In order to do so, I've come across Elastic Queries. The examples I've seen on how to get started with Elastic Queries show people creating a Master Key with encryption by password like so:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<password>';  GO   CREATE DATABASE SCOPED CREDENTIAL ElasticDBCredential WITH IDENTITY = 'ElasticUser', SECRET = '<password>';  GO  

Although my Database already has a Master Key, and I get this message when I try and drop the Master Key

Cannot drop master key because CREDENTIAL 'https://****.windows.net/sqldbauditlogs' is encrypted by it.

I have Audit Logs turned on for this DB and it is encrypted by the existing Master Key, apparently. I tried dropping the Credential doing this:

DROP DATABASE SCOPED CREDENTIAL [https://****.windows.net/sqldbauditlogs]  

But this also returns the error:

Cannot drop the credential 'https://****.windows.net/sqldbauditlogs' because it is being used.

How would I make it so it's "not in use" so that I can drop it OR I could use the existing Master Key, I just don't know how to figure out what it is currently...

Go cannot find internal package (package embed is not in GOROOT)

Posted: 06 Jul 2022 02:09 PM PDT

So i'm trying to compile an go 1.18 project with gcc-go. I'm using the docker build environment, but fail to use embed I searched wide and far for several days, but cannot resolve this issue. Please have a look if you can see a mistake. Also the project is outside of my GOPATH and i as well did not set GOROOT manually.

docker run --rm --net docker1 -v "$PWD":/usr/src/myapp -w /usr/src/myapp golang:1.18 make build  

which in the end runs:

go build -v -compiler gccgo -gccgoflags "-static -s -w" -o subspace ./cmd/subspace  

and finally fails with:

cmd/subspace/main.go:9:2: package embed is not in GOROOT (/usr/local/go/src/embed)  

ls -l /usr/local/go/src/embed

-rw-r--r-- 1 root root 13528 Jun  1 16:44 embed.go  -rw-r--r-- 1 root root   470 Jun  1 16:44 example_test.go  drwxr-xr-x 3 root root  4096 Jun  1 16:48 internal  

go env

GO111MODULE=""  GOARCH="amd64"  GOBIN=""  GOCACHE="/root/.cache/go-build"  GOENV="/root/.config/go/env"  GOEXE=""  GOEXPERIMENT=""  GOFLAGS=""  GOHOSTARCH="amd64"  GOHOSTOS="linux"  GOINSECURE=""  GOMODCACHE="/go/pkg/mod"  GONOPROXY=""  GONOSUMDB=""  GOOS="linux"  GOPATH="/go"  GOPRIVATE=""  GOPROXY="https://proxy.golang.org,direct"  GOROOT="/usr/local/go"  GOSUMDB="sum.golang.org"  GOTMPDIR=""  GOTOOLDIR="/usr/local/go/pkg/tool/linux_amd64"  GOVCS=""  GOVERSION="go1.18.3"  GCCGO="/usr/bin/gccgo"  GOAMD64="v1"  AR="ar"  CC="gcc"  CXX="g++"  CGO_ENABLED="1"  GOMOD="/usr/src/myapp/go.mod"  GOWORK=""  CGO_CFLAGS="-g -O2"  CGO_CPPFLAGS=""  CGO_CXXFLAGS="-g -O2"  CGO_FFLAGS="-g -O2"  CGO_LDFLAGS="-g -O2"  PKG_CONFIG="pkg-config"  GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build404973257=/tmp/go-build -gno-record-gcc-switches"  

main.go excerpt

package main    import (      "context"      "crypto/rand"      "crypto/rsa"      "crypto/tls"      "crypto/x509"      _ "embed"      "encoding/xml"      "flag"      "fmt"      "net"      "net/http"      "net/url"      "os"      "path/filepath"      "regexp"      "strconv"      "strings"      "time"        "github.com/julienschmidt/httprouter"      "github.com/pquerna/otp"        "github.com/crewjam/saml"      "github.com/crewjam/saml/samlsp"      "github.com/gorilla/securecookie"      log "github.com/sirupsen/logrus"      "golang.org/x/crypto/acme/autocert"  )    //go:generate bash version.sh  //go:embed version.txt  var Version string  

pandas.df.replace returning a TypeError: Unhashable type: 'list'

Posted: 06 Jul 2022 02:10 PM PDT

Sorry in advance if this question is formatted incorrectly--this is my first question on stack overflow.

I'm trying to convert multiple values within one column to a string value with pandas:

ort_raw['Location'] = ort_raw['Location'].replace({['1', 1]:['remote'],                                                     ['0',0]:['in_lab']})  

...where ort_raw is the df, 'Location' is a particular column name, and 1 as a string or int must be 'remote' while 0 as a string or int must be 'in_lab'. This chunk returns the following error:

TypeError: unhashable type: 'list'  

Thanks for any help!

Splitting a CSV file by column name with regular expression, with the pandas library

Posted: 06 Jul 2022 02:09 PM PDT

I have been trying to automate splitting up data from a CSV file by column name using the pandas library with python rather than having to the process manually. With my current code I have been able to filter said data with a regular expression label into it's own data frame, however I am not sure how to take said filtered values and use them as indexes to split the main CSV file into smaller files.

Here is my code so far as you can tell I haven't really gotten far.

import pandas as pd            def pivotChunk(path: str) -> pd.DataFrame:      labels = pd.read_csv(path,                           encoding = 'unicode_escape',                           engine ='python'                           )      filteredDF = labels.filter(regex='Total - ',axis=1)              if __name__ == '__main__':      pivotChunk('2.1.csv')  

And here is an example of the table I am working with:

|X|Total - example data|value1|value2|Total - data as examples|value3|value4|  |-|--------------------|------|------|------------------------|------|------|  |area 1|12|34|56|78|90|12|  |area 2|21|43|65|87|09|21|  |area 3|12|34|56|78|90|12|  |area 4|53|27|41|96|80|53|  

And what I want to end up with.

Table 1:

|X|Total - example data|value1|value2|  |-|--------------------|------|------|  |area 1|12|34|56|  |area 2|21|43|65|  |area 3|12|34|56|  |area 4|53|27|41|  

Table 2:

|X|Total - data as examples|value3|value4|  |-|------------------------|------|------|  |area 1|78|90|12|  |area 2|87|09|21|  |area 3|78|90|12|  |area 4|96|80|53|  

Python3 PIL: Attempting to produce an image with (x,y,RGB) data

Posted: 06 Jul 2022 02:10 PM PDT

I have a list of RGB values that I want to produce an image from, but I can't get past the first step of defining width and height for PIL without receiving ValueError: Size must be a tuple. This is my code:

from PIL import Image    width=73  height=880  img=Image.new(width,height,'RGB')  

How to query negative balance aging report at user level

Posted: 06 Jul 2022 02:11 PM PDT

[I'm trying to build a report in BigQuery to pull the number of days user has been in negative balance. For example if user A has negative balance since 7/1/2022, I would like the report to show user A's account has been negative for 5 days (giving that today is 7/6/2022).

Any help is appreciated.Thanks][1]

Date User Balance
2022-07-06 John Doe -100
2022-07-05 John Doe -100
2022-07-04 John Doe -100
2022-07-03 John Doe -100
2022-07-02 John Doe -100
2022-07-01 John Doe 20
2022-06-30 John Doe -300
2022-06-30 John Doe 538

Is the following code using options pattern?

Posted: 06 Jul 2022 02:08 PM PDT

I'm reading this article on Windows Services and came across some code that I'm wondering about.

static void Main(string[] args)  {      HostFactory.Run(x =>          {              x.Service<LoggingService>();              x.EnableServiceRecovery(r => r.RestartService(TimeSpan.FromSeconds(10)));              x.SetServiceName("TestService");              x.StartAutomatically();           }      );  }  

Is this Options pattern code? What does this code look like in another more intuitive way?

can't iterate over map containing objects from custom class

Posted: 06 Jul 2022 02:09 PM PDT

I have a map that I created to store several instances of a custom class I wrote. If I do a simple console.log(myMapName), I see the details in the output. I see the six entries in my map, I see the key values I stored them under, and then for each entry, I can expand it and see the internals of that instance of my custom class, including the stored values for each attribute in that class definition.

But if I try to use for(let[key,value] of myMapName) to loop over the instances of my class stored as entries in my map and write the key and value of each one to the console using console.log, I see nothing. I can't even get it to at least log the key value for each entry. I would not be surprised if I was doing something wrong to cause it not to log the details of the value of each entry, but the fact that it also refuses to at least list the key value stumps me.

I should mention that I am able to loop over a small test map I created and get the key and value output in the log. Shown here below:

// test map definition

  let myMap = new Map();    myMap.set('First',{name: 'John', age: '34'})    myMap.set('Second',{name: 'Mary', age: '24'})  

// I can loop over this simple map

  console.log(myMap)      for(let [key,value] of myMap){      console.log('key: ' + key)      console.log('value.name: ' + value.name)      console.log('value.age: ' + value.age)    }  

// log output for above

enter image description here

// but using the same loop structure for my map doesn't work

  for(let [key,value] of mgroups){      console.log('key: ' + key)      console.log('value: ' + value)      console.log('value.name: ' + value.name)    }  

I can do a simple console.log(mgroups) and see all of the entries and their details but I can't loop over them one by one.

One thing that caught my attention is that even in the log where I can see the six entries and their details, it shows Map(0) at the top of that log entry. This makes no sense to me since in the details below the six entries I see the size entry for the map and there it shows a value of 6.

Does anyone know of a detail has to be addressed when attempting to loop over the entries of a map that are instances of a custom class definition? I think this is the root cause since the only other difference I notice between my output and a test output I did of a simple make using standard object entries like {'name':'John', 'age':'34'} (aside from the fact that this test map showed the correct size of Map(2) at the top of its log output) was that for my map it shows {"KeyValue" => MyCustomClassName} and the simple test map just shows {"KeyValue" => Object}.

I'm sure I'll get a lot of "this has been asked" quick replies, but I have looked at this from many angles and tried a lot of different ways to loop it and have gotten nowhere, and I have tried looking at many other posted questions but they did not help. So, thanks to anyone who takes the time to provide a helpful reply.

g++ says class is abstract even though member functions are implemented [closed]

Posted: 06 Jul 2022 02:10 PM PDT

I followed the guide here for all 4 files: random.h, lin_con_gen.h, lin_con_gen.cpp, main.cpp https://www.quantstart.com/articles/Random-Number-Generation-via-Linear-Congruential-Generators-in-C/

and I tried running the clang g++ compilation of main via g++ main.cpp, and I also installed gcc-11 via homebrew, which gave me the same error, shown below.

$$: gcc-11 -o randomgen main.cpp  main.cpp: In function 'int main(int, char**)':  main.cpp:12:31: error: cannot declare variable 'lcg' to be of abstract type 'LinearCongruentialGenerator'      12 |   LinearCongruentialGenerator lcg(num_draws, init_seed);          |                               ^~~  In file included from main.cpp:2:  lin_con_gen.h:6:7: note:   because the following virtual functions are pure within 'LinearCongruentialGenerator':      6 | class LinearCongruentialGenerator : public RandomNumberGenerator {          |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~  In file included from lin_con_gen.h:4,                      from main.cpp:2:  random.h:26:16: note:     'virtual void RandomNumberGenerator::get_uniform_draws(std::vector<double>&)'      26 |   virtual void get_uniform_draws(std::vector<double>& draws) = 0;  

And pasting the exact header files for convenience...

lin_con_gen.h

#ifndef __LINEAR_CONGRUENTIAL_GENERATOR_H  #define __LINEAR_CONGRUENTIAL_GENERATOR_H    #include "random.h"    class LinearCongruentialGenerator : public RandomNumberGenerator  {  private:      double max_multiplier;    public:      LinearCongruentialGenerator(unsigned long _num_draws, unsigned long _init_seed = 1);      virtual ~LinearCongruentialGenerator(){};        virtual unsigned long get_random_integer() { return 0; };      virtual void get_uniform_draws(std::vector<double> draws){};  };    

No comments:

Post a Comment